Your SlideShare is downloading. ×
Sdec11 when user stories are not enough
Sdec11 when user stories are not enough
Sdec11 when user stories are not enough
Sdec11 when user stories are not enough
Sdec11 when user stories are not enough
Sdec11 when user stories are not enough
Sdec11 when user stories are not enough
Sdec11 when user stories are not enough
Sdec11 when user stories are not enough
Sdec11 when user stories are not enough
Sdec11 when user stories are not enough
Sdec11 when user stories are not enough
Sdec11 when user stories are not enough
Sdec11 when user stories are not enough
Sdec11 when user stories are not enough
Sdec11 when user stories are not enough
Sdec11 when user stories are not enough
Sdec11 when user stories are not enough
Sdec11 when user stories are not enough
Sdec11 when user stories are not enough
Sdec11 when user stories are not enough
Sdec11 when user stories are not enough
Sdec11 when user stories are not enough
Sdec11 when user stories are not enough
Sdec11 when user stories are not enough
Sdec11 when user stories are not enough
Sdec11 when user stories are not enough
Sdec11 when user stories are not enough
Sdec11 when user stories are not enough
Sdec11 when user stories are not enough
Sdec11 when user stories are not enough
Sdec11 when user stories are not enough
Sdec11 when user stories are not enough
Sdec11 when user stories are not enough
Sdec11 when user stories are not enough
Sdec11 when user stories are not enough
Sdec11 when user stories are not enough
Sdec11 when user stories are not enough
Sdec11 when user stories are not enough
Sdec11 when user stories are not enough
Sdec11 when user stories are not enough
Sdec11 when user stories are not enough
Sdec11 when user stories are not enough
Sdec11 when user stories are not enough
Sdec11 when user stories are not enough
Sdec11 when user stories are not enough
Sdec11 when user stories are not enough
Sdec11 when user stories are not enough
Sdec11 when user stories are not enough
Sdec11 when user stories are not enough
Sdec11 when user stories are not enough
Sdec11 when user stories are not enough
Sdec11 when user stories are not enough
Sdec11 when user stories are not enough
Sdec11 when user stories are not enough
Sdec11 when user stories are not enough
Sdec11 when user stories are not enough
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Sdec11 when user stories are not enough

551

Published on

Published in: News & Politics, Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
551
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
9
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. When User Stories aren’tenoughActive Architecture @tbunio Bornagainagilist.wordpress.com
  • 2. Agile ReviewAgenda User Stories What’s missing? Active Architecture Examples• Me• Agile Review - Agile Question• User Stories and User Story Process• What’s missing?• Active Architecture• Examples• Questions
  • 3. Agile ReviewMe User Stories What’s missing? Active Architecture Examples• Investors Group for 12 years - Software Developer - DBA/Data Architect• Protegra for 10 years - DBA/Data Architect - Project Manager - Agile Team Member • Project Manager/Application Architect/Tester• @tbunio• Bornagainagilist.wordpress.com
  • 4. Agile ReviewAgile Interests User Stories What’s missing? Active Architecture Examples• Agile on fixed price contacts• Agile in large enterprises - Government - Private• Agile estimating• Agile tools• Agile database development
  • 5. Agile ReviewLearning outcomes User Stories What’s missing? Active Architecture Examples• Describe what Active Architecture is• Describe the benefits of Active Architecture and what some limitations of User Stories might be• Contrast Active Architecture to other forms of Architecture documentation
  • 6. Agile ReviewAgile Question User Stories What’s missing? Active Architecture Examples• What do people think is the main shortcoming of Agile?
  • 7. Agile ReviewAgile Review User Stories What’s missing? Active Architecture Examples
  • 8. Agile ReviewTraditional User Stories What’s missing? Active Architecture Examples• Textual Status Reports• Detailed project plan at the start of the project• Discrete project roles• Serial project phases• Large and voluminous requirements documentation• Large testing phase - Usually can result in manual testing• ‘Big Bang’ deployment - Usually can result in manual deployments
  • 9. Agile ReviewAgile User Stories What’s missing? Active Architecture Examples• Visual Project Management• Not a detailed project plan at the start of the project• Cross-functional team members• Iterations• Lean requirement documentation• Testing phase integrated in all activities - Automated testing• Multiple deployments - Automated deployments and continuous integration
  • 10. Agile ReviewAgile Thoughts User Stories What’s missing? Active Architecture Examples
  • 11. Agile ReviewAgile Thoughts User Stories What’s missing? Active Architecture Examples• Being quicker and doing less for the sake of being quicker and doing less is not being Agile - It needs to result in more value to the client and project• We need to be careful to not throw the Baby (good traditional processes) out with the Bathwater (bad traditional processes)• In particular - All Up front Design and Architecture - All Estimating• Traditional and Agile are not mutually exclusive processes - There are opportunities for hybrid approaches
  • 12. Agile ReviewThese are not the processes User Stories What’s missing?you are looking for… Active Architecture Examples
  • 13. Agile ReviewUser Stories User Stories What’s missing? Active Architecture Examples Copyright : The Sherpa Project – www.thesherpaproject.com
  • 14. Agile ReviewUser Stories User Stories What’s missing? Active Architecture Examples Copyright : The Sherpa Project – www.thesherpaproject.com
  • 15. Agile ReviewUser Stories User Stories What’s missing? Active Architecture Examples Copyright : The Sherpa Project – www.thesherpaproject.com
  • 16. Agile ReviewWhat User Stories are… User Stories What’s missing? Active Architecture ExamplesA small piece of • As a user, I want tofunctionality that login with myprovides some value to password, so that Ia user can gain access to the site. “A place holder for a conversation.”
  • 17. Agile ReviewWhat User Stories are… User Stories What’s missing? Active Architecture ExamplesI Independent *N Negotiable (can be prioritized)V Valuable (to a user)E EstimableS SmallT Testable
  • 18. Agile ReviewFormats User Stories What’s missing? Active Architecture ExamplesBy the book:As a [role], As a [user]I want to I want to[some action], [login with my pwd]so that so that[goal] [I can gain access to the site]
  • 19. Agile ReviewFormats User Stories What’s missing? Active Architecture Examples As aWho [user] I want toWhat [login with my pwd] so thatWhy [I can gain access to the site]The “by the book” format is great for learning, but at its core, it is just Who/What/Why
  • 20. Agile ReviewUser Story Process User Stories What’s missing? Active Architecture Examples• Typically User Story will be compiled using a variety of methods.• These include User Story Mapping and other traditional methods - Interviewing - Workshops - Focus groups
  • 21. Agile ReviewUser Story Estimation User Stories What’s missing? Active Architecture Examples• All the User Stories are then typically estimated relatively• Planning Poker is then done either on: - An iteration by iteration basis - A few iterations in advance• Planning Poker will typically confirm the Requirements and enhance aspects of the design• In addition, Planning Poker usually also touches on aspects of detailed design and architecture.
  • 22. Agile ReviewWhat is missing? User Stories What’s missing? Active Architecture Examples• Since we are doing design iteratively… - How do we minimize rework? • Could designs in later iterations cause rework? - How do we know our designs are consistent across iterations? • What if different team members are responsible for different aspects? • What if team composition changes? - How do we know they are no gaps in our design? • Are there user stories that we are missing?• And since User Stories are from a user event perspective, are we missing ‘System’ stories that define background details?
  • 23. Agile ReviewWhat are we missing? User Stories What’s missing? Active Architecture Examples• User Stories and Planning Poker sessions will answer these questions eventually• But is there a light-weight process that can answer these questions earlier to minimize rework?
  • 24. Agile ReviewShared Design Vision User Stories What’s missing? Active Architecture Examples
  • 25. Agile ReviewShared Design Vision User Stories What’s missing? Active Architecture Examples• After we have compiled and estimated the User Stories, do we have a shared vision of the design and ultimate solution? - At a high level?
  • 26. Agile ReviewWithout a Shared Vision User Stories What’s missing? Active Architecture Examples
  • 27. Agile ReviewUser Experience Visioning User Stories What’s missing? Active Architecture Examples• In David Alpert’s talk yesterday on User Experience Design, he mentioned the process of ‘thinking through’ the User Experience - After this development went very smoothly• This provided the awareness of context of the bigger picture for all that were involved.• I am essentially proposing a Lean/Agile ‘thinking through’ process for design or architecture
  • 28. Agile ReviewWhat would the Document User Stories What’s missing?look like? Active Architecture Examples
  • 29. Agile ReviewTraditional Design User Stories What’s missing?Documents Active Architecture Examples• Large• Textual• Passive State
  • 30. Agile ReviewAgile Design Document User Stories What’s missing? Active Architecture Examples• Light-weight• Graphical and textual• Active State
  • 31. Agile ReviewAgile Design Document User Stories What’s missing? Active Architecture Examples• Active versus Passive• Traditional design document is passive like a road map• Active Architecture is active like trip directions• They don’t describe the road, they describe how the road is to be travelled or used.
  • 32. Agile ReviewThree types of Agile User Stories What’s missing?Requirements Active Architecture Examples• User Stories – Stories of how the User interacts with the application or manual processes• Component Conversations – Conversations between components of the application• Technical Tasks – Technical tasks that the applications needs to perform within a component
  • 33. Agile ReviewActive Architecture User Stories What’s missing? Active Architecture Examples
  • 34. Agile ReviewAgile Requirements User Stories What’s missing? Active Architecture Examples• It is thought that User Stories and Tests can be all the documentation you require on an Agile project• But we know we can’t create tests for everything• How can we create complete user stories for: - Portfolio Rebalancing Engine - Payroll Engine - Scheduling or Matching Engines
  • 35. Agile ReviewSolution Planning and User Stories What’s missing?Design Active Architecture Examples
  • 36. Agile ReviewComponent Conversations User Stories What’s missing? Active Architecture Examples• Ensures User Stories are consistent in how functionality is handled across components• Ensures User Stories do not create an undue amount of rework when an original story is encountered in a later iteration• Ensures that the entire solution has been thought through at a high level• Reduces the chance that a story will be discovered late that will require earlier stories to be revisited• Ensures technical tasks are implemented consistently across components
  • 37. Agile ReviewComponent Conversation User Stories What’s missing? Active Architecture Examples• Ensures the creation of complex back-end high level requirements that would be inefficient and possibly inconsistent to define on a story by story basis• Ensures the creation of complex back-end high level requirements that may not be covered easily by user stories• Components conversations can be reviewed to ensure we have all the system functionality covered and there are no gaps.
  • 38. Agile ReviewAgile Planning User Stories What’s missing? Active Architecture Examples
  • 39. Agile ReviewAgile Planning User Stories What’s missing? Active Architecture Examples
  • 40. Agile ReviewSolution Driven Development User Stories What’s missing? Active Architecture Examples• “I believe in what I like to term Solution Driven Development. If you can’t or haven’t envisioned the solution, how can you start executing the project? Some people would say that not having to envision the total solution is Agile. I believe it is unprofessional. Some would say that the solution will change anyway so why spend the effort envisioning and planning when it is likely to change? I believe that we can’t proceed unless we have a shared vision on what we are creating.”
  • 41. Agile ReviewWelcome Changing User Stories What’s missing?Requirements Active Architecture Examples• “welcome changes to the requirements in response to evolving business needs”.• Two assumptions: - “Changes are welcome to the requirements” – This means we know what the baseline of the requirements are. Otherwise, how could we know what a change is? - “Respond to evolving business needs” - We are responding to evolving business needs. This assumes that we have a baseline of current business needs.
  • 42. Agile ReviewActive Architecture User Stories What’s missing?Objectives Active Architecture Examples• To think things through from a requirements and design perspective• To envision and design the solution to ensure that the solution is complete, consistent, and cohesive
  • 43. Agile ReviewPotential Format User Stories What’s missing? Active Architecture Examples• [#][Component A] does [primary action].[object].[additional action] by [Action].[Component B] when [event]
  • 44. Agile ReviewFacebook example – User Stories What’s missing?Browsing Friends Active Architecture Examples- [1][SuggestedFriends] does [create].[SuggestedFriendList] by [filtering common connections across all friends].[Connection-DB] when [user logs on]- [2][FacebookUser] does [Sends].[FriendInvitation] by [selectingconnectioninvitebutton].[SuggestedFriendList] when [User clicks on send friend request]- [3][FacebookUser] does [Updates].[SuggestedFriendList] by [selectingconnectionhidebutton].[SuggestedFriendList][HideFriendList] when [User clicks on hide friend]- [4][FacebookUser] does [Accept].[FriendInvitation] by [selecting accept invitation].[PendingInvitations] when [User clicks on accept invitation]
  • 45. Agile ReviewFaceBook example – User Stories What’s missing?Learnings Active Architecture Examples• There is a process that creates these SuggestedFriendLists separate from the User interactions• There is a Connection-DB that is used to create this SuggestedFriendList and possibly the HideFriendList• There is an object that contains the Pending Invitations. (And possibly a similar concept for other pending objects)• There is the concept of a persisted HideFriendList to ensure suggestions that have been selected to be hidden will not appear again.
  • 46. Agile ReviewEmail Example User Stories What’s missing? Active Architecture Examples
  • 47. Agile ReviewEmail Example User Stories What’s missing? Active Architecture Examples
  • 48. Agile ReviewEmail Example User Stories What’s missing? Active Architecture Examples
  • 49. Agile ReviewEmail Example User Stories What’s missing? Active Architecture Examples
  • 50. Agile ReviewEmail Example User Stories What’s missing? Active Architecture Examples
  • 51. Agile ReviewEmail Example User Stories What’s missing? Active Architecture Examples• Although the User Story map will help to flesh out the functionality in Iterations, what about the following items? - Message delivery and transmission (and confirmation) - How and when will messages be stored? • How can they be recovered? - Junk mail and approved sender functionality - Encryption/Decryption functionality• For novel solutions, it usually isn’t enough to just document the user interactions requirements
  • 52. Agile ReviewActive Architecture User Stories What’s missing?Guidelines Active Architecture Examples• Maximum of 2-3 days for a 3-6 month project• Accompanied by a solution design diagram on a white board - Take pictures after review with team to gain consensus - You can’t make me use Visio… not gonna do it..• These two deliverables can be all that is required for Agile design documentation
  • 53. Courage
  • 54. Courage
  • 55. Courage• Most of what I’ve presented are other thoughts and guidelines with my thoughts and guidelines• I encourage you to try them out and tailor them to your own situation• How else can we make Agile processes even better?
  • 56. References• Blog Posts : - http://bornagainagilist.wordpress.com/2011/06/13/active- architecture-user-stories-for-architecture/ - http://bornagainagilist.wordpress.com/2011/07/14/solution- driven-development/• InfoQ article: - http://www.infoq.com/articles/active-architecture-agile
  • 57. Questions?

×