민첩한 개발 실제 전투

애자 (애자) 개발 소개

: Benpian의 시작하기 전에 약 애자일 개발에 대한 내용을 먼저 살펴
최초의 민첩한 선언문 :

  1. 프로세스와 도구를 통해 개인과 상호 작용
  2. 포괄적 인 문서를 통해 작업 소프트웨어
  3. 계약 협상을 통해 고객 협력
  4. 계획을 다음을 통해 변화에 대한 대응

개발 원칙에 따라 애자 그런 다음 볼 :

  • 우리의 우선 순위가 가장 높은 가치 소프트웨어의 초기 및 지속적인 제공을 통해 고객을 만족하는 것입니다.
  • 심지어 늦게 개발, 또한 수요의 변화를 환영했다. 민첩한 프로세스 하네스 변화는 우리의 고객을위한 경쟁 우위를 만들 수 있습니다.
  • 작업 소프트웨어를 자주 배달을 몇 주에서 몇 달까지 전달 간격, 가능한 한 짧게 배달 시간 간격.
  • 전체 프로젝트의 개발 과정, 비즈니스와 개발자는 매일 함께 일해야합니다.
  • 빌드 프로젝트는 주위 사람들을 동기 부여. 필요한 환경 및 지원을 제공하고이 작업을 완수하기 위해 신뢰합니다.
  • 팀, 다양한 정보를 전달하는 방법의 대부분의 효과 및 효율의 얼굴 대화에 얼굴이다.
  • 소프트웨어를 작업 진행의 주요 척도이다.
  • 애자일 프로세스는 지속 가능한 개발 속도를 촉진한다. 스폰서, 개발자, 사용자는 장기적, 지속적인 발전 속도를 유지 할 수 있어야한다.
  • 기술적 우수성 및 좋은 디자인 강화합니다 민첩성에 지속적인 관심.
    간단한은 가장 기본적인 것입니다.
  • 자기 조직 팀을위한 최상의 아키텍처, 요구 사항 및 디자인.
  • 일정한 간격으로, 팀은 더 효과적으로 작동하고 그에 따라 자신의 행동을 조정하는 방법에 반영됩니다.

그래서 많은 표준화 CMMI, 애자일 개발과 이용의 급격한 변화의 개발에 대한 더 많은 콘텐츠에 대한 간단히. 품질, 고객 만족에 관해서는, 그 자체로이 소프트웨어 개발 요구 사항에 필수적이다.

실제 프로젝트 상태

애자일 개발 방법은 위의 몇 가지 장점이 있지만,하지만 다른 소프트웨어 개발 방법은 다른 프로젝트의 실제 상황에 적합합니다. 심지어 마틴 파울러, 애자의 공동 설립자는 말했다 :
새로운 방법은 어디에나 적용 할 수 없습니다. 다음, 애자 적합한 방법에있어서 :

  • 수요 불확실성과 휘발성 경우 (휘발성 수단이 오늘날의 요구 사항은 내일 필요하지 않습니다).
  • 책임 긍정적 개발자.
  • 사용자는 쉽게 소통하고 참여할 수 있습니다.
    그리고 소프트웨어 개발 프로젝트의 실제 과정에서, 그것은 우리를 매우 초기에 취소 말했다 만든 소프트웨어 개발에 어떤 접근 방식을 완전히 엄격히 준수하기 어렵다 ". 이론 연습"하지 "책 예배"에 프로젝트 개발 과정의 대부분은, 다양한 방법의 개발과 함께 프로젝트, 인력 상황의 실제 상황을 기반으로, 몇 가지 방법은 실제 상황에 조정을 할 수 있지만, 주요 위치에 어떤 방법이있을 수 있습니다.
    다음과 같이 소개 프로젝트의 일반적인 상황은 다음과 같습니다
  1. 프로젝트 플랫폼의 2 차 개발을 기반으로 대규모 엔터프라이즈 애플리케이션 (예 : 주문 프로세스를 충전 등 주로 생산, 연구 및 개발에 사용되는 시스템 및 데이터는 지적 제어 관련이 있었다)
  2. 프로젝트 회사는 전세계 사용자가 사용에 제공하는 것입니다 (6000 명 이상의 사용자)
  3. 비슷한 제어를 수행하기 전에 시스템,하지만 기본적으로 작은 의미의 참조하지만. 환경이 변화하고 빠르게 변화하는 요구되기 때문이다. 사용자는 신속하게 시스템을 사용할 필요가있다.
  4. 개발 팀은 두 분석가, 네 숙련 된 개발자 2-3 테스터를 필요로
  5. 팀 모두 기능과 협력이 좋은 있지만 6 년에 대한 구축,하지만 열정과 이니셔티브의 부족 전력을 향상시킬 수 있습니다. 팀은 대부분 표준화 된 공정 개발의 대부분을 개발하기 전에.
  6. 사용자 바쁘다.
  7. 작업 배정에 JIRA를 사용하여 개발.
  8. 서브 모듈 시스템, 온라인 단계.

실제 프로젝트 개발 과정

상술 한 상황을 바탕으로, 프로젝트 요구에 빠르게 전달하기 위해 더 많은 변화, 애자일 개발에 더 적합 보인다. 우리가 개발 과정은 많은 문제를 직면하게 될 것이다 표준화 경우 때문에 사실, 연습,이 방법의 사용에 대한 자연의 개발이다. 천천히 이러한 개발 프로세스의 형성 (일부 모듈) :

  1. SA 사용자의 요구, 확인 및 통신 (PPT) 및 사용자를 수집
  2. SA 분할 사용 사례 및 쓰기 사양 (엑셀)
  3. AP SA 사양 및 작업 할당 계획의 시간 경과를 설명하고 데모 프로토 타입의 준비를 필요로합니다.
  4. AP는 계획에 따라 개발 된 배달을 단계적.
  5. 기능 테스트의 개발에 SA.
  6. SA 및 실시 사용자 데모, 수정 AP를 배포, 의견을 수렴
  7. 4 단계와 5는 여러 번 반복 할 것
  8. 모든 테스트로, QA 개발
  9. 테스트는 온라인 모듈을 완료

문제가 발생

위의 프로세스를 자세히 보면,이 두 가지 문제를 쉽게 찾을 수 있습니다 :

  1. SD 작동하지 않았다
  2. 시험 외모의 부족을해야합니까

첫 번째 질문의 경우 : 없음 SD 작업
우선, 시간 AP, 그래서 SD의 대부분의 작업이 생략 된 고위이며, 다음이 꽉입니다. 그러나 또한 몇 가지 후속 질문을 주도하기 때문에 :

  1. 개발 시간은 과소 평가
    SA 항상 아마도 아주 간단한에서 SA, 기능 수준에 대한 페이지 열 연동 기능에 항상 낙관적 코드를 추정하지만 개발 관점,하지만 더 요구에서의 일부를 고려해야한다 그리고 더 많은, 또는 크로스 브라우저 호환성 고려 사항이있다, 또는 기존 구성 요소의 수정 확대,이 시간에 훨씬 더 예상 SA보다 더 많이 소요.
    또한, 코드 레벨에 대한 몇 가지 상호 작용은 SD 작업 때문에, 일부는 필수적이다, 가장 명확 AP 직원입니다. 단지 전체 SD를 수행하는 작업을 열 수 없습니다 작업의이 부분에 대해 함께 관련 SD 그것을 폭풍 그래서, 이러한 빠른 회의를 가져야한다. 물론 예상 시간과 파트 타임의 경우, SD 절반 책임을 부담하는 것입니다.
  2. 코드 재사용은 더미 심각한 높지 않다. 구조의 혼란
    SA AP-방법 접촉 AP SA가 기능을 확인하기 위해 개발로, 시간은 물론 매우 개발 기능, 코드의 어떤 스타일, 코드 품질, 코드 재사용을 완료하기 위해 AP 빠른 결과, 감히 코드의 유지 보수성이 모든 첫 번째 데모에 대한 요구 사항을 완료하는 데, 옆 SA를 넣어. 반면에, 내가 AP 보이는 각도의 기능 이외의 부분을 생각하는 너무 많은 시간을 보냈다 있도록 데모가 다시 거절 될 것입니다 후, 이러한 모든 기능은, 그것이 정말로 가능합니다 요구 사항 데모 여기 말한다 좋은 것보다, 천천히, 심지어 심각한 혼란 더미 구조를 형성 좀 더 해있다.
    속도의 추구하지 잃게 품질, 특정 경우에, 당신은 우리가 약간 안정된 시스템에 약간의 시간을 몇 가지 코드 재사용 및 리팩토링 작업을하지만, 필수 수, 품질을 보장하기 위해 여러 가지 방법을 사용할 수 있습니다.

두 번째 질문의 경우 : 부족 가지고 테스트 나타납니다을
: 그것은 위의 과정에서 볼 수있는
SA는 SIT의 유사한 단위 테스트, QA 마지막 단계를 수행하고 UAT 테스트를 결합 할 것입니다.
이 경우, 문제가 다시

  1. SA 테스트는 충분하지 않습니다
    SA 왜 시험? 그 이유는 신속하게 기능 변경, 데모는 항상 어떤 변화가 QA 테스트 초기에 올 경우 다시 대규모로 밀어가있을 수 있습니다 때마다되면, 먼저 버그의 수가 많이 될 것입니다, 다음 같은 하나 기능, QA 테스트는 일부 미성숙 버전, 시간 낭비 일 수 있습니다. 따라서, SA를 안정화하기 전에 테스트 할 수 있습니다.
    함수가 SA 그렇게 사양에 관계없이 시험 SA를 수행 열어 때문에 그러나 시험 SA는 대단위된다. SA 테스트는 AP를 찾기 위해 언제든지 수정 될 몇 가지 변화가 있다고 생각, AP는 일부 개선이 일부 변경을 확인한 SA의 일부임을 발견했다. 이 과정에서 시스템의 기능은 점진적 변화에 항상이며, SA 만 포인트 기능을 우려, 기본적으로 SA가 회귀 테스트를하지 않습니다. 영향을받는 부분 이후에 변경하는 방법, 아무도 모른다, 당신은 단지 QA 최종 라운드를 던질 수 있습니다.

  2. QA 테스트는 항상 비상이다.
    QA는 항상 시험의 최종 단계에 진입하고, 더 전에, 그것의 절반 미만, 옆으로 한 달의 시간을 설정할 수 있습니다. 늦게 진입 이후 QA가 많은 시스템의 기능을 모르는, 빛이 잘 알고 시간을 보내고해야합니다. 시험 후 익숙한 장애물이다. 어려운 시간에 완료를 보장합니다.
    QA 테스트는 후반에 개입 할 수 있지만, 시간이 이전 개입 시스템의 AP와 회의 SA에 참여, 사용자 데모의 회의에 참여해야한다.

  3. 테스트는 고품질의 버그 (? 진짜 가짜?) 비행하지 않습니다
    위 언급, 기능이 많이 변경됩니다 만, 산의 기본 사양은 사양에 따라, 테스트 케이스로,이 경우, 변경 사항을 동기화하는 QA 어렵다 측정은, 많은 문제가 될 수밖에 없다. 버그의 일부, 그리고 수정되지 않은 일부 사양. 즉, 결과는 평균적으로 다음 기능은 두 개의 작은 버그를 생산, 하늘 비행 버그입니다.
    약간의 시간이 마침내 이륙 저장 AP는 품질 보증 지침 다음보기에 시간이 걸릴뿐만 아니라 SA 검사와 함께합니다.
    또한, 시간의 잦은 변경은 심지어 SA 자신의 사양은 매우 명확하지 않다. AP가 SA에 상황이 나타납니다 설명하는 경우에도 사양을 확인합니다.

교훈

  1. 늦은 사양 및 추가 사양 및 정보 요구
    , 그렇지 않으면 그들 모두의 근거가 없다, 분명하고 정확한 사양 필수적입니다. QA 테스트를 시작하기 전에 배치 :하지만 전체 사양은 다음과 같은 말의 일부를 넣을 수 있습니다.
  2. SD 특정 필수 작업 (더블 확인 시간의 일반적인 디자인)
    "첫 번째 계획하고 이동 소위"이 조치는 종종 맹목적으로 반복 또는 일부 작업과 낭비 노력을하고, 설계되지 않았습니다. SD 간단하게 할 수 있지만 일부 작업은 시간과 일정은 전체적인 디자인을 확인뿐만 아니라, 제거 할 수 없습니다.
  3. 보통 징수의 요구를 향상시킬하고 재건의 정규 일부
    시스템은 지속적인 개선이 필요, 어떤 역할은 SA는, SD는, AP는 QA 긴 제시 할 수있는 시스템 부분을 개선 할 필요가있는만큼, 통합 배치가 개선 것을 발견했다.
  4. 코드 검토는 정기적으로
    자기 훈련이 다른 조건에서 어휘 범주이며, 자기 훈련의 서로 다른 수준, 수요 이론의 좋은 수준이 설명 할 수 있습니다. 따라서 문제의 코드 검토의 정의와 유용는 회의 자체에없는 코드 검토의 코드의 품질을 향상시킬 수 있습니다.
  5. 필요성이 증가하고 단위 테스트 개발자
    가 동시에 테스트 블랙 박스는 약간의 화이트 박스 테스트를 추가하는 적절한, AP 내가 단위 테스트를 작성했습니다 최고입니다. 정확하고 효율적입니다.
  6. QA는 표준 규격과 절차를 테스트 부분 자동화 된 테스트를 증가.
    속도 품질이 일부 역할을해야 애자일 개발 팁에 테스트, 테스트 가속.
    능력은 개발 이익이없는 것은 아니다 가속화는 AP와 상호 작용 테스트 프로세스를 개선, 품질 보증 테스트를 구별하는 버그의 능력 분류 및 버그를 강화한다.
    또한, 수입 테스트까지 속도를 일부 중복 검사 섹션을 품질 보증 부담을 줄이기 위해 테스트 자동화 된.
게시 된 604 개 원래 기사 · 원 찬양 497 · 조회수 4,650,000 +

추천

출처blog.csdn.net/oscar999/article/details/47016345