Agile requirements engineering


Published on

Published in: 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

Agile requirements engineering

  1. 1. 1
  2. 2. 2
  3. 3. Study: 68 percent of IT projects fail! Source: 3
  4. 4. Facts and Figures  17% of large IT projects go so badly that they can threaten the very existence of the company.  On average, large IT projects run 45% over budget, while delivering 56% less value than predicted.  A truly stunning 78% of respondents reported that the “Business is usually - or always! - out of sync with project requirements”. Source: Why Projects Fail 4
  5. 5. Agile Requirements Engineering A practical approach
  6. 6. Yours truly :) 6
  7. 7. Agenda  Seven Questions Analysis.  The Now, The Work and The Goal.  Navigational Mockups.  F.U.R.P.S. Requirements.  User Stories and Usage Scenarios. 7
  8. 8. What do we search to achieve when performing requirements engineering? 8
  9. 9. To describe that product or service (a great one, if it’s possible) that will put a smile on our customer’s face. 9
  10. 10. Each question reveals a different dimension How? Why? Functional Motivational Temporal Where? Who? Organizational What? Conceptual 10 When? Geographical The Product How Much? Quantitative
  11. 11. In every job that must be done, there is an element of fun. You find the fun, and - SNAP - the job's a game! - Mary Poppins, A Spoonful Of Sugar 11
  12. 12. What? A little customization…  How did you get the idea?  Conceptual How will a success story (the perfect one, if it’s possible), will unfold in your case? 12
  13. 13. Who? People and Organizations A little customization…  Who are they? Those entities that will: Investors Customers IT Ops Invest their money Use the product The City Hall, Governmental Institutions etc. Keep the system running Try to make you fail Competition Give you different permits and approvals 13 Commercial Partners Invoice you or being invoiced by you
  14. 14. Who? People and Organizations A little customization…  What do they need?   Why? Motivational Things that can be acted upon (real-life objects, services, functionalities). For what purpose?  14 Motivations attached to these real-life objects, services, functionalities.
  15. 15. Why? Dig beyond the surface  Motivational Don’t take the first given reason. Look for something meaningful for the business. The marketing manager needs a sales report.  Why?   To what end?   To see the sales figures. To check if the company products are in demand. And then?  15 If necessary, to initiate corrective measures (as marketing campaigns).
  16. 16. All of them in one place  After collecting their needs and whys, we need to see if the envisioned functionalities satisfy them. 16
  17. 17. How? A little customization…  Functional How will the envisioned product fulfill their needs?  A clickable Happy-Path.  Navigational and UI Mockups. View Message Main Page Login Inbox Compose Delete message 17 Viewing Message Editing Message Deleting Message Warning
  18. 18. When? A little customization…  Temporal Take a look to a real calendar to identify those special days or periods in the product lifecycle.  18 And then, go deeper: When is the most busy hour of the day, day of the week, period of the month for a product of this kind?
  19. 19. Where? A little customization…  Geographical What are those physical places that your product will impact (or be impacted by)?  Accessed, administered, attacked from? Hosted where? Backups stored in? Delivered at?  What about in five years from now? 19
  20. 20. How Much? A little customization…  Quantitative Now, let’s go back and challenge, from a quantitative point of view, every answer we have received so far.  Only one portal? What it should happen in order to have two portals?  One portal administrator? What if he gets stranded on a tropical island, without any internet connection?  How many visitors (at minimum) per month to keep de business running? 20
  21. 21. The Now, the Work and the Goal The "Now" The Work The Goal Who is going to work in this project? Who offers the same services now? 21 Who is going to use the product?
  22. 22. Let's try a clickable mockup  Microsoft Word, the simplest tool to build a navigational mockup. 22
  23. 23. Don’t forget, gathering requirements for a product means more than identifying its functionalities! 23
  24. 24. F.U.R.P.S.  An acronym representing a model for classifying software quality attributes (functional and non-functional requirements):  Functionality - Feature set, Capabilities, Generality, Security.  Usability - Human factors, Aesthetics, Consistency, Documentation.  Reliability - Frequency/severity of failure, Recoverability, Predictability, Accuracy, Mean time to failure.  Performance - Speed, Efficiency, Resource consumption, Throughput, Response time.  Scalability - Testability, Extensibility, Adaptability, Maintainability, Compatibility, Configurability, Serviceability, Installability, Localizability, Portability. 24
  25. 25. User Stories and Usage Scenarios  User Story:  A user story is a very high-level definition of a requirement, containing just enough information so that the developers can produce a reasonable estimate of the effort to implement it. As a <role>, I want to <functionality>, so that I can <benefit>.  Usage Scenario:  It details a User Story, providing the necessary details for certain situations that require so. Given <situation>, when <event or trigger>, then <action>. 25
  26. 26. A piece of reality  As a visitor I want to login so that I can access my Inbox  Given the user is authenticated,   Given the visitor is not an authenticated user,    When the visitor dials, Then this page is displayed. When the visitor tries to access a member-only page, Then he gets redirected to the Main Page. Given the visitor entered three times in a row wrong credentials,  26 When dials, Then he gets redirected to the Inbox Page. When he tries for the fourth time, Then a Captcha is added to the page (to avoid bots).
  27. 27. And now, some questions for your answers  … or is the other way around? :) 27