October 4, 2010
Now that we’ve gone through the process of explaining the differences between standard Agile development methodologies and our custom workflow management system called Verified Agile, let’s dig into the different steps that we go through in order to be successful in this environment.
To kick off a project’s first iteration, we dig in on the requirements and create a number of Epics that encompass the entire set of information in contained in the requirements documentation. If you are not familiar with an Epic it is simply a high level story used for capturing requirements that are often too complex or too large to estimate right away and will need to be detailed and broken down for estimation, planning and eventually implementation. Once the first Epic is fully fleshed out, and the stories are defined, estimated and prioritized, we can start the process of planning and working through the stories in the next iteration.
As a side note, we do not try to get all Epics defined in one batch – that’s a bit too much like a waterfall process – it’s as iterative as the rest of the process and results in being able to put a working end to end system in front of the customer as early as possible.
As the stories are derived from the Epics and are ready for scheduling in the current iteration, we break down our stories into subtasks that can be easily assigned to different members of the team. The Verified Agile process has the following steps once you’ve reached the scheduled story level:
- 1. Analysis
- 2. Acceptance Test Creation
- 3. Design
- 4. Development
- 5. Technical Review
- 6. Business Review
- 7. Client Review
The steps take you through the process of understanding the story and ensuring that each and every base is covered. Here is a bit more information on each of the subtask types:
This is an optional step that is there to bridge the gap that sometime exists between the story creation and the ability to build the acceptance test. If the Epic breakdown is done very thoroughly, or the stories are of a lower complexity level, you almost never need this subtask.
Acceptance Test Creation:
The foundation of a test-driven development environment. Here at HotWax Media, we build these before development in order to ensure that we are capture all of the nuances found in the story before we start development.
The other optional step that depends upon the complexity of the task. Because we are focused on building enterprise application in Apache’s Open for Business, often times the description of the story and the acceptance test is all that we need to get started on development. For more complex stories, we always perform this step to ensure that the code that is going to be written is following our best practices.
Self explanatory – where the implementation is executed.
The first line of internal verification – did the implementation of this story match design in addition to our best practices? These reviews are done by a team lead or expert reviewer which greatly increases the quality of our deliverables.
The second line of internal verification – does the workflow implemented match the acceptance test and business rules that were provided to us? These review are done by a business analysts, technical project manager or account manager before it is put in front of the client.
The most import verification out there – does our output match the expectations of the customer? If not, we start back at the beginning and go through all of the steps until the customer is satisfied.
Hopefully this overview of HotWax Media’s Workflows and Processes gives you insight into how we would approach your project and the steps that we put into place to ensure it’s success. Next post I will go into more detail about how this all works in our tools and how that makes us prepared to guide your project to completion.
Tim Ruppert is Chief Operating Officer at HotWax Media, an OFBiz service provider, as well as an OFBiz project committer and active community member. Tim will join other HotWax Media employees and advisers in periodically posting thoughts here related to OFBiz, eCommerce, ERP, and related topics.