layout | nav_title | title | permalink |
---|---|---|---|
page |
VI. Agile Development |
VI. An Iterative, Agile Process |
/06-agile-development/ |
The California Health Data Project is working closely with CHHS to implement an "Agile Development" process into the work they are doing. The effort is being led by our Statewide Health Data Ambassadors, Ash Roughani and Joel Riphagen.
Originally used by software developers, this new way of thinking promotes adaptability, cross-collaboration and continuous improvements to create products and services that benefit communities throughout the state. In the first phase of the project, the California Health Data team developed an Asthma Data Visualization Product (AsthmaStoryCA.org) using the agile method in collaboration with CHHS. In October 2015 the Asthma product was recognized by Government Technology as one of the 4 Key Takeaways from Code for America's 2015 Summit.
The goals for the various Health Data projects we’re working on are not only to demonstrate best practices for effective communication through data visualization, but also document an iterative, agile software development process. In other words, the process is just as important as the end product. By focusing on collaboration, we hope to create more durable products, and engage CHHS so that they can learn too, about how to integrate this concept into their own technology work.
This new methodology differs from traditional sequential software development (also known as "waterfall"), where every requirement of a project is decided on before any actual development starts. Agile on the other hand, allows developers to develop software in stages or “sprints,” where they can actually see in real-time how the product they’re creating is working, and make necessary changes based on that.
In agile development, weekly or biweekly sprints are the frequency at which new, working features are released for the purposes of validating with users. At the end of each sprint, a standup meeting (or call) should occur to reflect, adjust, and iteratively refine the product roadmap as a better understanding of user needs emerges across all stakeholders. Because the process involves iteratively determining features as the product is built, it is not advisable to specify interim deliverables at the outset of the project.
Below is an example of the agile development process the California Health Data Project used to create the Asthma Data Visualization Product, that visualizes emergency department visits for asthma by county and zip code.
- Research asthma data and stakeholder needs/use cases
- Brainstorm 3-5 written data visualization concepts with wireframe examples
- Initial development exploration to determine feasibility of data visualization concepts
(Slide Deck, 1st Mockup, 2nd Mockup)
- Perform major feature design for up to two data visualization concepts
- Perform major feature development for one data visualization concept
- Possible design and development work for additional concepts if feasible under project budget and timing constraints
(First Iteration, Second Iteration)
- Convene user testing group to collect user feedback
- Distill feedback and validate/refine product roadmap
(Video: User Tester Training Session)
- Perform feature refinement, product development, and bug fixes
- New feature development is not included in this sprint unless feasible under project budget and timing constraints
- Perform minor feature refinement
- Extensive testing across devices and platforms and bug fixes identified through end client review
- Convene user testing group to collect user feedback
- Distill feedback and define minor feature improvements
- Perform minor edits and bug fixes
- Final delivery to end client
Final Product: asthmastoryca.org
- The Agile Manifesto
- Agile Methodology
- The Agile Alliance
- StackExchange
- Wikipedia
- Iterative Development by Code for America
- Agile Principles & Practices by 18F
- Agile Government Handbook
- Agile: Government Service Design Manual
- TechFAR Handbook for Procuring Digital Services Using Agile Processes
- Digital Service RFPs by Code for America