Agile
As our company name might suggest, Business Agility has been keen to exploit the growing understanding of using Agile Methods in developing software.
What is Agile?
Agile is a collection of software development methodologies and processes that follow four core fundamentals and principles:
Individuals and interactions
over processes and tools
Working software
over comprehensive documentation
Customer collaboration
over contract negotiation
Responding to change
over following a plan
By applying the principles of the Agile Manifesto, many projects can deliver higher quality 'fit for purpose' software with accelerated access to promised business benefits.
Why Business Agility?
Whether you are considering an Agile project within your organisation or would like to avoid using costly freelancers, Business Agility provides a range of implementation, integration and consultancy services that will ensure your project exceeds expectations and goes live on time and to budget.
Through our experience of different Agile methodologies (such as Feature Driven Development, SCRUM, Crystal and XP) across a variety of clients, Business Agility has developed a unique understanding of the various aspects of Agile methods that deliver the greatest rewards. This has allowed us to create an approach to software development that utilises key features of several common industry approaches. This blended approach has produced a process that will accelerate software development, while retaining control and ensuring high quality in the delivered article.
Business Agility’s Agile delivery approach was born from frustration with the inadequacies that can be found in more traditional Waterfall approaches, not least that they tend to deliver a system that Users thought they wanted 6-12 months ago.
Our Agile approach is proven to deliver what our Clients actually need now by:
- Streamlining the process from requirements definition to delivery, with minimal management overheads,
- Providing an environment where our Clients can discuss, suggest, trial, evaluate their requirements and perhaps most importantly, change their minds and re-prioritise easily throughout the process.
- Dramatically improving developer productivity,
- Including key business decision makers into the development process, ensuring;
- appropriate, accurate and reduced UAT
- development is prioritised to business needs
- quick wins with manageable deliverables
- early adoption and support from both users and business sponsors
One aspect of our own Agile Development Process is the use of Timeboxes as a means of providing client control and budget security, while retaining the typical agile benefits of high development velocity and capacity for change.
Timeboxes
A Timebox is a fixed period of time, during which Business Agility agree to deliver a set amount of functionality. Using Timeboxes of between two and four weeks duration allows the team to focus on what is happening in that immediate period and ensures that both the client and Business Agility work towards obtaining the goal for that Timebox.
By providing a fixed time period, the management of budget and assessing the progress of a project is made simpler and more granular. This provides the client with a greater degree of confidence in assessing the status of a project.
The requirements of each Timebox are typically defined by a joint Business Agility and client team. This can be any mix of demonstrations, Proof of Concepts, look and feel or working functionality.
By only defining the requirements at the start of each Timebox, the client has the ability to change the priority of requirements throughout the project, based on previous Timeboxes.
During the course of a project, both the client and Business Agility learn new techniques or tools that will assist in future work. Utilising Timeboxes provides a natural feedback to incorporate these lessons learned. This often happens as people get to see their ideas brought to life. In reality how we use a system can often be different once we get a chance to use it rather than just having it described on paper.