Harnessing the Hybrid

As outlined in the previous article, having identified several shortcomings in our approach to project management, we sought to develop and implement a series of improvements. With our diverse business environment, we looked into the possibility of adopting best practices from the agile approach, whilst retaining the critical elements of the more traditional waterfall approach.

The Appearance of a New Approach – Utilising the Best of Both Worlds

At the start of a project’s lifecycle, our approach follows a more traditional path. A Gantt chart is produced as part of the quotation process, displaying key deliverables and high-level tasks against a timeline with the required resources at each stage. Following the flow of the Waterfall methodology, these charts will typically reflect the requirements, design, development and testing stages of the development lifecycle. Having these timelines in place makes it easier for us to speak with our clients about the plan, as well as giving us a framework from which we can derive estimates and lets us agree on and track progress against key milestones.

Once the high-level plan has been agreed, we can start to introduce Agile practices into our approach. Our tool of choice for recording tasks and monitoring progress is Jira from Atlassian. Each high-level task from the Gantt chart is added into a project backlog as long-term ‘Epics’, essentially ensuring that the backlog accurately reflects the milestones laid out in the plan.

The next step in the process is to break down each Epic into relevant, low-level, short-term tasks, and assign an estimation of effort. These tasks are then organised in the backlog according to their level of priority, with the highest being positioned at the top. By following this process we ensure that tasks are completed in a suitable order.

The overall aim is to have a project backlog with a complete and carefully prioritised list of the tasks needed to complete the project, and for the total estimates of low-level tasks to correspond to the high-level estimates outlined in the initial Gantt chart.

Projects are then delivered in two-week sprints, where the goal of each sprint is to develop something functional. This could be the production of sections of a requirement specification or design, but could also be fully coded and tested system features. Each sprint kicks off with a sprint planning session where the project team selects several tasks from the top of the backlog that they believe will be achievable by the end of that sprint. There is no set limit on the volume of tasks or on the type, however, this will depend on the capacity of the team during the sprint, the priorities of the customer and the approaching milestones.

Several Agile ceremonies are adopted throughout each active sprint. This ensures a consistent focus on progress and early elimination of unexpected barriers. Short daily stand up meetings, open up communication between team members to ensure that everyone knows what is going on and individual blockages can be discussed. These stand-ups also introduce and push on the concept of task ownership for our engineers. Each person knows what tasks they are responsible for and how they fit into the overall timeline for each project.

Upon the conclusion of each sprint, Sprint Review meetings are held, followed up by a Sprint Retrospective. While they may sound similar on the surface, these meetings differ drastically in what they achieve. The aim of the Sprint Review is to provide team members with the opportunity to showcase what they have managed to accomplish. Typically, this would be a demo of the new features developed, but could also be the release of documentation. On the other hand, Retrospectives encourage self-review, asking questions such as “Were we realistic with our expectations?”, “What could we have done better?” and just as importantly “What did we do well?”. In getting this feedback regularly, we can continually improve our delivery and processes.

While having our new hybrid project management approach ready in hand is certainly a step in the right direction, there is still the matter of fostering adoption and reversing years of learned behaviour. How have we decided to fight this battle? Check back next time to learn how defining critical success factors have helped to drive internal change to meet the standards that we want.

More From The Blog

IR35, Here it Comes Again…

IR35, Here it Comes Again…

IR35, Here it Comes Again...In 2021 the reform to IR35 Off-Payroll rules is to be rolled out to the private sector. As before the reform will only affect companies that do not meet the following attributes: an annual turnover below £10m fewer than 50 employees or a...

Solving the Resource Conundrum

Solving the Resource Conundrum

Solving the Resource ConundrumPicture this. One minute all is fine and dandy, you have access to all the resources you could possibly need, then bam an unexpected challenge arises. Suddenly you find yourself lacking the capacity to meet the new need. What are your...

Quality – An Aid to Produce Consistent Rubbish

Quality – An Aid to Produce Consistent Rubbish

Quality - An Aid to Produce Consistent RubbishAnother year has passed, and myself and a colleague have hosted a BSI auditor for our annual ISO9001/TickITplus check-up, and in fact this was more than the regular check, in that it was our 3-year re-certification audit,...

The Hazards of Legacy Systems

The Hazards of Legacy Systems

The Hazards of Legacy SystemsBeing the owner of a software system with a dedicated customer base sounds like the kind of position one would like to find themselves in. At least until it gets superseded and you have to face dealing with a legacy system. Many developers...

How to Test Without Access to The Test Environment

How to Test Without Access to The Test Environment

How to Test Without Access to The Test EnvironmentIn many of our previous articles, we have expressed the importance of achieving a high standard of testing. Potentially blocking this achievement, several factors can come together to affect the quality of your...

The Technical Workshop – How To Make Them Work For You

The Technical Workshop – How To Make Them Work For You

The Technical Workshop - How To Make Them Work For YouAnyone experienced in product design will understand just how valuable a facilitated workshop can be. Bringing together a project's key stakeholders into a single space allows for the exploration of diverse...

Developing Software for Safety Related Systems

Developing Software for Safety Related Systems

Developing Software for Safety Related SystemsSoftware systems should always be both robust and reliable, however the moment you introduce a safety element, this need for reliability increases significantly. The level of safety required is governed by the severity and...

How to Choose an Outsourcing Partner

How to Choose an Outsourcing Partner

How to Choose an Outsourcing PartnerHaving recognised a need to outsource, and worked your way through the initial preparations, you are now in a strong position to seek out a suitable partner. Choosing an outsourcing partner is no trivial affair, so taking the time...