Brain
Science
root
/
학습 노트
/
Study Note
/
4: 소프트웨어 공학 (Software Engineering)
/
2. Requirements Analysis
2. Requirements Analysis
61. 애자일 선언문 (Agile Manifesto) - 4가지 가치, 12가지 원칙
62. 스크럼 (Scrum) 프레임워크 - 역할, 이벤트, 산출물
63. 제품 책임자 (Product Owner) - 비즈니스 가치 극대화, 백로그 관리
64. 스크럼 마스터 (Scrum Master) - 가이드, 장애 제거
65. 개발 팀 (Development Team) - 자기 조직화, 다기능 팀
66. 제품 백로그 (Product Backlog) - 요구사항 우선순위 목록
67. 스프린트 (Sprint) - 1~4주의 개발 주기
68. 스프린트 계획 회의 (Sprint Planning)
69. 데일리 스탠드업 (Daily Scrum) - 진행 상황 공유, 장애 파악
70. 스프린트 리뷰 (Sprint Review) - 데모 및 피드백
71. 스프린트 회고 (Sprint Retrospective) - 프로세스 개선
72. 번다운 차트 (Burndown Chart) / 번업 차트 (Burnup Chart)
73. XP (e/Xtreme Programming) - 5가지 가치, 12가지 실천 방법
74. 짝 프로그래밍 (Pair Programming) - 내비게이터와 드라이버
75. 공동 코드 소유 (Collective Code Ownership)
76. 지속적 통합 (CI, Continuous Integration)
77. 테스트 주도 개발 (TDD, Test Driven Development) - Red-Green-Refactor
78. 리팩토링 (Refactoring) - 외부 동작 변경 없이 내부 구조 개선
79. 메타포 (Metaphor) - 시스템의 전체적 가이드라인
80. 소규모 릴리즈 (Small Releases)
81. 사용자 스토리 (User Story) - Who, What, Why 형식
82. 스토리 포인트 (Story Point) - 상대적 규모 산정
83. 플래닝 포커 (Planning Poker) - 다수 전문가 합의 기반 산정
84. 칸반 (Kanban) - 워크플로우 시각화, WIP(Work In Progress) 제한
85. 리드 타임 (Lead Time) / 사이클 타임 (Cycle Time)
86. 누적 흐름도 (CFD, Cumulative Flow Diagram)
87. 린 (Lean) 소프트웨어 개발 - 7대 원칙 (낭비 제거, 학습 증진 등)
88. 가치 스트림 맵 (Value Stream Mapping)
89. 린 스타트업 (Lean Startup) - 구축-측정-학습 피드백 루프
90. 최소 존립 제품 (MVP, Minimum Viable Product)
91. 피벗 (Pivot) - 전략적 방향 전환
92. 대규모 애자일 (Scaled Agile) 프레임워크
93. SAFe (Scaled Agile Framework) - 기업용 대규모 애자일
94. LeSS (Large-Scale Scrum) - 다수 팀 스크럼 확장
95. Nexus - 스크럼 팀 간 의존성 관리
96. Spotify 모델 - Tribe, Squad, Chapter, Guild
97. DevOps (Development + Operations) - 문화, 자동화, 측정, 공유
98. 인프라로서의 코드 (IaC, Infrastructure as Code)
99. 지속적 배포 (CD, Continuous Deployment / Delivery)
100. SRE (Site Reliability Engineering) - 구글의 운영 방식, 에러 예산
101. 에러 예산 (Error Budget) - 안정성 vs 속도 트레이드 오프
102. SLI (Service Level Indicator) / SLO (Service Level Objective)
103. SLA (Service Level Agreement)
104. 토일 (Toil) - SRE에서 줄여야 할 단순 반복적 운영 작업
105. DevSecOps - 보안의 좌측 이동 (Shift-Left Security)
106. FinOps - 클라우드 비용 최적화 및 관리
107. MLOps - 머신러닝 생명주기 관리
108. LLMOps - 대규모 언어 모델 운영 및 미세 조정 관리
109. 플랫폼 엔지니어링 (Platform Engineering) - 개발자 셀프 서비스 포털 (IDP)
110. 내부 개발자 플랫폼 (IDP, Internal Developer Platform)
111. 가시성 (Observability) - Metrics, Logs, Traces (3대 요소)
112. 분산 추적 (Distributed Tracing) - 마이크로서비스 간 호출 추적
113. 카오스 엔지니어링 (Chaos Engineering) - 시스템 회복력 테스트
114. 피처 플래그 (Feature Flag / Toggle) - 런타임 기능 활성/비활성
115. 카나리 배포 (Canary Deployment) - 점진적 릴리즈
116. 블루/그린 배포 (Blue/Green Deployment) - 무중단 배포 전략
117. 롤링 업데이트 (Rolling Update)
118. 섀도우 배포 (Shadow Deployment) - 실트래픽 미러링 테스트
119. GitOps - Git을 진실의 원천(Source of Truth)으로 하는 운영
120. 선언적 인프라 관리 (Declarative Infrastructure)
121. CI/CD 파이프라인 (Pipeline) 자동화
122. 컨테이너 오케스트레이션 (Kubernetes 등) 연계
123. 서버리스 (Serverless) 개발 모델 및 FaaS
124. 클라우드 네이티브 개발 (Cloud Native Development)
125. 12 팩터 앱 (12-Factor App) 아키텍처 방법론
126. 행동 주도 개발 (BDD, Behavior-Driven Development)
127. 도메인 주도 개발 (DDD)의 애자일적 접근
128. 워터스크럼폴 (Water-Scrum-Fall) 안티패턴
129. 스파이크 (Spike) - 기술적 위험 해소를 위한 짧은 조사/프로토타이핑
130. 인수 기준 (Acceptance Criteria) 명확화 (INVEST 원칙)