1. When User Stories aren’t
enough
Active Architecture
@tbunio
Bornagainagilist.wordpress.com
2. Agile Review
Agenda 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 Review
Me 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 Review
Agile 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 Review
Learning 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 Review
Agile Question User Stories
What‟s missing?
Active Architecture
Examples
• What do people think is the main shortcoming of Agile?
8. Agile Review
Traditional 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 Review
Agile 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
11. Agile Review
Agile 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 Review
These are not the processes User Stories
What‟s missing?
you are looking for… Active Architecture
Examples
13. Agile Review
User Stories User Stories
What‟s missing?
Active Architecture
Examples
Copyright : The Sherpa Project – www.thesherpaproject.com
14. Agile Review
User Stories User Stories
What‟s missing?
Active Architecture
Examples
Copyright : The Sherpa Project – www.thesherpaproject.com
15. Agile Review
User Stories User Stories
What‟s missing?
Active Architecture
Examples
Copyright : The Sherpa Project – www.thesherpaproject.com
16. Agile Review
What User Stories are… User Stories
What‟s missing?
Active Architecture
Examples
A small piece of • As a user, I want to
functionality that login with my
provides some value password, so that I
to a user can gain access to
the site.
“A place holder for a conversation.”
17. Agile Review
What User Stories are… User Stories
What‟s missing?
Active Architecture
Examples
I Independent *
N Negotiable (can be prioritized)
V Valuable (to a user)
E Estimable
S Small
T Testable
18. Agile Review
Formats User Stories
What‟s missing?
Active Architecture
Examples
By 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 Review
Formats User Stories
What‟s missing?
Active Architecture
Examples
As a
Who [user]
I want to
What [login with my pwd]
so that
Why [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 Review
User 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 Review
User 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 Review
What 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 Review
What 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?
25. Agile Review
Shared 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 Review
Without a Shared Vision User Stories
What‟s missing?
Active Architecture
Examples
27. Agile Review
User 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 Review
What would the Document User Stories
What‟s missing?
look like? Active Architecture
Examples
29. Agile Review
Traditional Design User Stories
What‟s missing?
Documents Active Architecture
Examples
• Large
• Textual
• Passive State
30. Agile Review
Agile Design Document User Stories
What‟s missing?
Active Architecture
Examples
• Light-weight
• Graphical and textual
• Active State
31. Agile Review
Agile 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 Review
Three 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
34. Agile Review
Agile 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
36. Agile Review
Component 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 Review
Component 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.
40. Agile Review
Solution 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 Review
Welcome 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 Review
Active 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 Review
Potential 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 Review
Facebook 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 Review
FaceBook 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.
51. Agile Review
Email 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 Review
Active 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
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?