Agile från dag 1


Published on

Published in: Technology
1 Like
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Agile från dag 1

  1. 1. Använd Agile från dag 1- starta med lättrörligkravhanteringMicael ÅkessonArne ÅhlanderI samarbete med:
  2. 2. Intro• Agile från dag 1 – vad menas?• Hört om Scrum• Lättrörlig kravhantering• Strukturerad kravhantering- ett komplement till Agile• Frågestund• Summering
  3. 3. “It’s easier to act your wayto a new way of thinkingthan to think your wayto a new way of acting.”Jeffrey Liker
  4. 4. Var kan vi börja?• Dagligt möte• Samlokalisering• Tillvägagångssätt– Continuous Integration– TDD• Kontinuerlig återkoppling
  5. 5. 12 Agile Principles• Our highest priority is to satisfy the customerthrough early and continuous delivery ofvaluable software.• Welcome changing requirements, even late indevelopment. Agile processes harness changefor the customers competitive advantage.• Deliver working software frequently, from acouple of weeks to a couple of months, with apreference to the shorter timescale.• Business people and developers must worktogether daily throughout the project.• Build projects around motivated individuals.Give them the environment and support theyneed, and trust them to get the job done.• The most efficient and effective method ofconveying information to and within adevelopment team is face-to-faceconversation.• Working software is the primary measure ofprogress.• Agile processes promote sustainabledevelopment. The sponsors, developers, andusers should be able to maintain a constantpace indefinitely.• Continuous attention to technical excellenceand good design enhances agility.• Simplicity--the art of maximizing the amountof work not done--is essential.• The best architectures, requirements, anddesigns emerge from self-organizing teams.• At regular intervals, the team reflects on howto become more effective, then tunes andadjusts its behavior accordingly.
  6. 6. Our highest priority is to satisfythe customer through early andcontinuous delivery of valuablesoftware.
  7. 7. Welcome changing requirements,even late in development.Agile processes harness changefor the customers competitiveadvantage.
  8. 8. Deliver working softwarefrequently,from a couple of weeks to acouple of months,with a preference to the shortertimescale.
  9. 9. Business people anddevelopers must work togetherdaily throughout the project.
  10. 10. Working software is the primarymeasure of progress.
  11. 11. Continuous attention totechnical excellence and gooddesign enhances agility.
  12. 12. At regular intervals, the teamreflects on how to become moreeffective, then tunes and adjustsits behavior accordingly.
  13. 13. Hört om Scrum
  14. 14. Jag bryr mig inteom hur ni arbetar,bara ni levererar.
  15. 15. Mitt team har högrevelocity än ditt
  16. 16. Vi är speciella
  17. 17. Utgå frånexisterandeteam
  18. 18. Hur kan vistödja teamenpå bästa sätt?
  19. 19. Detta var mer änvad jag setttidigare
  20. 20. Lättrörlig kravhantering
  21. 21. Agile är INTE …• en ursäkt för att skippa dokumentation• en möjlighet att hoppa över planering• allmänhetens åkning avseende tillägg av krav• att blint tillämpa ”best practices” oavsett omde fungerar eller inte i er situation
  22. 22. Agile deals with• Zivs law - specifications will never be fully understood [1]• Humphreys law - the user will never know what theywant until after the system is in production (if then) [2]• Wegners lemma - an interactive system can never befully specified nor can it ever be fully tested [3]• Langdons lemma - software evolves more rapidly as itapproaches chaotic regions (without spilling over into chaos) [4]
  23. 23. • Identifiera först, bygg sedan• Tillräckligt med detaljer och ”Just intime” för att kunna implementera
  24. 24. Agil (lättrörlig) produktledning• Fokuserar på kontinuerlig– nedbrytning och förfining av kraven– prioritering av kraven– kommunikation med utvecklingsteam– kommunikation med kunder och intressenter
  25. 25. Gemensamma drag• Representera intressenter• Erbjuda förklaring och detaljering av kraven• Ordna och prioritera kraven• Arbeta tätt tillsammans med utvecklingsteam• Har sista ordet avseende acceptans av produkten
  26. 26. Problemdefinition vid projektstartProduktspecifikationer Hur mycket information finns formaliseratom den tänkta respektive den faktiskaprodukten vid projektstart?
  27. 27. Problemdefinition- krav i vattenfallsmetodikConcept StudyFeasibility StudyExecutionTestCustomer Project 1KravKravKravKravKravCCB
  28. 28. Vad en lärobok i kravhantering inte berättar…….• Dolda Agendor?• Teknisk Skuld?• Hur kommuniceras kraven?• Hur hanteras motstridiga krav?• Hur uppmuntras en godteamkänsla i kravhanteringen?
  29. 29. Strukturerad kravhantering – ett komplement till Agile- informationsflödeWho are the usersof a product?As a <User Role>,I want <Functionality>,so that <Benefit>Customer Acceptance TestUser Story Feature/Function TestFeature affärsnytta Specificationby ExampleExekverbartestdokumentation
  30. 30. Utmaningar för lättrörlig kravhantering• För att fånga kraven, kör gärna Spec Sprintar!• Se inte kraven som isolerade öar, de hänger ihop!• Välj en lämplig prioriteringsmetod för kraven• Fokusera på kraven som skapar kundnytta (värde)• Undvik budbärare av krav, jobba istället nära källan, därkraven skapas (produktledning, design, test, etc.)
  31. 31. Requirements Abstraction Model(RAM)This model is based on ”best industrial practice”.The model is developed in a research project incollaboration with Danaher Motion, ABBCorporate Research and School of Engineering,Blekinge Institute of Technology.
  32. 32. Roles and RAMCompany LevelStrategyProductFeatureFunctionProduct Level (goal)Feature Level(features)Function Level (functions)Feature: a service that the system provides to fulfill one or more stakeholders needsFunction: when the user does x, the system will do y, action oriented (to be used forestimation and as input to development)Product strategies, long and short-termgoals, roadmaps and visionsComponent Component LevelComponent: to be used for impact analysis or action listProduct OwnerTeamScrumTeam
  33. 33. Frågor
  34. 34. Summering• Agile innebär ofta nya tankebanor• Fast vi kan inte tänka fram förändringar– Börja göra• Lättrörlig kravhantering:– Tillräckligt med detaljer– Just-in-time• Agile kan kompletteras– Speciellt i större organisationer
  35. 35. Tack!micael@requirementsandsolutions.searne.ahlander@aqqurite.seI samarbete med:
  36. 36. Notes• [1] H. Ziv and D.J. Richardson, May 1996. See• [2] Watts S. Humphrey, A Discipline for SoftwareEngineering, Addison-Wesley, 1995.• See• [3] Peter Wegner, Why interaction is more powerfulthan algorithms, Comm. of the ACM, May 1997.• See• [4] W. B. Langdon. See also
  37. 37. LitteraturtipsFrån Arne• Essential Scrum: A Practical Guide to the Most Popular AgileProcess(Kenneth S. Rubin)• Agile Retrospectives – Making Good Teams Great(Esther Derby and Diana Larsen)• The Software Project Managers Bridge to Agility(Michele Sliger, Stacia Broderick)• Management 3.0: Leading Agile Develepors, DevelopingAgile Leaders(Jurgen Appelo)• Detta är Lean - lösningen på effektivitetsparadoxn(N. Modig, P. Åhlström)ån Micael• Specification by Example avGojko Adzic