At GCD, we’ve been developing software solutions for clients since 1999. Back then, Yahoo, AltaVista and Ask Jeeves were the popular search engines, and websites and software applications were functional rather than optimised for user experience.
As GCD grew and we took on more projects, we undertook Prince 2 Project Management certifications and managed our projects using traditional waterfall methodologies. Projects were scoped entirely based on whatever information both our client and our team could gather ahead of project kick-off. We defined the features and the flows a user would make through those features with the limited understanding and experience of the end users real needs.
If we’d been painting a picture, it would have looked a little like this:
As you can see, each bit of the puzzle is finished before the next bit begins. This led to a number of issues:
- Limited Flexibility: Once a feature was completed and agreed, it was challenging to make changes to any parts of the plan that might impact that feature without significant time and cost implications, and protracted discussions over those changes.
- Late Stakeholder Feedback: Client and stakeholder input was typically gathered at the beginning of the project and then at the end of each feature. But without the context of related features, stakeholders typically found it hard to provide feedback until the end of the project, often leading to misunderstanding of functionality and occasional frustration.
- Longer Time-to-Value: Due to the sequential nature of Waterfall, the time-to-value was often extended, not only making it challenging to respond quickly to changing business requirements, but also lengthening the time for the true value to be seen.
The Move to Agile
Recognising a need for a more adaptable and collaborative project management approach, we undertook training in Agile Project Management. We reviewed the fundamental principles of Agile and found that they resonated with how we wanted to work and how we knew we could build better solutions for our clients.
With agile, you work on delivering value as fast as possible using a minimum viable product mentality and iterating until it’s just right based on the appetite and budget. Using our previous example, agile would look more like this:
With the full picture we can iterate from its simplest form and capture feedback early and often. We can make better decisions and easily make changes if required, e.g. changing her hair from blonde to brown, without going back to the start.
In this way our clients can start to see value early and in some cases use the solution in production to capture real user feedback.
In Agile, cross-functional teams work collaboratively to deliver this value. Our product teams include developers, testers, designers, and product owners working together from the project’s inception. This enables increased collaboration, faster decision-making and reduced bottlenecks. Our teams work together to help deliver the best solution they can for our clients.
Close collaboration and trust from clients and stakeholders has become a cornerstone of our Agile delivery process. In most cases, we meet daily with a key stakeholder who is empowered to make day to day decisions. We also meet once a week with the wider client project team to talk about and demo what we’ve been working on and agree the next steps in producing a viable and testable solution.
To enhance efficiency and quality, we use a process of continuous integration and automated testing. This means we deploy our work constantly to test servers (a replica of the live environment) to ensure that our clients see what we’re doing and realise value early.
An Agile project can work for virtually any budget, just tailoring the deliverables and outcomes to match the budget by prioritising and focussing on the outcomes that deliver the most value. If you’re interested in discussing how Agile development can prove its value to you, book in for a chat with Simon, our Head of Client Services here.