One of the biggest challenges for any project manager is knowing what work has been done and what work remains throughout a project. This is no easy task for the typical SOA/Business Process Management (BPM) project involving multiple system integrations and a large user base.
Numerous tools are available to help the PM know the answers to both these questions with high confidence. But tools are tools – they provide mechanisms to capture information about work and track state. It’s people that actually determine the work to be done, estimate that work, then do the work, all the while providing feedback on the status of the work and the obstacles blocking completion of that work. It’s the combination of tools and people that make a project team able to work effectively to achieve the financial goals for a project.
Some of the key elements of task management system are obvious. Capturing the work to be done, associating the work to the people taking ownership of doing the work, etc.
At AVIO, we have chosen Atlassian’s cloud-based Jira/Confluence software as our automation tool to support task management. Jira provides the task management features needed to effectively manage the work while Confluence provides the wiki framework for capturing the artifacts that define the system solution and the activities required to deliver that solution.
The fundamental element of work is a task. In Jira-speak, that is represented as an ‘issue’. A task defines an end goal, the work to be done, who is responsible for the work, and the amount work effort both estimated and expended. An automated task management solution requires all these features as well as the ability to enhance the tool to enable a solid work management process.
Although Jira out-of-the-box (OOB) provides the basic features needed to manage a job, we at AVIO have found some customizations enhance our efficiency and benefits significantly. We balance these goals while adhering to the basic KISS philosophy. For example, at AVIO, we have found the ability to define and constrain the issue types used on a project to be very helpful. The Issue types of: Epics, Stories, Tasks, Sub-tasks and Bugs are all that are typically needed to support an agile development process.
One of our goals is to keep the process simple but maintain the controls necessary to ensure quality. The often used OOB Software Simplified Workflow basically enables moving a task (issue) from any state to any state. We use a modified workflow to track work through to completion.
The reasons for this customization to enforce desired behavior are twofold:
- to ensure a review activity is performed prior to closure for Story type issues, and
- to enforce the capture of work effort (hours) prior to closing an issue.
The mandatory review of stories ensures all the criteria specified by the project’s ‘Definition of Done’ are fulfilled for each story. Secondly, capturing work history rigorously on our projects allows us to estimate future work with high confidence. When our consultants are creating a Jira issue for an atomic tasks or sub-task, only the Original Estimate is populated. Then, as the work is performed, he/she is required to update the issue with the actual effort expended.
Another customization consistent with the KISS approach is the removal of little used fields from the forms. The reduced clutter improves efficiency.
As mentioned, Jira & Confluence provide a powerful solution for managing work on a project. However, it can be very easy to duplicate information contained in such closely integrated products. Constant consideration is required to ensure Confluence contains the Epic & User Story details. The User Story should contain the following sections at a minimum:
- User Story Description
- Success Criteria
- Outstanding Questions
- Technical Design Notes
The use of templates for epics & stories guides the preparation of complete and sufficient solution requirements.
Conversely, Jira issues should contain only the information that relates to sprint planning & execution, such as:
- References to each Epic detailed in Confluence
- References to each User Story detailed in Confluence
- Task descriptions associated with each Story ‘Issue’
- Prioritization of Epic/Story Issues
- Estimation of Story Issues
- Hours worked/remaining
It is crucial to avoid duplication of User Story details into Jira because this will become a maintenance nightmare.
Efficient use of resources – both personnel and tools – distinguishes consulting companies in the IT business. AVIO’s use of a defined, tried and true methodology for managing work on a project is just one of the many factors that ensure we remain a recognized, top-tier Oracle partner in the SOA/BPM market.