A Day in the Life of Agile: Hands-On Workshop
I, along with Charles Brian Quinn, recently attended
A Day in the Life of Agile: Hands-On Workshop presented by Pillar Technology Group.
At this one-day, intensive workshop, we had fun learning and demonstrating agile techniques while attempting to replicate the video game Space Invaders! The training reinforced agile concepts we use daily here at Highgroove, provided deeper insight into agile techniques which we could improve on, and emphasized aspects to agile development that Highgroove will definitely be embracing in the future. As a manager and client liaison, I was especially interested in the concept of Value Centered Design. Value Centered Design supports client needs at the highest level, encourages focused development, and fundamentally promotes efficiency. Here are my notes”:
VALUE CENTERED DESIGN
Value Centered design Is based on the client needs as defined by a value story. The value story is the client/organization’s primary goal. This is a big picture goal preemptive of the project. The project is designed to satisfy the goal.
Always allocate preproduction time within the budget for obtaining a specific value story from the client. Also allocate preproduction time within the budget for spikes. This will encourage efficiency, reinforce the value story, and reduce cost during production.
Goal: As a payroll processing organization we want to reduce cost by 20% so that we can pay our employees more, charge our clients less, and increase our client capacity.
Action: Build an application that will automate some of our services.
Things to Remember….
Establish a value story – this will be the common currency throughout production.
Maintain relative stories, or subsequent goals, underlying the value story
Diversification. Create, fund, and implement small commitments over time
Provide real time feedback: demonstrate how the user stories build up to the value story (if they don’t then reevaluate their purpose and refocus on the value story)
Maintain the value story and redirect the client to their original value story throughout the project. This will keep them on track, on budget, and in line with their goals. It will also invoke trust in the team by demonstrating the team’s commitment to and support of client goals.
Educate your clients on agile methods before development begins. Provide them with the ability and tools needed to drive efficiency throughout production.
Remember that user stories should always map toward the value story
Test driven development – testing must occur on completed user stories before production can continue. Incremental testing is definitive of agile development. Without it you will end up in waterfall production.
- Continuous integration – stand ups, check-ins, tests, feedback are features of continuous integration
- Demo – a demonstration of progress to the client at the end of each iteration for the purpose of a retrospective
- Retrospective – a meeting at the end of each iteration where we identify pros and cons of the current iteration and establish actions for improvement or change to be enacted in the next iteration.
- User stories – are always vertical slices, not horizontal slices, of functionality that support the value story
- Value Story – the client/organization goal to be satisfied by the end product
- Spikes – time boxed investigation to asses risks of and prepare for estimating user stories
- Estimates – assignments of relative complexity to user stories (estimates are 1-5 points where 5 might take more than an iteration…which often means it should either be broken down into multiple stories or that it requires a spike before being estimated)
- Point – a relative measurement of complexity
Individuals and Interactions > Processes and Tools
- Functionality > Documentation
- Collaboration and Change > Rules, Plan, & Contracts