Throughout our 20 years in web design and development, the White Lion team has seen a significant evolution in the way that web development projects are managed and executed. The industry as a whole has shifted to become more Agile, and in turn projects have become more efficient, predictable and adaptable to change. The principles of Agile software development have enabled a more lean and lightweight approach to building new websites, and over time we have adopted many of these principles and applied them to our own client projects. Because we are in the business of delivering custom software, we have ultimately found that a custom, if not hybrid, approach to web development tends to deliver the best results.
The defining principles of Agile software development include:
- Individuals and interactions over processes and tools
- Working software over comprehensive documentation
- Customer collaboration over contract negotiation
- Responding to change over following a plan
- Agile over Waterfall
Here at White Lion, we have adopted many of the defining principles of the Scrum framework into our own software development workflow. Historically speaking, many of our client projects have been managed from a Waterfall development approach whereby each project required extensive documentation including a thorough and comprehensive Scope of Work, Wireframes, Prototypes and clearly defined requirements at the start of the project.
We’ve found that the Waterfall approach does not work for every project, particularly more complex projects, making us less efficient as we were often having to re-work our project work plans throughout the life of the project. For the majority of our engagements, we discovered that requirements change and evolve over time as new ideas emerge and new technologies are uncovered. Work plans and timelines created at the start of a project rarely held up by the end, thus creating extensive overhead for the project team.
We have aimed to incorporate the following elements of the Agile Manifesto:
- Recurring sprints: A sprint is a defined and recurring period of time in which everyone on the project team commits to completion of a specified set of functionality
- Dedicated project teams, often called Scrum teams
- A Scrum Master who helps protect the Scrum team by removing obstacles and impediments to development
- A well-groomed and prioritized product backlog, managed by a Product Owner
- Daily stand-up meetings
- Recurring sprint planning meetings, where the project team has the opportunity to review upcoming work and provide estimates for the next sprint
Introducing Agile into Development
In order to build a more flexible process that would hold up to any of our custom projects, we began to introduce elements of Agile development into our process and workflow. While it is still important to have a project requirements document at the start of each project, we find a huge time savings in making this a more lightweight document with the purpose of establishing high-level goals and features. We also have begun introducing the concepts of sprints and project teams so we could not only improve the planning process, but also more clearly define what was being delivered with each sprint.
Adapting Agile to Fit Our Needs
While the Scrum framework suggests planning one sprint at a time, we actually found that by having a full schedule of sprints laid out at the start of the project, we could establish a base timeline and project duration, which could in turn be used to measure project health throughout the life of the project. We still manage one sprint at a time and try to avoid adding work to a sprint (as the Agile framework suggests), but by having an understanding and awareness of the work remaining in the product backlog, we are more adaptable to change and are better able to predict product launch dates and outcomes.
By implementing many of the principles and features of Agile development, we have seen significant improvements in the way our projects are managed, and we have been able to directly deliver these benefits back to our clients by delivering high-quality products that exceed expectations.