본문 바로가기
정보처리기사/필기

[정보처리기사] Part01-01-2. 요구사항 확인 (2)

by 채연2 2022. 2. 24.

* 소프트웨어 개발 방법론

    1. 애자일 (Agile)

    - 전체 개발 단계에서 변화에 대한 신속한 대응으로 요구사항 지속적으로 분석, 반영하여 배포 시간차 최소화

    - SW 개발 방법에 있어 아무런 계획 없는 개발 방법과 계획이 지나치게 많은 개발 방법들 사이에서 타협점 찾고자 함

    

    ▶ 애자일 선언문 (Agile Manifesto)

        - 공정과 도구보다 개인과 상호작용

        - 포괄적인 문서보다 작동하는 소프트웨어

        - 계햑 협상보다 고객과의 협력

        - 계획을 따르기보다 변화에 대응하기

 

    ▶ 애자일 방법론 종류

        ▷ XP (eXtreme Programming)

            - 의사소통 개선과 즉각적인 피드백에 의한 단순한 코딩으로 SW 품질 높이기 위한 방법론

            - 1~3주 반복 (iteration)

            - 5가지 가치 : 용기, 단순성, 의사소통, 피드백, 존경

            - 12개 실천항목

        ▷ SCRUM (스크럼)

            - 매일 정해진 시간, 장소에서 짧은 시간 개발 하는 팀을 위한 프로젝트 관리 중심 방법론

            - 30일마다 동작 가능한 제품 제공하는 스프린트(Sprint) 중심으로 진행

            - 백로그(backlog) : 제품과 프로젝트에 대한 요구사항

            - 스프린트(sprint) : 30일 단위 짧은 개발기간으로 분리하여 반복적 수행

            - 스크럼 미팅 : 매일 스크럼(15분 정도) 미팅으로 오늘과 내일의 해야 할 일 계획 수립

            - 스크럼 마스터 : 프로젝트 리더, 스크럼 수행 시 문제 인지 및 해결하려고 노력하는 사람

        ▷ Lean (린)

            - TPS(Toyota Production System) 재정립한 경영방법론인 린 시스템 품질 기법을 SW 개발에 적용

            - 7가지 원칙 : 낭비제거, 품질 내재화, 지식 창출, 늦은 확정, 빠른 인도, 사람 존중, 전체 최적화

        ▷ Kanban (칸반)

            -  Workflow 가시화하고 작업 중인 항목 제한 및 작업 소요시간 측정 가능한 작업 지시서를 SW 개발에 적용

 

    ▶ 스크럼 특징

        - 협업 중심

        - Sprint 수행 : 통상 30 단위 Iteration 주기

        - Daily Meeting : 매일 15분 정도

        - 프로젝트 관리 강조

        - 포괄적 정의 및 포용

 

    ▶ 스크럼 구성 요소

        ▷ Sprint

            - Iteration 주기 (30일)

        ▷ Product Backlog

            - 제품 요구사항 목록

        ▷ Sprint Backlog

            - 해당 Sprint 기간에 수행할 Task 목록

        ▷ Daily Scrum Meeting

            - 매일 15분 정도 계획, 실정, Rist 공유, Scrum Master가 주관

        ▷ Review

            -  Sprint가 완료 시 고객 검토, Feedback 받아 다음 Product Backlog에 update

        ▷ Retrospective(회고)

            - Sprint 완료 후 Scrum 책임자, 팀원 간 내부 회의, 개선할 점 도출하고 반영

 

    ▶ 스크럼 구성원별 역할

        ▷ Product owner

            - 요구사항 정의하고, Product Backlog 업데이트

        ▷ Team

            - Product Backlog 구현

        ▷ Scrum Master

            - 3자의 입장에서 Product owner와 Team이 Scrum 방법론 제대로 수행할 수 있도록 지원

 

     Product Backlog 주요 항목

        - ID, 이름, 중요도/우선순위, 추정치, 데모방식, 참고

 

     애자일과 전통 방법론 비교

항목 Agile 방법론 전통적 방법론
요구사항의
베이스라인
프로젝트 전 과정에 걸쳐 진화하는 요구사항 초기 요구사항에 대한 Baseline 설정
아키텍처
정의 방법
실제 기능 구현 통해 빠른 시간 내 아키텍처 실현 가능성 증명해 보이고자 함 모델과 사양을 보다 상세화하는 과정 통해 App 과 데이터 아키텍처를 초기에 정의하고자 함
테스트 방법 빈번한 '개발-테스트' 주기 통해 많은 시간과 비용 투입되기 전 기능 검증 특정 기능 구현된 이후 '단위-통합-시스템' 테스트로 확장해 나가는 방식
표준 프로세스
적용
잦은 Inspection 토대로 프로세스 유연하게 개발에 적용 개발 착수 전에 표준화된 프로세스 제정 중요
릴리즈 빠른 릴리즈 BigBang 릴리즈
중심 사상 학습 중심 계획 중심
320x100

댓글