0
AgileRigaDay 2012 Warm-up Agile and Lean  Fundamentals http://www.agile-latvia.org
<ul>Audience </ul><ul><li>Why are you here today?
Expectations?
What bothers you most in your current situation? </li></ul>
<ul>Introductions </ul><ul><li>Your hosts: eBIT.lv & agile-latvia.org
Aleksejs Truhans </li><ul><li>Programming, analysing, managing projects and teams, teaching software engineering
Thanks to progmeistars.lv
Now at Citadele banka, tsi.lv, nh.lv, javaguru.lv
@AleksejsTruhans
Aleksejs.Truhans@gmail.com  </li></ul></ul>
<ul>Subject </ul><ul><li>Software development process
Properties of a ”good” process?
Contributing factors?  </li></ul>
Sample ”maturity” ideas <ul><li>Sustainable completion of requested features on time and on budget
Supported by  </li><ul><li>Experience
Discipline
Shared knowledge
Communication
Reflection
Fast feedback </li></ul></ul>
<ul><li>Borrowing from industry </li></ul><ul><li>Compare software development to manufacturing and engineering
Speicifics of software process:  </li><ul><li>Producing one and the same car
The only detailed enough model is the program itself
We are producing decisions </li></ul></ul>
<ul>Team-based design </ul><ul><li>Invent
Communicate
Decide </li></ul>
<ul>How to improve? </ul><ul><li>Creativity?
Communication?
Making right decisions? </li></ul>
Challenge <ul><li>Changeable </li><ul><li>environment
people
problem
solution </li></ul></ul>
Agile <ul><li>Mindset
Applicability: team size & cost of failure
How much effort do you waste due to wrong assumptions, bad design, etc.?
How much time do you waste due to inefficient process? </li></ul>
<ul>Agile Manifesto </ul><ul>We are uncovering better ways of developing software by doing it and helping others do it.  T...
<ul>Agile Principles </ul><ul>Our highest priority is to satisfy the customer through early and continuous delivery of val...
<ul>Agile Principles </ul><ul>Build projects around motivated individuals. Give them the environment and support they need...
Upcoming SlideShare
Loading in...5
×

Intro to Agile and Lean Software Development

1,183

Published on

Basics of Agile and Lean presented at Agile Riga Day 2012 pre-conference warm-up meeting

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

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

No notes for slide

Transcript of "Intro to Agile and Lean Software Development"

  1. 1. AgileRigaDay 2012 Warm-up Agile and Lean Fundamentals http://www.agile-latvia.org
  2. 2. <ul>Audience </ul><ul><li>Why are you here today?
  3. 3. Expectations?
  4. 4. What bothers you most in your current situation? </li></ul>
  5. 5. <ul>Introductions </ul><ul><li>Your hosts: eBIT.lv & agile-latvia.org
  6. 6. Aleksejs Truhans </li><ul><li>Programming, analysing, managing projects and teams, teaching software engineering
  7. 7. Thanks to progmeistars.lv
  8. 8. Now at Citadele banka, tsi.lv, nh.lv, javaguru.lv
  9. 9. @AleksejsTruhans
  10. 10. Aleksejs.Truhans@gmail.com </li></ul></ul>
  11. 11. <ul>Subject </ul><ul><li>Software development process
  12. 12. Properties of a ”good” process?
  13. 13. Contributing factors? </li></ul>
  14. 14. Sample ”maturity” ideas <ul><li>Sustainable completion of requested features on time and on budget
  15. 15. Supported by </li><ul><li>Experience
  16. 16. Discipline
  17. 17. Shared knowledge
  18. 18. Communication
  19. 19. Reflection
  20. 20. Fast feedback </li></ul></ul>
  21. 21. <ul><li>Borrowing from industry </li></ul><ul><li>Compare software development to manufacturing and engineering
  22. 22. Speicifics of software process: </li><ul><li>Producing one and the same car
  23. 23. The only detailed enough model is the program itself
  24. 24. We are producing decisions </li></ul></ul>
  25. 25. <ul>Team-based design </ul><ul><li>Invent
  26. 26. Communicate
  27. 27. Decide </li></ul>
  28. 28. <ul>How to improve? </ul><ul><li>Creativity?
  29. 29. Communication?
  30. 30. Making right decisions? </li></ul>
  31. 31. Challenge <ul><li>Changeable </li><ul><li>environment
  32. 32. people
  33. 33. problem
  34. 34. solution </li></ul></ul>
  35. 35. Agile <ul><li>Mindset
  36. 36. Applicability: team size & cost of failure
  37. 37. How much effort do you waste due to wrong assumptions, bad design, etc.?
  38. 38. How much time do you waste due to inefficient process? </li></ul>
  39. 39. <ul>Agile Manifesto </ul><ul>We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value: Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan That is, while there is value in the items on the right, we value the items on the left more. </ul>
  40. 40. <ul>Agile Principles </ul><ul>Our highest priority is to satisfy the customer through early and continuous delivery of valuable software. Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage. Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale. Business people and developers must work together daily throughout the project. </ul><ul>From http://agilemanifesto.org/principles.html </ul>
  41. 41. <ul>Agile Principles </ul><ul>Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done. The most efficient and effective method of conveying information to and within a development team is face-to-face conversation. Working software is the primary measure of progress. Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely. </ul><ul>From http://agilemanifesto.org/principles.html </ul>
  42. 42. <ul>Agile Principles </ul><ul>Continuous attention to technical excellence and good design enhances agility. Simplicity--the art of maximizing the amount of work not done--is essential. The best architectures, requirements, and designs emerge from self-organizing teams. At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly. </ul><ul>From http://agilemanifesto.org/principles.html </ul>
  43. 43. Lean <ul><li>A recent problem your team have encountered? </li><ul><li>Have you resolved the root cause or taken a workaround? </li></ul><li>How much time do you spend in ”test and fix” phase? </li></ul>
  44. 44. Lean <ul><li>The challenge Toyota faced in post-war Japan </li><ul><li>Small batches, rapid machinery changeover </li></ul><li>Just-in-time, Kanban
  45. 45. Jidoka: Autonomation, Stop the Line and Root Cause
  46. 46. Mistake-proofing with poka-yoke
  47. 47. W. Edward Deming and Eliyahu Goldratt </li></ul>
  48. 48. E. Goldratt, ”The Goal” <ul><li>Increase throughput (as sales)
  49. 49. and decrease inventory
  50. 50. and decrease operating expense
  51. 51. all at the same time
  52. 52. The longest queue is right before the bottleneck </li></ul>
  53. 53. Edward Deming, ”Out of the Crisis” <ul><li>Build quality into the product
  54. 54. Not the lowest price but lower total cost through long-term relationships
  55. 55. Training on the job, education and self-improvement
  56. 56. Leadership instead of supervision
  57. 57. Eliminate management by objective
  58. 58. Eliminate management by fear </li></ul>
  59. 59. Edward Deming, ”Out of the Crisis” <ul><li>Pride of workmanship
  60. 60. Eliminate slogans
  61. 61. Eliminate barriers between departments </li></ul>
  62. 62. <ul>The Seven Wastes - ”Muda” </ul><ul><li>Partially done work
  63. 63. Extra features
  64. 64. Relearning
  65. 65. Handoffs
  66. 66. Task switching
  67. 67. Delays
  68. 68. Defects </li></ul>
  69. 69. <ul>? </ul><ul><li>Which waste is the worst offender at your company? </li></ul>
  70. 70. <ul>? </ul><ul><li>Would it help to </li><ul><li>even out the arrival of work?
  71. 71. minimize the size of things in process?
  72. 72. limit work to capacity?
  73. 73. reduce utilization of people's available time?
  74. 74. establish a regular cadence? </li></ul></ul>
  75. 75. <ul>Lean Software Development </ul><ul><li>Stop maximizing local efficiencies, optimize the whole
  76. 76. Frequent information transfer and integration
  77. 77. Continuous process improvement
  78. 78. Enterpreneural expert leader
  79. 79. Expert workforce
  80. 80. Set-based concurrent engineering </li></ul><ul>From ”Implementing Lean Software Development: From Concept to Cash” </ul>
  81. 81. <ul>Lean Software Development </ul><ul><li>Eliminate waste
  82. 82. Build quality in
  83. 83. Create knowledge through disciplined experimentation and retain it
  84. 84. Defer commitment, yet commit
  85. 85. Deliver fast
  86. 86. Respect people </li></ul><ul>From ”Implementing Lean Software Development: From Concept to Cash” </ul>
  87. 87. <ul>Process performance </ul><ul><li>Value over time </li><ul><li>Total value of the product, not just software
  88. 88. Total time spent - from concept to cash </li></ul><li>A tool – value stream map </li></ul><ul>From ”Implementing Lean Software Development: From Concept to Cash” </ul>
  89. 89. <ul>Value of software </ul><ul><li>According to J.B. Rainsberger: </li><ul><li>Features
  90. 90. Design
  91. 91. Feedback </li></ul></ul>
  92. 92. <ul>Value of a feature </ul><ul><li>Helps to prioritize backlog
  93. 93. High-value items before low-value
  94. 94. High-risk high-value items before low-risk
  95. 95. Items that will create significant new knowledge before those already well understood
  96. 96. Items with lower cost to support and develop before higher cost </li></ul>
  97. 97. <ul>Kanban </ul><ul><li>David Anderson
  98. 98. Pull the work. Limit the capacity.
  99. 99. Visualization of the flow stimulates improvement and provokes change </li><ul><li>… even of ”waterfall” teams ;) </li></ul><li>Kanban board cartoon: http://blog.crisp.se/henrikkniberg/2009/06/26/1246053060000.html </li></ul>
  100. 100. <ul>Kanban </ul><ul><li>Evolution rather than revolution </li><ul><li>Agnostic to software engineering and management practices </li></ul><li>When 1 week iteration is too long
  101. 101. Cadence taking form of average lead time
  102. 102. Estimations and target dates to be used appropriately
  103. 103. Service level lanes </li></ul>
  104. 104. <ul>Scrum </ul><ul><li>Sprint: </li><ul><li>Planning – sprint backlog
  105. 105. Daily standup
  106. 106. Demo
  107. 107. Retrospective </li></ul></ul>
  108. 108. <ul>Scrum </ul><ul><li>Roles </li><ul><li>Product owner
  109. 109. Scrum master – removes obstacles
  110. 110. Cross-functional team </li></ul></ul>
  111. 111. <ul>Scrum </ul><ul><li>Tools </li><ul><li>Information radiator - whiteboard
  112. 112. Burndown chart </li></ul><li>Applicability </li><ul><li>Peer pressure
  113. 113. Assuming developers are eager to do the job, scrum fully loads them with most valuable tasks </li></ul></ul>
  114. 114. <ul>Extreme Programming </ul><ul><li>User stories
  115. 115. Release planning
  116. 116. Iteration
  117. 117. Acceptance tests </li></ul>
  118. 118. <ul>XP Iteration </ul><ul><li>Planning </li><ul><li>Estimates by those taking the job
  119. 119. Project velocity </li></ul><li>Collective code ownership </li><ul><li>Pair programming
  120. 120. Moving people around </li></ul></ul>
  121. 121. <ul>XP Iteration </ul><ul><li>Quality </li><ul><li>Refactor mercilessly
  122. 122. Test driven development
  123. 123. Continuous integration </li></ul><li>Learning </li><ul><li>New tests
  124. 124. New stories </li></ul></ul>
  125. 125. <ul>Extreme Programming </ul><ul>More here: http://www.extremeprogramming.org/map/project.html </ul>
  126. 126. <ul>The journey goes on... </ul><ul><li>Agile Riga Day 2012, Agile Tour, see more at http://lnkd.in/_7rMR2
  127. 127. Tom & Mary Popendiecks – Lean Sotware Development
  128. 128. Eliyahu Goldratt – Theory of Constraints </li></ul>
  129. 129. <ul>The journey goes on... </ul><ul><li>Regarding people: </li><ul><li>Linda Rising </li><ul><li>Retrospectives </li></ul><li>Alistair Cockburn
  130. 130. Edward W. Deming </li></ul></ul>
  131. 131. <ul>The journey goes on... </ul><ul><li>Yasuhiro Monden (1998), Toyota Production System
  132. 132. Kanban – David Anderson </li><ul><li>http://www.se-radio.net/2010/02/episode-156-kanban-with-david-anderson/
  133. 133. http://www.infoq.com/minibooks/kanban-scrum-minibook </li></ul></ul>
  134. 134. <ul>The journey goes on... </ul><ul><li>Code </li><ul><li>J.B. Rainsberger
  135. 135. Robert C. Martin
  136. 136. Martin Fowler </li></ul><li>Mike Cohn - User stories </li></ul>
  137. 137. Thank you! <ul>Materials used in the presentation have their source cited and are copyrighted by their respective authors. Rest of the presentation Copyright ©2012 Aleksejs Truhans, licensed under a Creative Commons Attribution-NonCommercial 3.0 Unported License. </ul>
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×