2010-07-15 11 views
1

저는 소규모 프로젝트에서 일하는 소프트웨어 개발 팀원입니다. 우리는 2 개월 또는 3 개월 간의 연속 작업 후에 베타 수준의 제품을 출시 할 수 있다고 생각합니다.어떤 소프트웨어 개발 방법론이 필요합니까?

이것이 첫 번째 팀웍이므로 개발자 수가 적은 작은 프로젝트 (10 개 미만)에 대해 어떤 소프트웨어 개발 방법론을 제안하겠습니까?

+0

정확하게 당신이 여기 "개발 방법"에 의해 무엇을 의미합니까? 이것은 약간 넓고, 특히 당신이 무엇을 할 계획인지, 당신의 팀이 얼마나 경험이 있는지 알지 못한다면 ... –

+1

흠 ... 아마도 방법론을 의미할까요? 애자일, tdd, bdd 등? – cRichter

답변

6

소프트웨어 개발에 대한 두 가지 방법이 있습니다

  1. 쓰기 아래 당신이 할 건데, 그것은, 당신이 그것을 할 것을 동의 할.
  2. 물건을 개발하기 시작했으면 좋겠다고 생각하고, 끝날 때까지 반복하십시오.

두 가지 모두 자신의 신봉자이며 둘 다 다양한 이름으로 반복적으로 나타납니다. 각 신세대의 소프트웨어 개발자 (약 2 년마다, 이것은 빠르게 변화하는 산업이며 소프트웨어 개발자는 평소의 수명을가집니다)는 이전 세대의 접근 방식을 거부하고, 이전 세대의 방식을 재발견하고, 이름을 변경합니다. 펑키하고 그것을 하나의 진실한 길로 선언합니다.

접근 방식 중 하나를 선택하는 것은 (a) 고객 조직의 문화와 (b) 공급 업체 조직 (예 : 소프트웨어 개발자 팀)의 문화에 어느 정도 의존해야합니다.

그래서, 당신이 버튼 다운 방식으로 보수적 인 기업 접근 방식을 취하는 경우 1이 표시됩니다. 아래를 내려다보고 서핑 반바지를 입고 스케이트 보드에서 오늘 아침에 일하러왔다면 접근 방식 2로 가십시오.

그리고이 기사를 읽은 경우 가장 심각한 비트는 이 마지막 것 앞에 하나, 즉 '선택을 시작하는 것 ...'이것은 기술적 인 것보다는 문화적/조직적인 이슈입니다. 두 접근법은 많은 성공적인 프로젝트에서 사용되었지만 불완전한 프로젝트에 대한 독점권도 없습니다.

+1

나는 그 대답을 좋아한다. 아마도 두 가지 접근법을 서로 다른 수준에서 사용할 수 있습니다. 예를 들어 전반적인 목표를 적어두고 거기에 도달하는 데 사용할 수 있습니다. –

2

이것은 실제로 빌드하려는 대상에 따라 다릅니다. 프로젝트가 당신이 구축하고 일정한 간격을 가지기를 원하는 것이라면 Agile/Scrum과 같은 것이 매우 적합 할 것입니다.

하지만 정말 프로젝트가 릴리스 반복을 결정하는 것입니다 무엇에 따라 달라 등 등

1

난 당신이 조엘 테스트에서 시작이 목록의 대부분을 구현하려고 할 필요가 있다고 생각 : http://en.wikipedia.org/wiki/The_Joel_Test

그리고 제품 개발에 사용 KISS로 = 첫 번째 릴리스를 들면, & 바보 간단하게

또한 정말 좋은 시작 37 개 신호에서 실제 책, 사용 가능한 점점 :http://gettingreal.37signals.com/toc.php

+2

필자는 앰퍼샌드가 쉼표 여야한다고 생각합니다! 아무도 바보 같은 소프트웨어를 원한다 : p – RYFN

1

이것은 실제로 고객에게 달려 있습니다.

  • 고객이 고정 시간, 고정 자원, 고정 품질 (100 % 작업 코드)를 수용 할 수있는 경우

    , 약간 변수 범위, 나는 애자일 방법론을 선택하는 것이 좋습니다.
  • 고객이 위의 , 즉 현재, 난 당신이 원하는 방법을 선택하는 것이 좋습니다하지 민첩한 방법론을 사용 위한 전제 조건입니다 동의 할 수없는 경우

    .

중요한 것은 당신이 방법론을 가지고, 당신이가는 동안 일하는 것을 배우고, 지식을 사용하여 방법을 적용하는 것입니다.

0

폭포수를하지 마십시오. 절대로 작동하지 않으며 절대로 작동하지 않습니다. 생각 폭포는 작동 방법론입니다 벽에 머리를 두드리는 생각은 좋은 것입니다, 심지어 가장 튼튼한 벽이 어느 시점에서 무너져 내야하기 때문입니다.

스크럼 (XP는 약간 가혹한)과 같은 적절한 민첩한 방법론을 사용합니다. 또한, TDD, DDD, DBC와 같은 것들을 소개하면 좋을 것입니다.

+0

-1 : 폭포가 여러 번 일했습니다. 아닙니다. @Turing Complete가 정당화를 제공 한 것 이상으로 성명을 정당화하지 않을 것입니다. –

+0

예, 폭포는 상아탑에서 비 기술적 인 관리자 (및 소위 "컨설턴트"- 롤)의 젖은 꿈에서 작동합니다. 그러나 소프트웨어를 개발하는 가장 최악의 방법론 이라기보다는 차라리 RAD (나는 싫어한다.)와 카우보이 스타일 개발보다는 폭포를 쓰고 싶다. –

+1

폭포수 작업을 보았습니다. 미리 필요한 시간을 미리 결정할 수 있고 구현이 간단하면 상당히 잘 작동합니다. 그것의 큰 약점은 요구 사항을 변경하는 데 정말로 융통성이 없다는 것입니다. 그것의 나쁜 담당자에 대한 한 가지 이유는 그것이 좋지 않은 상황이 일반적으로 좋은 상황보다 훨씬 더 재미있을 수 있다는 것입니다. –

0

문맥 및 상황에 대한 더 나은 아이디어가없는 가장 좋은 대답으로 제안하지는 않겠지 만 개인적으로 린 (Lean)/간논 (Kanban) 방식의 팬이되어 가고 있습니다. 일반적으로 애자일/스크럼 방법 중 상당수는 때로는 적절하지만 항상은 아니지만 때로는 반 관리자라고 생각할 수 있습니다. 린 방식은 개발 자체보다는 전체 가치 흐름을 다루는 경향이 있습니다.

당신의 IT에 대한 자세한 내용을보실 수 있습니다 : http://www.limitedwipsociety.org/

관련 문제