Get Ready forAgile Methods!How to manage constant andrapid change in IT projectsDr Dimitris Dranidis
Presentation outline Traditional methodologies   Problems Agile methods   Extreme Programming   SCRUM Conclusions  Get Rea...
Driving forces… “Deliver quickly.   Change quickly.    Change often.These three driving forces compel us to rethink tradit...
Traditionalmethodologies
Classic“Waterfall” development model  Get Ready for Agile Methods * D Dranidis * CITY College   5
Characteristics of theWaterfall development model Heavy documentation   Every phase delivers a   complete document Late pr...
The problems Business environment changes at increasing pace. Unpredictability of requirements Traditional methodologies f...
Cost of change Late discovery of    design defects Changing requirements Result:    costly over-runs    and, often,    pro...
Risk In a waterfall process, you don’t know if you have a problem until late in the lifecycle.                            ...
Customer feedback was late!  Get Ready for Agile Methods * D Dranidis * CITY College   10
Following plans when feedback isabsent                  With feedback                   Without feedback  Get Ready for Ag...
How can we deal with…? Continuous change?   Change is inevitable! Unpredictable requirements? High risks?  Get Ready for A...
Agile methods
Agile methods Agile = flexible, adaptable Embrace change!   Try to reduce cost of change Focus on   customer satisfaction ...
Agile methods value more… Individuals and interactions           over processes and tools Working software           over ...
Common characteristic of all agile methods:Iterative process  Development is broken  down in short iterations  Every itera...
SCRUM
SCRUMSoftware development process for small teams(max 9) and small projects (few months)Very simple, only very few princip...
SCRUM process overview                                           Iterative                                           Incre...
Initial planning phase Establish vision, budget Initial Product Backlog   List of identified,   prioritized features   Pre...
Sprints - iterations 15-30 day iterations Sprint planning Sprint Daily Scrum meetings Sprint review  Get Ready for Agile M...
Sprint planning Spring backlog   List of features to be   implemented in the   current Sprint   The most important   featu...
SCRUM - Sprints The team is left alone and produces the best software possible No changes are allowed during a sprint   An...
Daily SCRUM meetings 15 – 30 minutes stand-up meetings at the same place at the same time every work day Questions to be a...
Sprint review At the end of a sprint:   Meeting with all stakeholders   Product demonstration   Anything can be changed   ...
SCRUM closure phase Completes product development   Operational deployment   Documentation  Get Ready for Agile Methods * ...
SCRUM Roles:     Product owner (Customer) Responsible for creating and prioritizing the Product Backlog Chooses goals for ...
SCRUM Roles:     Scrum Team (developers) Expand the Sprint Backlog to Tasks Work on the Sprint Backlog tasks Develop the s...
SCRUM Roles:     Scrum Master (Project Manager) Ensures Scrum practices are followed Mediator between management and team ...
SCRUM Logs:     Product Backlog  Kept by the Product  owner (Customer)  List of identified,  prioritized tasks  Drives tea...
SCRUM Logs:     Product Backlog  Get Ready for Agile Methods * D Dranidis * CITY College   31
SCRUM Logs:     Sprint Backlog List of tasks to be completed by the Scrum Team in the current Sprint. Tasks in the range o...
SCRUM Logs:     Sprint Burn-down graph Remaining                                  Actual Ideal estimated time to complete ...
SCRUM Practices:Project management .. Self-directed teams    No guidance from management or Scrum Master Don’t add to iter...
SCRUM Practices:Project management .. Chickens and Pigs    In a SCRUM meeting only the SCRUM Team may talk (the    pigs)  ...
Other SCRUM practices Small teams   Ideally 7 members   Larger projects can be multiple teams Common room Daily Build  Get...
SCRUM…. the name? A scrum is a team pack in Rugby Everybody in the pack acts together with everyone else to move the ball ...
XPExtremeProgramming
Four Variables ... Control variables of software development   Cost      Available budget   Time      Project duration   Q...
Four Variables ... It is impossible to control all four variables Customers can choose to control any 3 of the variables D...
Four Variables ... All variables should be visible to customer Scope is the best variable to control   Fix cost, time and ...
XP Practices XP is based on the extreme application of 12 practices that support each other.  Get Ready for Agile Methods ...
12 XP Practices  Get Ready for Agile Methods * D Dranidis * CITY College   43
XP Practices:Planning Game ..... Pieces: user stories Requirements on index cards Written by the customer   Get Ready for ...
XP Practices:Planning Game ..... Players: customer & developer Customer    decides priorities    (Business value) Develope...
XP Practices:Planning Game ..... Iteration planning (before each iteration)    Time-boxed: 2-3 weeks long    Customer sele...
XP Practices:Planning Game ..... Inside the iteration    No new “user stories” are added    Completeness is measured in te...
XP Practices:Planning Game ….. End of iteration    Iteration ends at the pre-specified date       Even if not all user sto...
XP Practices:Frequent Releases A release cycle is usually up to 3 months A release cycle consists of iterations up to 3 we...
XP Practices:Pair programming .. Two programmers sit together in front of a workstation    one enters code    one reviews ...
XP Practices:Pair programming .. Pairs change continuously (few times in a day)    every programmer knows all the aspects ...
XP Practices:On-site customer The customer must always be available to    answer questions    resolve ambiguities    set p...
Conclusions
Requirements for the success ofagile methods Collaborative environment People-centered organizations Small to medium sized...
Wrap-up Agile methodologies in a fast changing world!   Embrace change! The people factor   Trust your team! User involvem...
Thank you!                        “It is not the strongest of the                         species that survives, nor      ...
About me… Senior Lecturer Computer Science Dept CITY College, International Faculty of the University of Sheffield Program...
Experience in software projectmanagement >10 years of management of >50 short (6-9 pms) software projects   Industrial Gro...
Upcoming SlideShare
Loading in...5
×

Get Ready for Agile Methods: How to manage constant and rapid change in IT projects

2,031

Published on

Published in: Education, Technology, Business
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
2,031
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
0
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Get Ready for Agile Methods: How to manage constant and rapid change in IT projects

  1. 1. Get Ready forAgile Methods!How to manage constant andrapid change in IT projectsDr Dimitris Dranidis
  2. 2. Presentation outline Traditional methodologies Problems Agile methods Extreme Programming SCRUM Conclusions Get Ready for Agile Methods * D Dranidis * CITY College 2
  3. 3. Driving forces… “Deliver quickly. Change quickly. Change often.These three driving forces compel us to rethink traditional software engineering practices.” -- Jim Highsmith Get Ready for Agile Methods * D Dranidis * CITY College 3
  4. 4. Traditionalmethodologies
  5. 5. Classic“Waterfall” development model Get Ready for Agile Methods * D Dranidis * CITY College 5
  6. 6. Characteristics of theWaterfall development model Heavy documentation Every phase delivers a complete document Late product delivery Big-bang approach No code is written before the Coding phase Late feedback – low customer involvement Customer is involved at the beginning and at the end of the project. Get Ready for Agile Methods * D Dranidis * CITY College 6
  7. 7. The problems Business environment changes at increasing pace. Unpredictability of requirements Traditional methodologies fail to satisfy environment changes due to: Resistance to change Change increases cost Conformance to an initial plan Get Ready for Agile Methods * D Dranidis * CITY College 7
  8. 8. Cost of change Late discovery of design defects Changing requirements Result: costly over-runs and, often, project cancellation. Waterfall tries to avoid change by freezing requirements (contracts) Get Ready for Agile Methods * D Dranidis * CITY College 8
  9. 9. Risk In a waterfall process, you don’t know if you have a problem until late in the lifecycle. Risk is very high until you see some results Get Ready for Agile Methods * D Dranidis * CITY College 9
  10. 10. Customer feedback was late! Get Ready for Agile Methods * D Dranidis * CITY College 10
  11. 11. Following plans when feedback isabsent With feedback Without feedback Get Ready for Agile Methods * D Dranidis * CITY College 11
  12. 12. How can we deal with…? Continuous change? Change is inevitable! Unpredictable requirements? High risks? Get Ready for Agile Methods * D Dranidis * CITY College 12
  13. 13. Agile methods
  14. 14. Agile methods Agile = flexible, adaptable Embrace change! Try to reduce cost of change Focus on customer satisfaction (and feedback) rather than conformance to a plan Early product delivery Get Ready for Agile Methods * D Dranidis * CITY College 14
  15. 15. Agile methods value more… Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan Get Ready for Agile Methods * D Dranidis * CITY College 15
  16. 16. Common characteristic of all agile methods:Iterative process Development is broken down in short iterations Every iteration repeats a “small Waterfall” Delivers some functionality Incremental approach Iterations are time-boxed: No extensions of deadlines There is a product even if the project is cancelled Get Ready for Agile Methods * D Dranidis * CITY College 16
  17. 17. SCRUM
  18. 18. SCRUMSoftware development process for small teams(max 9) and small projects (few months)Very simple, only very few principles and rules Emphasis on agile project management practicesToyota uses it since the early 1990s Get Ready for Agile Methods * D Dranidis * CITY College 18
  19. 19. SCRUM process overview Iterative Incremental Time-boxed Get Ready for Agile Methods * D Dranidis * CITY College 19
  20. 20. Initial planning phase Establish vision, budget Initial Product Backlog List of identified, prioritized features Prepared by the customer Get Ready for Agile Methods * D Dranidis * CITY College 20
  21. 21. Sprints - iterations 15-30 day iterations Sprint planning Sprint Daily Scrum meetings Sprint review Get Ready for Agile Methods * D Dranidis * CITY College 21
  22. 22. Sprint planning Spring backlog List of features to be implemented in the current Sprint The most important features from the Product Backlog Expanded to list of tasks by team Get Ready for Agile Methods * D Dranidis * CITY College 22
  23. 23. SCRUM - Sprints The team is left alone and produces the best software possible No changes are allowed during a sprint Anything can change before and after Daily SCRUM meetings Get Ready for Agile Methods * D Dranidis * CITY College 23
  24. 24. Daily SCRUM meetings 15 – 30 minutes stand-up meetings at the same place at the same time every work day Questions to be answered by each team member: What have you done since the last scrum meeting? What obstacles stand in the way? What do you plan on doing between now and the next scrum meeting? Management’s role: remove any obstacles and to supply all necessary resources. Get Ready for Agile Methods * D Dranidis * CITY College 24
  25. 25. Sprint review At the end of a sprint: Meeting with all stakeholders Product demonstration Anything can be changed Continue? Get Ready for Agile Methods * D Dranidis * CITY College 25
  26. 26. SCRUM closure phase Completes product development Operational deployment Documentation Get Ready for Agile Methods * D Dranidis * CITY College 26
  27. 27. SCRUM Roles: Product owner (Customer) Responsible for creating and prioritizing the Product Backlog Chooses goals for the next Sprint Reviews the system after the Sprint Get Ready for Agile Methods * D Dranidis * CITY College 27
  28. 28. SCRUM Roles: Scrum Team (developers) Expand the Sprint Backlog to Tasks Work on the Sprint Backlog tasks Develop the system Daily meetings Get Ready for Agile Methods * D Dranidis * CITY College 28
  29. 29. SCRUM Roles: Scrum Master (Project Manager) Ensures Scrum practices are followed Mediator between management and team Removes obstacles Conducts Sprint review Get Ready for Agile Methods * D Dranidis * CITY College 29
  30. 30. SCRUM Logs: Product Backlog Kept by the Product owner (Customer) List of identified, prioritized tasks Drives team activity Updated and prioritized before each sprint Checked in each meeting Get Ready for Agile Methods * D Dranidis * CITY College 30
  31. 31. SCRUM Logs: Product Backlog Get Ready for Agile Methods * D Dranidis * CITY College 31
  32. 32. SCRUM Logs: Sprint Backlog List of tasks to be completed by the Scrum Team in the current Sprint. Tasks in the range of 4- 16 hours Estimates are updated daily! Total estimated time calculated Get Ready for Agile Methods * D Dranidis * CITY College 32
  33. 33. SCRUM Logs: Sprint Burn-down graph Remaining Actual Ideal estimated time to complete all tasks Get Ready for Agile Methods * D Dranidis * CITY College 33
  34. 34. SCRUM Practices:Project management .. Self-directed teams No guidance from management or Scrum Master Don’t add to iteration Nothing changes during a sprint Scrum Master firewall Team is not interrupted by anyone Scrum Master removes obstacles Decision in one hour Decisions for removing blocks are taken immediately Bad decisions are better than no decisions Blocks removed in one day Get Ready for Agile Methods * D Dranidis * CITY College 34
  35. 35. SCRUM Practices:Project management .. Chickens and Pigs In a SCRUM meeting only the SCRUM Team may talk (the pigs) Everybody else (the chickens) can attend silently Get Ready for Agile Methods * D Dranidis * CITY College 35
  36. 36. Other SCRUM practices Small teams Ideally 7 members Larger projects can be multiple teams Common room Daily Build Get Ready for Agile Methods * D Dranidis * CITY College 36
  37. 37. SCRUM…. the name? A scrum is a team pack in Rugby Everybody in the pack acts together with everyone else to move the ball down the field Get Ready for Agile Methods * D Dranidis * CITY College 37
  38. 38. XPExtremeProgramming
  39. 39. Four Variables ... Control variables of software development Cost Available budget Time Project duration Quality Product quality Scope Product features Get Ready for Agile Methods * D Dranidis * CITY College 39
  40. 40. Four Variables ... It is impossible to control all four variables Customers can choose to control any 3 of the variables Developers pick the resultant value of the 4th variable Get Ready for Agile Methods * D Dranidis * CITY College 40
  41. 41. Four Variables ... All variables should be visible to customer Scope is the best variable to control Fix cost, time and quality Adjust scope correspondingly If there is no time to complete the whole project remove some functionality (customer chooses) Get Ready for Agile Methods * D Dranidis * CITY College 41
  42. 42. XP Practices XP is based on the extreme application of 12 practices that support each other. Get Ready for Agile Methods * D Dranidis * CITY College 42
  43. 43. 12 XP Practices Get Ready for Agile Methods * D Dranidis * CITY College 43
  44. 44. XP Practices:Planning Game ..... Pieces: user stories Requirements on index cards Written by the customer Get Ready for Agile Methods * D Dranidis * CITY College 44
  45. 45. XP Practices:Planning Game ..... Players: customer & developer Customer decides priorities (Business value) Developer estimates effort Value and Risk first! Get Ready for Agile Methods * D Dranidis * CITY College 45
  46. 46. XP Practices:Planning Game ..... Iteration planning (before each iteration) Time-boxed: 2-3 weeks long Customer selects “user stories” fitting current iteration Developers break user stories in tasks Get Ready for Agile Methods * D Dranidis * CITY College 46
  47. 47. XP Practices:Planning Game ..... Inside the iteration No new “user stories” are added Completeness is measured in terms of completed “user stories” Get Ready for Agile Methods * D Dranidis * CITY College 47
  48. 48. XP Practices:Planning Game ….. End of iteration Iteration ends at the pre-specified date Even if not all user stories were implemented Estimations are evaluated and readjusted for next iterations Get Ready for Agile Methods * D Dranidis * CITY College 48
  49. 49. XP Practices:Frequent Releases A release cycle is usually up to 3 months A release cycle consists of iterations up to 3 weeks In each iteration the selected user stories are implemented Each user story is split in programming tasks of 1-3 days small and frequent releases provide frequent feedback from the customer Get Ready for Agile Methods * D Dranidis * CITY College 49
  50. 50. XP Practices:Pair programming .. Two programmers sit together in front of a workstation one enters code one reviews the code and thinks “Pair programming is a dialog between two people trying to simultaneously program and understand how to program better”, Kent Beck Continuous quality inspection! Get Ready for Agile Methods * D Dranidis * CITY College 50
  51. 51. XP Practices:Pair programming .. Pairs change continuously (few times in a day) every programmer knows all the aspects of the system a programmer can be easily replaced in the middle of the project Ensures continuous code inspection Costs 10-15% more than stand-alone programming but…. Code is simpler (fewer LOC) with less defects (15%) Get Ready for Agile Methods * D Dranidis * CITY College 51
  52. 52. XP Practices:On-site customer The customer must always be available to answer questions resolve ambiguities set priorities review the product Customer is considered part of the team Continuous feedback! Get Ready for Agile Methods * D Dranidis * CITY College 52
  53. 53. Conclusions
  54. 54. Requirements for the success ofagile methods Collaborative environment People-centered organizations Small to medium sized teams (avg. 9 persons) Common open workplace Commitment Customer commitment Management commitment Developers commitment Get Ready for Agile Methods * D Dranidis * CITY College 54
  55. 55. Wrap-up Agile methodologies in a fast changing world! Embrace change! The people factor Trust your team! User involvement Involve the customer! Useful practices even in a traditional development process Get Ready for Agile Methods * D Dranidis * CITY College 55
  56. 56. Thank you! “It is not the strongest of the species that survives, nor the most intelligent that survives. It is the one that is the most adaptable to change.” Charles Darwin Get Ready for Agile Methods * D Dranidis * CITY College 56
  57. 57. About me… Senior Lecturer Computer Science Dept CITY College, International Faculty of the University of Sheffield Programme director of the MSc in Software Engineering & Telecommunications Leader of the "Software Engineering & Service-Oriented Technologies" research group, research interests: service-oriented computing, model-based testing, object-oriented analysis and design, formal methods, software engineering education, agile software development methodologies, and artificial intelligence. http://www.city.academic.gr/csd/dranidis/ Get Ready for Agile Methods * D Dranidis * CITY College 57
  58. 58. Experience in software projectmanagement >10 years of management of >50 short (6-9 pms) software projects Industrial Group Projects Teams of undergraduate and postgraduate students developing software for the industry Plenty of successes and failures http://invent.city.academic.gr/ Get Ready for Agile Methods * D Dranidis * CITY College 58

×