CSE4006 Software Engineering Agile Development Scott Uk-Jin Lee Division of Computer Science, College of Computing Hanyang University ERICA Campus 1 st Semester 2018
Background of Agile SW Development 90 =,, : Agile 2
Agile vs. Traditional Methods ( ) : (,, ) Agile e.g., extreme Programming, SCRUM, Crystal, Adaptive Software Development, Feature Driven Development 3
Agile vs. Traditional Methods Agile : : 4
Manifesto for Agile SW Development,. :,,. 2001 Kent Beck 16 5
What is Agility? Agile =! ( ) -,, - Yielding 6
Agility & the Cost of Change 7
An Agile Process ( ) (short-lived) : -, - ' (increments) - - :, 8
Agility Principles 1. to satisfy the customer through early and continuous delivery of valuable software : 2. welcome changing requirements, even late in development ( ) 3. deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale ( ~ ) 4. business people and developers must work together daily 9
Agility Principles 5. build projects around motivated individuals : 6. the most efficient and effective communication is face-to-face conversation 7. working software is the primary measure of progress 8. Agile processes promote sustainable development / 10
Agility Principles 9. continuous attention to technical excellence and good design 10.simplicity is essential 11.the best architectures, requirements, and designs emerge from self-organizing teams,, 12.at regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior 11
extreme Programming (XP) 12
extreme Programming (XP) 1999 Kent Beck Agile XP (Planning) - (user story) - (value) - Agile ( ) - (deliverable increment) - ( ) - increment, increment ( : ) 13
extreme Programming (XP) (User story) 14
extreme Programming (XP) (User story) 15
extreme Programming (XP) XP (Design) - KIS - CRC (Class-Relationship-Collaboration) - spike solution ( ) - ( ) XP (Coding) - - pair programming XP (Testing) - ( ) - (Acceptance) 16
extreme Programming (XP) CRC (Class-Relationship-Collaboration) 17
extreme Programming (XP) CRC 18
extreme Programming (XP) 세심한피드백 지속적개발 상호이해 Pair programming XP Programming 의원칙, 복지 40 19
extreme Programming (XP) Pair programming - - - : - - ( ) - - -, - : -, / - 20
Adaptive Software Development Jim Highsmith : - - - Time boxing : - Time-box: ( 2~6 ) -,, - - - 21
Adaptive Software Development 22
Dynamic Systems Development Method DSDM (wwwdsdm.org) : - XP ASD - 9 - - DSDM - - - - - -. 23
Dynamic Systems Development Method DSDM (wwwdsdm.org) : - XP ASD - 9 - - DSDM - - - - - -. 24
Scrum Schwaber Beedle,, : - (packet) - - (sprint) (backlog) - Backlog : - Sprint : (30 ) - (15 ) - Time-box 25
Scrum 26
Feature Driven Development Peter Coat : - feature - 2 - - feature - < action > the < result >< by j for j of j to > a(n) < object > e.g., add the product to a shopping cart e.g., store the shipping information for a customer - feature - < action > < -ing > a(n) < object > e.g., making a product sale - feature list & plan by feature - FDD 27
Feature Driven Development / 6 - design walkthrough, design, design inspection, code, code inspection, promote to build 28
Agile Modeling Scott Ambler agile - - - - - - - 29