1 / 27

Agile basics

Agile basics. L ászló Csereklei. Agenda. Agile origins – Manifesto Scrum Kanban eXtreme Programming (XP). Agile Manifesto (2001). http://agilemanifesto.org/. Principles behind the Agile Manifesto.

byron
Download Presentation

Agile basics

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Agile basics László Csereklei

  2. Agenda • Agile origins – Manifesto • Scrum • Kanban • eXtreme Programming (XP)

  3. Agile Manifesto (2001) http://agilemanifesto.org/

  4. Principles behind the Agile Manifesto Our highest priority is to satisfy the customerthrough early and continuous delivery of valuable software. Welcome changing requirements, even late in development. Agile processes harness changefor 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 togetherdaily throughout the project. 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.

  5. Working softwareis the primary measure of progress. Agile processes promote sustainable development.The sponsors, developers, and users should be able to maintain a constant pace indefinitely. Continuous attention to technical excellenceand good designenhances 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 reflectson how to become more effective, then tunes and adjusts its behavior accordingly. Principles behind the Agile Manifesto

  6. Quality Guaranteed? Feasability Design Design Test Q < 100% (Thomas Nilsson)

  7. Quality Guaranteed! But only if work is really ”Done”. Feasability Q = 100% Q = 100% Q = 100% Q = 100% Q = 100% Q = 100% Q = 100% Q = 100% Q = 100% Q = 100% Q = 100% Q = 100% Q = 100% Q = 100% (Thomas Nilsson)

  8. Q = 100% Q = 100% Q = 100% Q = 100% Q = 100% Q = 100% Q = 100% Q = 100% Q = 100% Q = 100% Q = 100% Q = 100% Q = 100% Q = 100% Quality Guaranteed! And correct functionality! Feasability (Thomas Nilsson)

  9. SCRUM

  10. Scrum Overview • Scrum is an Agile process; • Used to manage complex projects since 1990; • Delivers business functionality in 30 days; • Business sets the priorities; • Teams self-organize to determine the best way to deliver the highest priority features. • Scalable to distributed, large, and long projects; • Extremely simple but very hard!

  11. Scrum - framework Timeboxing! • Sprint planning – “definition of Done” • Sprint review – “the demo” • Sprint retrospective • Daily scrum meeting Scrum master team Product owner

  12. Cross functional teamDoesn’t mean everyone has to know everything Product Backlog I can test, but I’m not so good at it. Skills Needed to implement Top X backlog items I don’t know CM at all. But I’m willing to learn! Test DB Domain CM Web Java I’m good at Java! Lisa Joe Fred Jenny David Erik I won’t even go near a database! Henrik Kniberg

  13. Team • Seven (plus/minus two) members • Is cross-functional (Skills in testing, coding, architecture etc.) • Selects the Sprint goal and specifies work results • Has the right to do everything within the boundaries of the project guidelines to reach the Sprint goal • Organizes itself and its work • Demos work results to the Product Owner.

  14. Scrum Master • Ensure that the team is fully functional and productive • Enable close cooperation across all roles and functions • Remove barriers • Shield the team from external interferences during the Sprint • Ensure that the process is followed, including issuing invitations to Daily Scrum, Sprint Review and Sprint Planning meetings.

  15. Product Owner • Define the features of the product. • Decide on release date and content. • Be responsible for the profitability of the product (ROI). • Prioritize features according to market value. • Adjust features and priority every iteration, as needed • Accept or reject work results.

  16. Burndown Chart

  17. KANBAN

  18. 看板 – Kanban cards limit excess work in progress 看板 – kanban literally means “visual card,” “signboard,” or “billboard.” Toyota originally used Kanban cards to limit the amount of inventory tied up in “work in progress” on a manufacturing floor kanban cards act as a form of “currency” representing how WIP is allowed in a system. Kanban is an emerging process framework that is growing in popularity since it was first discussed at Agile 2007 in Washington D.C. 18

  19. Kanban basic rules study implement integrate test done backlog 2 4 1 3 • Visualize the workflow • Limit Work In Progress (WIP) • Measure and manage flow • Make process policies explicit • Improve Collaboratively (using models/scientific method) Lead time until done Cycle time of impl.

  20. Little’s Law for Queuing Theory • Total Cycle Time = Number of Things in Progress / Average Completion Rate • The only way to reduce cycle time is by either reducing the WIP, or improving the average completion rate. • Achieving both is desirable. • Limiting WIP is easier to implement by comparison.

  21. Limiting Work In Progress • 20% time is lost to context switching per task, so fewer tasks means less time lost(from Gerald Weinberg, Quality Software Management: Systems Thinking)

  22. Pull vs. Push

  23. One day in kanban land

  24. eXtreme Programming

  25. EXTREME PROGRAMMING (XP)EXAMPLE OF PRINCIPLES • Test Driven Development • Test Automation • Continuous Integration • Collective Code Ownership • Pair Programming

  26. Fine scale feedback Pair programming Planning game Test-driven development Whole team Continuous process Continuous integration Refactoring or design improvement Small releases Shared understanding Coding standards Collective code ownership Simple design System metaphor Programmer welfare Sustainable pace Coding The customer is always available Code the Unit test first Only one pair integrates code at a time Leave Optimization until last No Overtime Testing All code must have Unit tests All code must pass all Unit tests before it can be released. When a Bug is found tests are created before the bug is addressed (a bug is not an error in logic, it is a test you forgot to write) Acceptance tests are run often and the results are published eXtreme Programming practices

More Related