728x90
728x90
BIG
Agile(애자일)
- 어원 agile = 기민한, 날렵한 이라는 뜻에서 시작...
- 개발과 함께 피드백을 동시에...
- 미래를 예측해서 계속 검토하면서 요구사항을 더해서 살을 붙임
진행과정
계획 | user가 원하는 바를 파악해서 타당성조사하고, task를 이용해서 명세서 작성 |
설계 | 기획의도에 맞게 설계 및 디자인 |
개발 | 설계서를 바탕으로 프로그램을 만듬 |
테스트 | 테스트를 해서 오류 발견, 수정하는 단계 |
검토 | 기획의도를 파악해서 수정할 부분을 제시해야함 |
특징
- 고객, 개발자 간의 소통이 원활하여 요구사항을 신속하게 수용
- 팀목적을 우선시하고, 고객의 의견을 가장 우선시
- 주기적인 회의 및 제품시현을 해서 방지
- 프로그램을 시행해보고 고객으로부터 피드백 받음
애자일 12원칙
- 가치 있는 소프트웨어를 조기에 지속적으로 제공함으로써 고객을 만족시키는 것을 최고 우선순위로 둔다
- 개발 작업 후반부일지라도 요구사항 변경을 기꺼이 수용한다. 애자일 프로세스는 변화를 활용해 고객의 굥쟝룍애 ㄷㅎ윰아 되게 한다.
- 2주에서 2개월 주기로 작동하는 소프트웨어를 자주 제공하되, 더 짧은 시간 단위를 선호한다.
- 프로젝트 전반에 걸쳐 비즈니스 담당자들과 개발자들이 매일 함께 잡업해야 한다.
- 동기가 부여된 개인들을 중심으로 프로젝트를 구성한다. 구성원들이 필요로 하는 환경과 지원을 제공하고, 임무를 완수할 것임을 신뢰한다.
- 개발팀에 그리고 팀 내부에서 가장 효과적, 효율적으로 정보를 전달하는 방법은 대면대화이다.
- 작동하는 소프트웨어가 진처의 주된척도이다.
- 애자일 프로세스는 지속 가능한 개발을 장려한다. 스폰서와 개발자, 사용자들이 일정한 속도를 계속유지할 수 있어야 한다.
- 기술적 탁월성과 좋은 설계에 대한 지속적인 관심으로 기민함을 향상시킨다.
- 단순성 - 아직 하지 않은 작업량을 최대한 세분화하는 기술은 필수적이다.
- 최고의 아키텍쳐, 요구사항 및 설꼐는 자율구성팀에서 비롯된다.
- 팀은 정지적으로 더 효과적인 방법을 찾아서 반영한 다음, 그에 따라 업무활동을 조율하고 조정한다.
애자일 선언문
우리는 소프트웨어를 개발하고 또 다른 사람의 개발을 도와주면서 소프트웨어 개발의 더나은 방법들을 찾아가고 있다. 이 작업을 통해 우리는 다음을 가치있게 여기게 되었다.
- 공정과 도구보다 개인과 상호작용을
- 포괄적인 문서보다 작동하는 소프트웨어를
- 계약 협상보다 고객과의 협력을
- 계획을 따르기보다 변화에 대응하기를
가치있게 여긴다. 이말은 왼쪽에 있는 것들도 가치가 있지만 우리는 오른 쪽에 있는 말들에 높은 가치를 둔다는 것이다.
애자일 유형
XP(Extreme Programming)
- 사용자로부터 요구사항을 듣고 분석 및 설계의 바탕이 되는 요구사항을 정의해야되는데 분석이 어려움
- 그래서 요구사항을 한꺼번에 받지 않고 개발주기를 짧게해서 설계,구현, 시험을 많이 함
- 짧은 개발주기의 반복성
- 프로토타입이 자주만들어짐
- 개발계획 자주 변경
가치
의사소통 | 고객과 개발자의 의사소통 중요시 |
단순성 | 가장 효율적인 디자인, 코딩을 사용 |
피드백 | 즉각적인 피드백을 통해 실행가능한 상태유지 |
용기 | 개발자들이 자신감있게 변화를 수용할 수 있도록 만들어줌 |
존중 | 팀원간 상호존중 |
12가지 기본원리
짝 프로그래밍 | 개발자 둘이서 짝코딩 |
공동 코드 소유 | 시스템에 있는 코드는 누구든 언제라도 수정가능 |
지속적통합(ci) | 매일 여러번 소프트웨어통합,빌드 |
계획세우기 | 고객이 요구하는 비즈니스가치정의, 개발자가 필요한 것은 뭐고, 어떤 부분에 지연될 수 잇는지를 알려주어야함 |
작은 릴리즈 | 작은 시스템을 먼저만들고, 짧은 단위로 업데이트 |
메타포어 | 고객과 개발자간의 의사소통 원할 |
간단한 디자인 | 단순한 시스템 설계 |
TDD | 테스트기반 개발 |
리팩토링 | 기능을 안바꾸면서 중복제거 재구성 |
40시간 작업 | 피곤하지 않게 40시간 이상 일하지 말아야함 |
고객상주 | 개발자질문에 즉각대답가능 |
코드표준 | 모든 코드에 대한 코딩표준을 정의해야함 |
스크럼(scrum)
- 특정 개발 언어나 방법론에 의존적이지 않으며, 작은 주기로 개발 및 검토를 하며 효율적인 협업 방법을 제공
- 복잡한 제품을 개발하고, 유지하기 위한 프레임워크
- 비즈니스 요구를 충족시키는데 초점을 맞추기 위해, 작은 목표를 짧은 주기로 점진적이며 경험적으로 제품을 지속엊ㄱ으로 개발하는 관리 프레임 워크
특징
- 솔루션에 포함할 기능, 개선점에 대한 우선순위 부여
- 개발주기 1~4주
- 개발 주기마다 적용할 기능이나 개선에 대한 목록제공
- 15분정도의 스크럼미팅을 가지기
- 항상 팀을 우선시하기
- 원활한 의사소통을 위해, 구분 없는 열린 공간과 마음을 유지하기
추구가치
- 용기 = 팀원간 갈등과 도전을 위한 용기
- 집중
- 약속 = 개개인이 하기로한 목표달성을 위해 헌신하고 달성을 위한 모든 권한 부여
- 존중
- 투명성/개방성=프로젝트에 대한 모든 내용을 투명하게 공개
역할자
Product Owner
- 백로그 관리 밑 제품 검토(백로그 - 요구사항), 우선순위 관리
ScrumMaster
- 가치와 원칙으로 성공적 제품을 만듬 // 팀보호, 장애요소해결, 모니터링 트랙킹
주요용어
- product backlog - 개발할 제품의 요구사항인 사용자 스토리 집합, 우선순위로 관리
- user story - 사용자가 사용하는 관점에서 어떤 가치를 제공할 것인지를 설명
- definition of done, acceptance criteria - 완료기준과 인수기준
- sprint - 계획, 개발, 리뷰 작업 등 최소 단위의 사이클(1~4주)
- potentially shippable product incremnet or minimum viable product-
- 잠재적 출시가능재품 또는 최소 실행 가능 제품 - 팀이 최소 노력으로 고객에게 검증결과를 받을 수 있는 수준의 제품을 만듬
- Sprint Planning Meeting - 스프린트 목표와 백로그를 계획하는 회의
- sprint backlog - 스프린트 목표에 도달하기 위한 작업목록
- kanban board - 작업을 시각적 업무상태, 흐름을 보여주는 게시판
- daily scrum - 15분 정도 매일 회의 수행
- sprint review - 마지막날 개발자가 개발한 내용을 고객, 책임자 등 시연하고 검토
- sprint retrospective - 스프린트 마지막날 좋았던 점, 개선할 점을 도출하고 더 나은 방향으로 개선
728x90
반응형
BIG
'💯정보처리기사' 카테고리의 다른 글
[정보처리기사]UI 정의 예시 종류 레이아웃 (0) | 2023.01.10 |
---|---|
[정보처리기사]Modeling (0) | 2023.01.09 |
[정보처리기사]UML (0) | 2023.01.09 |
[정보처리기사]DBMS (0) | 2023.01.09 |
[정보처리기사] 네트워크분석 (0) | 2023.01.09 |
댓글