Waterfall 및 Agile에 대한 주요 대안이 있습니까? [닫은]


35

누군가가 (재조합이 아닌) 크게 다른 방법론을 알고 있다면 특히 궁금합니다. 대안에 대한 경험을 쌓은 사람에게 특히 감사하겠습니다.

답변:


47

Wikipedia는이를 방법론 / 개발 프로세스 로 나열 합니다 .

  • 민첩성 -반복적이고 점진적인 개발을 기반으로 요구 사항과 솔루션이 자체 구성, 부서 간 팀 간의 협업을 통해 발전합니다.

  • 클린 룸 -클린 룸 프로세스의 초점은 결함 제거보다는 결함 예방에 있습니다.

  • 반복 -폭포수 모델의 약점에 대응하여 개발 된 주기적 소프트웨어 개발 프로세스. 초기 계획으로 시작하여 사이에 주기적 상호 작용이있는 배포로 끝납니다.
    반복 다이어그램

  • RAD- 신속한 프로토 타이핑을 위해 최소한의 계획을 사용합니다. RAD를 사용하여 개발 된 소프트웨어의 "계획"은 소프트웨어 자체 작성과 함께 인터리브됩니다.

  • RUP -Rational Unified Process (RUP)는 적용 가능한 반복 소프트웨어 개발 프로세스 프레임 워크로, 적절한 프로세스 요소를 선택하여 조정할 수 있습니다.

  • 나선형 -하향식 개념과 상향식 개념의 장점을 결합하기 위해 디자인과 단계에서 프로토 타이핑 요소를 결합합니다. 이 개발 모델은 프로토 타이핑 모델과 폭포수 모델의 기능을 결합합니다.
    나선형 모델 다이어그램

  • 폭포수 -개념, 개시, 분석, 설계, 건설, 테스트 및 유지 보수 단계를 통해 순차적으로 수행됩니다.
    폭포도

  • 린 (Lean) – 린 (Lean) 제조 및 린 (Lean) IT 원칙과 관행을 소프트웨어 개발 영역으로 변환 고객에게 가치를 부여하지 않는 모든 것은 낭비로 간주됩니다.

  • V 모델 -선형 방식으로 아래로 이동하는 대신 프로세스 단계가 코딩 단계 이후에 위쪽으로 구부러져 일반적인 V 모양을 형성합니다. V- 모델은 개발 수명주기의 각 단계와 관련 테스트 단계 간의 관계를 보여줍니다.
    v- 모델 다이어그램

  • TDD- 매우 짧은 개발주기의 반복에 의존합니다. 먼저 개발자는 원하는 개선 또는 새로운 기능을 정의하는 실패한 자동 테스트 사례를 작성한 다음 해당 테스트를 통과하는 코드를 생성하고 새로운 코드를 수용 가능한 표준으로 리팩토링합니다.


명확하고 간결한 답변에 감사드립니다. 나는 너무 오래된 학교인데, 나는 P.SE에 관한 많은 용어들이 들어 본 적이 없다.
마이클 라일리-AKA Gunny

7
TDD를 제외한 훌륭한 목록. 이는 수명주기가 아니라 개발 관행입니다.
Michael

18

카우보이 코딩

순수한 비정형, 비 관리 형, 자유형 개발. 마감일이나 명확한 목표가 없지만 기업 환경에서는 효과가없는 소규모 취미 프로젝트에 유용 할 수 있습니다.


2
예! 뱅뱅!
mlvljr

3
"회사 환경에서 작동하지 않을 수 있습니다". 당신을 말합니다! ;)
Bobby Tables

+1 Aaa, 멋지다! 나는 때때로 그것을한다. 그러나 나는이 "프로세스"를 명명하는 방법을 몰랐다 :)
Zzz

예-하바나!
ybakos

공식적인 성숙한 회사 환경에서는 사실입니다. 그러나 소기업에서는 "그냥 해봐야 할 것"이라는 생각이 꽤있을 수 있습니다.
JB King

4

나선 모형

나선형 모델은 하향식 개념과 상향식 개념의 장점을 결합하기 위해 디자인과 프로토 타이핑 단계의 요소를 결합한 소프트웨어 개발 프로세스입니다. 나선형 수명주기 모델 (또는 나선형 개발)이라고도하며 IT (정보 기술)에 사용되는 시스템 개발 방법 (SDM)입니다. 이 개발 모델은 프로토 타이핑 모델과 폭포수 모델의 기능을 결합합니다. 나선형 모델은 크고 비싸고 복잡한 프로젝트를위한 것입니다.

- 위키 백과 대체 텍스트


1

계획

클라이언트 (또는 최종 사용자)와 함께 앉아서 일련의 사용 사례를 설계하십시오.

디자인

몇 가지 맥주와 피자 위에 종이 / 화이트 보드에 시스템을 배치하십시오. 뭔가 약한 것처럼 보일 때 스니커.

확인

클라이언트 (또는 최종 사용자)와 함께 설계를 확인하고 요구 사항을 고정합니다.

암호

자기 설명.


"동결 요구 사항"은 지금까지 해본 것보다 가장 쉬운 것입니다.
저스틴 Schier

1

이 폭포 논쟁은 잠시 동안 민첩한 사상가들이 사용했습니다. 그들도 폭포의 "현실"을 "빨간색 경고"로 만났다.

소프트웨어 개발 프로젝트를 시작하면 사용 된 개발 방법론이 개발 된 코드의 속도와 품질에서 중요한 역할을 할 것임을 신속하게 알 수 있습니다. 애자일 방법론이 널리 사용되므로 이점을 이해하는 것이 중요합니다. 민첩성의 단점으로 인해 프로젝트 결과물에 가장 적합한 지 결정할 수 있습니다.

애자일 소프트웨어 개발은 ​​소프트웨어 엔지니어링 프로젝트를 수행하기위한 개념적 프레임 워크입니다. 대부분의 민첩한 방법은 일반적으로 1 ~ 4 주 동안 반복되는 짧은 타임 박스에서 소프트웨어를 개발하여 위험을 최소화하려고합니다. 각 반복은 자체 소형 소프트웨어 프로젝트와 유사하며 계획, 요구 사항 분석, 설계, 코딩, 테스트 및 문서화와 같은 새로운 기능의 소형 증분을 릴리스하는 데 필요한 모든 작업을 포함합니다.

개발 프로세스에 고객을 포함시키고 제품 제공을 담당하게되므로 회사에 좋은 프로세스입니다. 다른 한편으로 고객은 자신이 제품 개발에 참여한다는 사실을 알게되어 행복합니다.

애자일의 단점 :

  • 애자일은 너무 프로그래머 중심적이므로 조직 전체에서 작업의 균형을 맞추는 방법이 명확하지 않습니다.
  • 당신이가는 곳을 모른다면, 애자일은 당신을 거기에 데려 가지 않을 것입니다!
  • 명확한 요구없이 프레임 워크 생성
  • 언어 기능의 남용 (부적절하게).
  • 테스트 우선 정신이 없습니다.

AGILE의 대안으로 작동 할 수있는 흥미로운 방법론은 다음 세 가지 링크에서 가장 잘 볼 수 있습니다.

대체 민첩한 구현으로서의 Kanban

칸반 소프트웨어 개발

클라우드에서 린 소프트웨어 개발


3
당신이 어디로 가고 있는지 모른다면, 폭포는 당신을 거기에 도착하지 않을 것입니다!
Eric Wilson
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.