콘텐츠로 바로가기

SDLC Models & Agile Dynamics

소프트웨어 개발 전 과정을 체계화하는 다양한 수명 주기 모델과, 현대적 가변성에 대응하는 애자일 방법론의 물리적 실행 동역학을 다루는 학습 노드입니다.

sys.entry
M

Me

hyunyoun's Blog

posts6 min read

1. Overview

SDLC 모델 및 애자일 동역학(SDLC Models & Agile Dynamics, SAD)은 아이디어가 실제 하드웨어에서 구동되는 소프트웨어로 변모하는 가치 창출의 전 과정을 공학적으로 설계하고 통제하는 '프로세스 물리학'입니다.

학습자는 요구사항부터 유지보수까지 이어지는 **소프트웨어 개발 수명 주기(SDLC)**의 고전적 선형 모델(Waterfall)과, 현대의 불확실성을 수치적으로 관리하는 애자일(Agile) 방법론의 수리적 차이를 배웁니다. 특히, 작업의 흐름을 시각화하는 칸반(Kanban)의 물리적 처리량(ThroughputThroughput) 모델과, 짧은 주기(Sprint) 내에 가치 있는 증분(Increment)을 완성하는 스크럼(Scrum)의 관성 제어 수순을 익힙니다. 이를 통해 프로젝트의 복잡도와 팀의 역량에 맞춰 최적의 개발 리듬을 설계하는 하이엔드 소프트웨어 공학 역량을 확보합니다.

2. Scope & Boundaries

In-Scope

  • Primary SDLC Models: Waterfall, V-Model, Spiral, Iterative & Incremental의 논리 구조
  • Agile Frameworks: Scrum(역할, 이벤트, 아티팩트), Kanban(WIP 제한), Lean의 물리적 적용
  • Feedback Loops: 사용자 피드백이 개발 관성(VelocityVelocity)에 미치는 수리적 작용
  • Process Metrics: 리드 타임(Lead Time), 사이클 타임(Cycle Time)의 물리적 측정
  • Estimation Techniques: Planning Poker, Story Points를 활용한 불확실성의 수치화

Out-of-Scope

  • 협업 도구(Jira, Notion)의 구체적인 UI 사용법 (도구 숙련도 영역으로 위임)
  • 코드 수준의 구체적인 구현 물리 (09-01-04 Construction 영역에서 분담)

Boundaries

  • SAD vs. Construction: SAD가 '어떻게 일을 배분하고 흐르게 할 것인가'라는 거시적 관성에 집중한다면, Construction(09-01-04)은 '어떻게 실제 논리를 코드로 구체화할 것인가'라는 미시적 물리에 집중합니다.

3. Counterexample

  • 단순히 "회의 자주 하기"라 설명하는 것은 SAD 학습이 아닙니다. 왜 폭포수(Waterfall) 모델에서 요구사항 변경이 발생했을 때 물리적으로 '회귀 비용'이 지수함수적으로 증가하는지 수리적으로 증명할 수 있어야 하며, WIP(Work In Progress) 제한이 없는 칸반 시스템이 왜 하드웨어 컨텍스트 스위칭 부하를 일으키고 실제 처리량(ThroughputThroughput)을 수치적으로 깎아먹는지 논증하지 못한다면 SAD의 정수를 이해하지 못한 것입니다.

4. Prerequisites

  • Computing Logic & Fundamental Math (Basic): 01-01-XX 기초 논리 이해가 필수입니다.
  • Operating Systems & System Mechanics (Recommended): 병렬 처리 및 리소스 경쟁 이해가 권장됩니다. (03-01-XX)

5. Learning Map

  1. Life-cycle Vision: 소프트웨어가 태어나서 죽을 때까지 거쳐야 하는 물리적 관문을 이해합니다.
  2. Predictive to Adaptive: 고정된 계획(Plan-driven)에서 변화에 반응하는(Value-driven) 물리적 도약을 배웁니다.
  3. The Rhythm of Value: 스프린트와 데일리 스탠드업을 통해 개발팀의 수치적인 관성을 형성합니다.
  4. Flow Optimization: 시스템의 모든 병목을 제거하고 가치가 막힘없이 흐르는 하이엔드 공정을 완성합니다.

6. Learning Topics

Basic

Core: 소프트웨어 실명 주기와 고전 모델 (SDLC Foundations)

  • Why to Learn: 모든 개발 활동이 어떤 단계적 목표를 향해 나아가는지 전체 도면을 그리기 위해서입니다.
  • What to Learn:
    • SDLC Stages: 계획, 분석, 설계, 구현, 시험, 유지보수의 물리적 순서
    • Waterfall Model: 엄격한 문서 중심과 단계별 완결성의 물리적 특징
    • V-Model: 개발 단계와 테스트 단계를 1<1로> 매핑하는 품질 물리학
  • How to Learn:
    • 간단한 '계산기 앱' 개발을 위해 각 단계별 산출물(명세서, 설계도 등) 목록을 작성해보는 실습
    • 폭포수 모델에서 초기 설계가 틀렸을 때 마지막 단계에서 발생하는 물리적 재작업 수치 산출
  • Implement: 프로젝트 규모와 기간을 입력받아 예상되는 SDLC 마일스톤을 뱉어내는 기초 SDLCPlanner

Core: 애자일 철학과 스크럼 프레임워크 (Scrum Dynamics)

  • Why to Learn: 불확실한 시장 상황에서 가장 중요한 가치부터 물리적으로 전달하기 위함입니다.
  • What to Learn:
    • Agile Manifesto: 4대 선언과 12원칙의 공학적 의미
    • Scrum Roles: PO, Scrum Master, Developers의 물리적 책임 분담
    • Scrum Events: Sprint, Planning, Daily, Review, Retrospective의 수리적 주기
  • How to Learn:
    • '레고 블록 쌓기'를 통해 스프린트 계획과 회고가 실제 완성도에 미치는 물리적 영향 실험
    • 스토리 포인트(StoryPointStory Point)를 부여하고, 팀의 번다운 차트(Burndown Chart)를 수리적으로 해석
  • Implement: 팀원의 역량과 스토리 점수를 입력받아 스프린트 가용성(VelocityVelocity)을 계산하는 VelocityCalculator

Practical

Core: 칸반과 흐름 최적화 (Kanban & Lean Flow)

  • Why to Learn: 팀이 너무 많은 일을 벌여서 정작 끝내지는 못하는 물리적 정체를 해소하기 위해서입니다.
  • What to Learn:
    • Visualizing Workflow: 백로그, 진행 중, 완료를 나타내는 물리 보드 설계
    • WIP (Work In Progress) Limit: 동시 진행 작업을 제한하여 대기 시간을 줄이는 물리학
    • Cycle Time vs Lead Time: 가치가 생성되기 시작하고 완료될 때까지의 수치적 구분
  • How to Learn:
    • 시뮬레이션 게임(예: FeatureBan)을 통해 WIP 제한이 있을 때와 없을 때의 전체 완료 개수 수치 비교 실습
    • 누적 흐름도(CFDCFD)를 보고 시스템 내의 병목 지점을 물리적으로 찾아내는 훈련
  • Implement: 작업 현황 데이터를 분석하여 특정 단계에서 발생하는 정체 수치를 노출하는 KanbanMonitor

Advanced

Core: 대규모 애자일과 하이브리드 거버넌스 (Scalable Agile)

  • Why to Learn: 수백 명의 개발자가 한배를 탔을 때 소통의 물리적 부하를 관리하기 위함입니다.
  • What to Learn:
    • Scaling Frameworks: SAFe, LeSS, Nexus 등 거대 조직용 수리 협업 모델
    • Hybrid Methodology: Waterfall의 계획성과 Agile의 가변성을 수리적으로 결합
    • Portfolio Management: 비즈니스 가치에 따른 하드웨어 리소스 우선순위 할당 물리
  • How to Learn:
    • 서로 다른 3개 팀이 하나의 프로토타입을 완성하기 위해 의존성을 관리하는 물리적 소통 수순 연구
    • 기술 부채(TechnicalDebtTechnical Debt) 누적이 향후 개발 속도에 미치는 물리적 감쇄 효과를 데이터로 증명
  • Implement: 여러 팀의 백로그 의존성을 그래프 구조화하여 충돌 지점을 미리 찾는 DependencyWatcher

7. Terminology

Term (EN / ko, abbr) 1문장 정의 단계(기본/권장/실무/심화) 역할/맥락 관련 개념 유사/대비/함께 사용 오해 포인트 Evidence(Primary/Secondary/Industry) Flags(core)
SDLC 소프트웨어의 생성부터 소멸까지의 전 과정을 정의한 공학적 수명 주기 모델입니다. 기본 전체 구조 Lifecycle / Process DevOps 단순히 '순서' 아님 P2:SWEBOK core
Sprint 애자일 개발에서 정해진 기간 내에 실행 가능한 증분을 만드는 최소 단위의 물리적 반복 주기입니다. 추천 실행 리듬 Iteration / Timebox Milestone 단순히 '빨리 하기' 아님 Industry core
WIP Limit 하드웨어 인지 과부하를 막기 위해 진행 중인 작업의 개수를 수리적으로 제한하는 규칙입니다. 실무 흐름 제어 Pull System / Kanban Throughput 업무 태만 아님 Industry core
Lead Time 고객의 요청이 발생한 시점부터 최종 전달이 완료될 때까지 걸리는 전체 물리적 시간입니다. 실무 성능 지표 Cycle Time / Latency Response Time 순수 개발 시간만 아님 Industry core

8. References

Primary

Secondary

  • [Software Engineering] Ian Sommerville — Comprehensive textbook on SDLC.
  • [Thinking in Systems] Donella Meadows — For understanding feedback loops and flow.

Industry

  • [The Scrum Guide] Ken Schwaber, Jeff Sutherland — The Scrum bible.
  • [Kanban Guide] — Official guide for Kanban flow.

9. Final Checklist

Primary

  • '폭포수 모델'에서 발생한 오류 수리 비용이 '애자일'보다 단계가 지날수록 물리적으로 왜 더 비싼지 설명 가능한가? (P2)
  • '스크럼'의 3가지 아티팩트(Product/Sprint Backlog, Increment)가 왜 수치적 투명성을 필수로 하는지 기술할 수 있는 가? (P2)

Secondary

  • '리틀의 법칙(LittlesLawLittle's Law)'을 통해 작업 중 인원(WIPWIP)과 처리 시간(LeadTimeLead Time)의 수리적 인과관계를 소통 가능한가?
  • 애자일 선언문의 가치가 실제 하드웨어 개발 리소스 배분에 미치는 물리적 영향을 논증할 수 있는 가?

Industry

  • 팀의 '번다운 차트' 기울기가 급격히 수평으로 변할 때, 발생한 물리적 장애 요인을 예측하고 대응책을 제안할 수 있는 가? (SFIA)
  • '칸반 보드'에서 특정 컬럼에 카드가 쌓이는 현상이 전체 파이프라인의 물리적 처리량을 어떻게 파괴하는지 분석할 수 있는 가?