Requirements at the speed of light


Published on

Slides on a presentation that we give. Requirements on Agile Projects

Published in: Career, Technology, Business
  • Be the first to comment

  • Be the first to like this

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

No notes for slide

Requirements at the speed of light

  1. 1. Requirements at the Speed of Light Requirements on Agile ProjectsCopyright Seilevel
  2. 2. What are Requirements? 1. A condition or capability needed by a user to solve a problem or achieve an objective. 2. A condition or capability that must be met or possessed by a product or product component to satisfy a contract, standard, specification, or other formally imposed documents. 3. A documented representation of a condition or capability as in (1) or (2).Copyright Seilevel
  3. 3. What are Requirements? Requirements are any description of what the users want or need.Copyright Seilevel
  4. 4. The Villain Requirements Design Coding Verification MaintenanceCopyright Seilevel
  5. 5. Building Walls Artificial Barriers between Users and Developers. The line in the sand that starts fights.Copyright Seilevel
  6. 6. Why Do Projects Fail? •Lack of user input •Changing requirements •Incomplete requirements •Unclear objectivesCopyright Seilevel Standish Group – CHAOS Report, 2004
  7. 7. A Better Way? What if we got everyone together and just focused on building the right software?Copyright Seilevel
  8. 8. What is Agile? Individuals & Interactions Processes & Tools Working Software Comprehensive Documentation Customer Collaboration Contract Negotiation Responding to Change Following a Plan “That is, while there is value in the items on the right, we value the items on the left more.”Copyright Seilevel 1Manifesto for Agile Software Development -
  9. 9. Many Flavors of Agile • Scrum • Quick Iterations • Extreme Programming • Just in Time • Short Cycle Time • Test-Driven Development • Spiral • and more...Copyright Seilevel
  10. 10. What you might see REQUESTS BACKLOG REQUESTS 1 – REQUEST 2 – REQUEST … SPRINT •The system shall USER STORY 1 support user As an roles. Administrator User, I Manage users and permissions •The system shall support user need to be able to manage users and permissions, so that permissions.SILENCE •The system shall allow unauthorized access to restricted data is prevented. Administrator users to modify users’ permissions. CONFIRMATION: •The system shall .... - Test case 1...Copyright Seilevel
  11. 11. Fanning the Flames “In software development, the design document is a source code listing.”1 “The reality is that the requirements document is usually insufficient, regardless of how much effort goes into it…”2Copyright Seilevel 1Developer.*, 2005 2Agile Modeling, 2007
  12. 12. Pendulum Effect Too Much Documentation . . . ??? . . . Not Enough InformationCopyright Seilevel
  13. 13. The Search for BalanceCopyright Seilevel
  14. 14. Requirements Tips for Agile Requirements in Agile Projects How do you capture the right requirements, the right way, at the right time?Copyright Seilevel
  15. 15. Out of Date Documentation Write requirements as confirmation statements. Do them just in time for development iterations.Copyright Seilevel
  16. 16. Difficult to Remember Agreements Sometimes, you really just have to write things down. The human brain can’t track large numbers of tasks!Copyright Seilevel
  17. 17. Difficult to Remember all Rules Complex business processes may have hundreds or thousands of rules. Frame the rules as tests that are used at the end of the iteration.Copyright Seilevel
  18. 18. Prototypes are Slower Than Paper Writing down behavior is sometimes faster than demonstrating it. Think about when it would make sense to use paper mockups.Copyright Seilevel
  19. 19. Hard to Find Missing Requirements A B C C D A D E F F H G I B G H I Use visual models to find holes in information. Pictures are easy. Words are hard.Copyright Seilevel
  20. 20. Regulatory and Compliance Requires Documentation Sometimes you have a choice. Sometimes you don’t.Copyright Seilevel
  21. 21. Large Functionality cannot be Subdivided Break off story paths or steps. Use a backlog to track the rest of what must be implemented.Copyright Seilevel
  22. 22. Requests with Architectural Impact • Scalability • Reliability • Portability • Availability • Security • Efficiency • Localization Many nonfunctional requirements have architectural implications, and these are hard to retrofit.Copyright Seilevel
  23. 23. Long Range Budgeting & Planning The State of Texas budgets in two year intervals. How would they handle an Agile project? You can control Time and Money, but not Scope. Agile will focus on delivering the most important features first.Copyright Seilevel
  24. 24. Agile is a Great Alternative to Waterfall… Agile development is just one of many tools in the box, none of which is appropriate for every situation.Copyright Seilevel
  25. 25. Joy Beatty Seilevel Joy.Beatty@seilevel.comCopyright Seilevel