Collaborative Agile Inception
Agile project are driven by developing user stories during development iterations. A well run Agile project places continuous emphasis both on the user stories being designed and developed and on the intended business and user objectives. Stories may be changed, added, or removed in order to meet those business and user objectives. Agile projects realize value quickly through incremental release of software that can be used by both the users and business paying for the software.
To begin an Agile project we need a shared understanding of the most important business and user objectives to strive for. We need a shared understanding of the current work practice of those who will be using the resulting software. Based on this problem context we can then proceed to write "user stories" that describe how users of a new or improved application might use new functionality to obtain value for business and users as early as possible. Then, using a strategy of incremental release, add functionality and increase value to business and users over time.
An or is often used to identify business and user objectives, create an initial of user stories, and a plan for releasing them incrementally. How can we accomplish these Agile inception activities as quickly as possible and in way that everyone begins the project with shared understanding, direction, and priority?
One Week Collaborative Agile Inception
In a single week of hard collaborative work, understand project objectives, supported user constituencies, and high level functional scope such that size of the project can be roughly estimated and an incremental release strategy can be identified.
Using a series of 90-minute collaborative modeling sessions model:
- Prioritized measureable business objectives
- Users, their goals, and characteristics that drive product functionality
- Existing workflow and problem areas within it
- New workflow with candidate functionality that rectified problems and meets business and user objectives
- User interface prototypes that help business stakeholders and users envision a new solution
- High level user stories that when coupled with UI prototypes allow engineers to give rough project sizing estimates
- Incremental release roadmap that shows how specific functionality can support the realization of value over time
Schedule two 90-minute work sessions per day leaving 1-2 hours between each session to consolidate information gathered and prepare for the next session.
A simple daily schedule might look like this:
|8:30 - 8:45||Standup meeting to plan the day|
|8:45 - 10:00||Preparation for first modeling session|
|10:00 - 11:30||First collaborative modeling session|
|11:30 - 14:00||Lunch and preparation for second modeling session|
|14:00 - 15:30||Second collaborative modeling session|
|15:30 - 17:00||Consolidation and documentation for the days work|
|17:00 - 17:15||Quick reflection, or parting takeaways identified in the day's work|
Include in each session participants that can supply important information such as business stakeholders and potential users of the new solution. Include also participants that that must acquire important product context for using in conducting detailed analysis and design throughout the project. These may include lead developer or architect, lead tester, lead business analyst, or product manager.
Balance the number of information suppliers and acquirers to keep modeling session size at 5-10 participants. Fewer participants helps things move more quickly. Omitting important participants however may decrease the quality of the resulting models and decisions made.
Using a single war room for the first week of collaborative work
The collaborative modeling sessions should be held in the same "war room" throughout the week. This gives the team working together opportunity to create, display, and leverage the same models throughout the week. Relocating from meeting room to meeting room through the week slows progress, sometimes significantly.
The room should comfortably seat 8-10 participants around a conference-style table that will be used for modeling.
The room should have wall space that can be used for hanging paper models. Models are generally hung using painters tape that won't damage wall finishes or windows.
Between collaborative modeling sessions a small teem will occupy the room to consolidate models and plan and prepare for upcoming sessions.
Week ending showcase and planning
At the end of the week, resulting models and project decisions will be reviewed with all interested stakeholders in a showcase session.
The week will end with planning for the following week's work including objectives for the week and a backlog of work assignments.
Other project and implementation specific details
In the single week we place focus on project scope and incremental release. The week include short discussion around other topics including:
- project risks and mitigation strategies
- project staffing and costing
- architectural concerns and models
In weeks following the initial inception week additional work or work sessions will likely be scheduled to resolve these and other important project concerns.
Collaborative Agile Inception Service
Collaborative Agile Inception can be planned and facilitated by myself or another representative of AgileProductDesign as a product service. The service can also be conducted with the intend of training and enabling members of the client's organization. To do this, it's important to pair the AgileProductDesign coach pair with one or two members of the client team to plan modeling sessions, facilitate sessions, and consolidate and communicate work.
For more information on Collaborative Agile Inception, please contact me directly for information, rates, and scheduling.