Robert de Wolff Capgemini Estimation and planning with smart use cases
Robert de Wolff <ul><li>.Net software developer Capgemini </li></ul><ul><ul><li>Development ASP.Net, C#, Sharepoint, SQL B...
Agenda <ul><li>Introducing smart use cases </li></ul><ul><li>Estimating with smart use cases </li></ul><ul><ul><li>Establi...
Introducing smart use cases
Different levels of use cases Merge companies Merge mortgage systems Select product Insert orderline Place order
Different levels of use cases Merge companies Merge mortgage systems Select product Insert orderline Place order
Introducing smart use cases <ul><li>Why smart use cases? </li></ul><ul><ul><li>Modeled early in projects </li></ul></ul><u...
Introducing smart use cases
Estimating with smart use cases
Estimating with smart use cases <ul><li>Software estimation </li></ul><ul><ul><li>Estimate the total complexity (C) </li><...
Establishing complexity
Abstract weight of smart use cases <ul><li>1.  Piece of cake </li></ul><ul><ul><li>Simple selection, simple maintenance </...
Defining the weight of smart use cases 4 2 3 8 8 4
Determining velocity
Determining velocity <ul><li>How determine velocity on your project? </li></ul><ul><ul><li>Calibrate as soon as possible a...
Smart use case stereotypes
Smart use case stereotypes <ul><li>Identify reusable types of smart use cases </li></ul><ul><ul><li>Project specific </li>...
Stereotypes examples user interface <ul><li>3 – Manage </li></ul><ul><ul><li>Manage a single instance of a business entity...
Stereotypes examples reporting <ul><li>5 – Extended Report </li></ul><ul><ul><li>Present a complex report </li></ul></ul><...
Stereotypes examples other <ul><li>10 – System Service </li></ul><ul><ul><li>Interact with another system, using a complex...
Stereotypes exampes Business Intelligence <ul><li>Extract, Transform and Load </li></ul><ul><ul><li>Collect (5 - Very diff...
And … don’t forget <ul><li>Main </li></ul><ul><ul><li>The starting page of any application </li></ul></ul><ul><li>Login an...
Planning with smart use cases
Agile and iterative software development <ul><li>Apply short iterations </li></ul><ul><ul><li>Fixed date, fixed price </li...
Estimation Poker
Tools for agile estimation & measurement
Tools for agile estimation & measurement <ul><li>Tools for agile estimation & measurement </li></ul><ul><ul><li>Burn down ...
Burn down chart Projected end date
Agile dashboard <ul><li>Agile dashboard </li></ul><ul><ul><li>Easy-to-use project dashboard </li></ul></ul><ul><ul><li>Vis...
 
A project simulation Planning agile projects
Project Start Use historical data to establish velocity 12 smart use case points per iteration First estimate: 4 iteration...
Start of first iteration Customer picks use cases In this case, just too much Team is optimistic
End of first iteration Establish actual velocity 13 smart use case points Not bad!
Start of second iteration Customer picks 13 use case points Although not required, this includes the unfinished use case f...
New use cases! Somewhere along the second iteration new use cases are discovered Added to the New category Don’t change sc...
End of second iteration Calibrate project velocity at 11.5 Re-estimate project at 55 points Project will take 5 iterations...
Start of third iteration Actual velocity appears 11.5 Customer gets to pick 11 smart use case points, including new use ca...
End of project after 4 iterations After 4 iterations, 52 points were realized. Project is delivered successfully Last use ...
Tips & Tricks Estimation and planning with smart use cases
Tips & Tricks <ul><li>Estimation </li></ul><ul><ul><li>Create an estimation as a collaborative experience </li></ul></ul><...
Agenda <ul><li>Introducing smart use cases </li></ul><ul><li>Estimating with smart use cases </li></ul><ul><ul><li>Establi...
wiki.trinidadplatform.org Robert.de.Wolff@Capgemini.com  Questions
Upcoming SlideShare
Loading in...5
×

Estimation and planning with smart use cases

3,839

Published on

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

No Downloads
Views
Total Views
3,839
On Slideshare
0
From Embeds
0
Number of Embeds
8
Actions
Shares
0
Downloads
242
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

Estimation and planning with smart use cases

  1. 1. Robert de Wolff Capgemini Estimation and planning with smart use cases
  2. 2. Robert de Wolff <ul><li>.Net software developer Capgemini </li></ul><ul><ul><li>Development ASP.Net, C#, Sharepoint, SQL BI, WCF </li></ul></ul><ul><ul><li>Software Architect / Dev lead </li></ul></ul><ul><li>Accelerated Delivery Platform </li></ul><ul><ul><li>Member ADP Core team </li></ul></ul><ul><ul><li>Development ADF.Net Framework, MDA Generator </li></ul></ul><ul><ul><li>Teacher in Agile development, Smart use cases and .Net </li></ul></ul>
  3. 3. Agenda <ul><li>Introducing smart use cases </li></ul><ul><li>Estimating with smart use cases </li></ul><ul><ul><li>Establishing complexity </li></ul></ul><ul><ul><li>Determining velocity </li></ul></ul><ul><ul><li>Smart use case stereotypes </li></ul></ul><ul><li>Planning with smart use cases </li></ul><ul><ul><li>Agile software development </li></ul></ul><ul><ul><li>Tools for agile estimation & measurement </li></ul></ul><ul><ul><li>Planning agile projects </li></ul></ul>
  4. 4. Introducing smart use cases
  5. 5. Different levels of use cases Merge companies Merge mortgage systems Select product Insert orderline Place order
  6. 6. Different levels of use cases Merge companies Merge mortgage systems Select product Insert orderline Place order
  7. 7. Introducing smart use cases <ul><li>Why smart use cases? </li></ul><ul><ul><li>Modeled early in projects </li></ul></ul><ul><ul><li>Low effort </li></ul></ul><ul><ul><li>Visual representation </li></ul></ul><ul><ul><li>Single level of complexity </li></ul></ul><ul><ul><li>Similar granularity </li></ul></ul><ul><ul><li>Good unit of work in iterative projects </li></ul></ul><ul><ul><li>Can be based on most functional requirements specifications, business processes or existing applications </li></ul></ul><ul><ul><li>Technology independent </li></ul></ul><ul><ul><li>Reproducible </li></ul></ul><ul><ul><li>Repeatable </li></ul></ul>
  8. 8. Introducing smart use cases
  9. 9. Estimating with smart use cases
  10. 10. Estimating with smart use cases <ul><li>Software estimation </li></ul><ul><ul><li>Estimate the total complexity (C) </li></ul></ul><ul><ul><li>Determine project velocity (V) </li></ul></ul><ul><ul><li>Calculate size (C x V) and costs </li></ul></ul><ul><ul><li>Note: this is a non-linear equation </li></ul></ul><ul><ul><li>Note: don’t forget additional activities </li></ul></ul><ul><li>Establish complexity </li></ul><ul><ul><li>Use abstract weights to express complexity </li></ul></ul><ul><ul><li>Easier to compare </li></ul></ul><ul><ul><li>Use stereotypes as guiding </li></ul></ul><ul><li>Establish velocity </li></ul><ul><ul><li>Industry data from other organizations for similar type of software </li></ul></ul><ul><ul><li>Historical data from other projects in your organization </li></ul></ul><ul><ul><li>Project data from the project at hand </li></ul></ul>
  11. 11. Establishing complexity
  12. 12. Abstract weight of smart use cases <ul><li>1. Piece of cake </li></ul><ul><ul><li>Simple selection, simple maintenance </li></ul></ul><ul><li>2. Moderate </li></ul><ul><ul><li>Normal selection </li></ul></ul><ul><li>3. Average </li></ul><ul><ul><li>Normal maintenance, normal search </li></ul></ul><ul><li>4. Hard </li></ul><ul><ul><li>Reporting, one-many </li></ul></ul><ul><li>5. Very difficult </li></ul><ul><ul><li>Graphs, extensive reporting, interfacing </li></ul></ul><ul><li>8. Extreme, but known </li></ul><ul><ul><li>Complex interfacing </li></ul></ul><ul><li>10. Extreme and unknown </li></ul><ul><ul><li>Distributed interfacing, calculations </li></ul></ul>
  13. 13. Defining the weight of smart use cases 4 2 3 8 8 4
  14. 14. Determining velocity
  15. 15. Determining velocity <ul><li>How determine velocity on your project? </li></ul><ul><ul><li>Calibrate as soon as possible and often </li></ul></ul><ul><ul><li>Preferably use project data </li></ul></ul><ul><ul><li>Possibly use historical data </li></ul></ul><ul><ul><li>Otherwise use industry data </li></ul></ul><ul><li>What to use to determine velocity? </li></ul><ul><ul><li>Industry data from other organizations for similar type of software </li></ul></ul><ul><ul><li>Historical data from other projects in your organization </li></ul></ul><ul><ul><li>Project data from the project at hand </li></ul></ul><ul><ul><li>Otherwise validate with expert estimations </li></ul></ul>
  16. 16. Smart use case stereotypes
  17. 17. Smart use case stereotypes <ul><li>Identify reusable types of smart use cases </li></ul><ul><ul><li>Project specific </li></ul></ul><ul><ul><li>Regular over projects </li></ul></ul><ul><li>Guides estimation </li></ul><ul><ul><li>For determing complexity </li></ul></ul><ul><ul><li>Evaluate completeness with stereotype patterns </li></ul></ul><ul><li>Also used for generation </li></ul><ul><ul><li>Sourcecode </li></ul></ul><ul><ul><li>Documents </li></ul></ul><ul><li>Groups of stereotypes </li></ul><ul><ul><li>User interface </li></ul></ul><ul><ul><li>Reporting </li></ul></ul><ul><ul><li>Services </li></ul></ul><ul><ul><li>Handling files </li></ul></ul><ul><ul><li>Business Intelligence </li></ul></ul>
  18. 18. Stereotypes examples user interface <ul><li>3 – Manage </li></ul><ul><ul><li>Manage a single instance of a business entity </li></ul></ul><ul><ul><li>Additional functionality, such a business rules, comparisons, authorization </li></ul></ul><ul><li>4 – Master Detail </li></ul><ul><ul><li>Manage a single instance of a business entity </li></ul></ul><ul><ul><li>Manage a list of instance from an associated (owned) business entity </li></ul></ul><ul><li>2 – Select </li></ul><ul><ul><li>Select a single instance from a list </li></ul></ul><ul><ul><li>Additional functionality, such as other properties, paging </li></ul></ul><ul><ul><li>Used for non-complex reference data </li></ul></ul><ul><li>3 – Search </li></ul><ul><ul><li>Select a single instance from a list </li></ul></ul><ul><ul><li>Search arguments can be used to filter the list </li></ul></ul>
  19. 19. Stereotypes examples reporting <ul><li>5 – Extended Report </li></ul><ul><ul><li>Present a complex report </li></ul></ul><ul><ul><li>Over several instances of business entities </li></ul></ul><ul><ul><li>Complex functionality, for instance totals and calculations </li></ul></ul><ul><li>8 – Graph </li></ul><ul><ul><li>Present a report </li></ul></ul><ul><ul><li>Over one or more instances of business entities </li></ul></ul><ul><ul><li>Contain one or more graphs over instances </li></ul></ul>
  20. 20. Stereotypes examples other <ul><li>10 – System Service </li></ul><ul><ul><li>Interact with another system, using a complex unknown interface </li></ul></ul><ul><ul><li>This type of use case is often split </li></ul></ul><ul><li>8 - Calculation </li></ul><ul><ul><li>Performs complex or time-consuming calculations, such as interest calculations or complex comparisons </li></ul></ul><ul><ul><li>Possibly split into sub-calculations </li></ul></ul>
  21. 21. Stereotypes exampes Business Intelligence <ul><li>Extract, Transform and Load </li></ul><ul><ul><li>Collect (5 - Very difficult) Collects data from a source, perform basic checks and prepares the source for staging in. </li></ul></ul><ul><ul><li>Integrate (10 - Extreme and unknown) Integrates data from different sources, perform basic checks and prepares the data for the following layer. </li></ul></ul><ul><ul><li>Aggregate (3 - Average) Aggregates and denormalizes data and performs basic checks to prepare the data for general staging out. </li></ul></ul><ul><ul><li>Calculate (8 - Extreme, but known) Calculates and creates new information based on different rules, applies filters and performs basic checks to prepare the data for the different dependent data marts. </li></ul></ul>
  22. 22. And … don’t forget <ul><li>Main </li></ul><ul><ul><li>The starting page of any application </li></ul></ul><ul><li>Login and logout </li></ul><ul><ul><li>The inevitable smart use cases to login and logout </li></ul></ul><ul><li>Roles and Users </li></ul><ul><ul><li>Maintenance of roles, users and permissions </li></ul></ul><ul><ul><li>Applicable to almost any project </li></ul></ul><ul><li>References </li></ul><ul><ul><li>Maintenance of reference data </li></ul></ul><ul><ul><li>Countries </li></ul></ul><ul><ul><li>Regions </li></ul></ul><ul><ul><li>Contract types </li></ul></ul>
  23. 23. Planning with smart use cases
  24. 24. Agile and iterative software development <ul><li>Apply short iterations </li></ul><ul><ul><li>Fixed date, fixed price </li></ul></ul><ul><ul><li>Two, three or four week iterations </li></ul></ul><ul><ul><li>Allows maximized feedback </li></ul></ul><ul><ul><li>Allows changes, even late in the project </li></ul></ul><ul><li>Logical and small unit of work </li></ul><ul><ul><li>User stories in extreme programming </li></ul></ul><ul><ul><li>Features in FDD </li></ul></ul><ul><ul><li>Back order list in Scrum </li></ul></ul><ul><ul><li>Smart use cases in Smart </li></ul></ul>
  25. 25. Estimation Poker
  26. 26. Tools for agile estimation & measurement
  27. 27. Tools for agile estimation & measurement <ul><li>Tools for agile estimation & measurement </li></ul><ul><ul><li>Burn down charts </li></ul></ul><ul><ul><li>Agile project dashboards </li></ul></ul><ul><li>Why do projects need such tools? </li></ul><ul><ul><li>Continuous overview of project for customer and project team </li></ul></ul><ul><ul><li>Monitor progress </li></ul></ul><ul><ul><li>Gather metrics </li></ul></ul><ul><ul><li>Determine velocity </li></ul></ul><ul><li>What is a burn down chart? </li></ul><ul><ul><li>Shows project progress and time-to-complete </li></ul></ul><ul><ul><li>Extrapolate project end </li></ul></ul><ul><ul><li>Project- , Iteration burndown (and maybe per use case) </li></ul></ul><ul><li>What is a project dashboard? </li></ul><ul><ul><li>Visualizes scope and current status of project </li></ul></ul>
  28. 28. Burn down chart Projected end date
  29. 29. Agile dashboard <ul><li>Agile dashboard </li></ul><ul><ul><li>Easy-to-use project dashboard </li></ul></ul><ul><ul><li>Visualizes progress in smart use-cases </li></ul></ul><ul><ul><li>Frequently used stages include New , In Iteration , Working , Testing , Rework and Accepted (and Dropped ) </li></ul></ul><ul><li>Why does the smart dashboard add value to projects? </li></ul><ul><ul><li>Easy-to-use </li></ul></ul><ul><ul><li>Flexible </li></ul></ul><ul><ul><li>Easy-to-understand </li></ul></ul><ul><ul><li>No overhead </li></ul></ul>
  30. 31. A project simulation Planning agile projects
  31. 32. Project Start Use historical data to establish velocity 12 smart use case points per iteration First estimate: 4 iterations required
  32. 33. Start of first iteration Customer picks use cases In this case, just too much Team is optimistic
  33. 34. End of first iteration Establish actual velocity 13 smart use case points Not bad!
  34. 35. Start of second iteration Customer picks 13 use case points Although not required, this includes the unfinished use case from the first iteration
  35. 36. New use cases! Somewhere along the second iteration new use cases are discovered Added to the New category Don’t change scope during iteration!
  36. 37. End of second iteration Calibrate project velocity at 11.5 Re-estimate project at 55 points Project will take 5 iterations, but only 4 are and remain planned!
  37. 38. Start of third iteration Actual velocity appears 11.5 Customer gets to pick 11 smart use case points, including new use cases
  38. 39. End of project after 4 iterations After 4 iterations, 52 points were realized. Project is delivered successfully Last use case is not implemented
  39. 40. Tips & Tricks Estimation and planning with smart use cases
  40. 41. Tips & Tricks <ul><li>Estimation </li></ul><ul><ul><li>Create an estimation as a collaborative experience </li></ul></ul><ul><ul><li>Re-estimate regularly </li></ul></ul><ul><ul><li>Eliminate use cases with complexity 10 </li></ul></ul><ul><li>Measurement </li></ul><ul><ul><ul><li>Immediately start with capturing measurements. This is not only a project activity. </li></ul></ul></ul><ul><ul><ul><li>Monitoring progress is for the whole team </li></ul></ul></ul><ul><li>Planning </li></ul><ul><ul><li>Define clear use case lifecycle </li></ul></ul>
  41. 42. Agenda <ul><li>Introducing smart use cases </li></ul><ul><li>Estimating with smart use cases </li></ul><ul><ul><li>Establishing complexity </li></ul></ul><ul><ul><li>Determining velocity </li></ul></ul><ul><ul><li>Smart use case stereotypes </li></ul></ul><ul><li>Planning with smart use cases </li></ul><ul><ul><li>Agile software development </li></ul></ul><ul><ul><li>Tools for agile estimation & measurement </li></ul></ul><ul><ul><li>Planning agile projects </li></ul></ul>
  42. 43. wiki.trinidadplatform.org Robert.de.Wolff@Capgemini.com Questions
  1. Gostou de algum slide específico?

    Recortar slides é uma maneira fácil de colecionar informações para acessar mais tarde.

×