Agile software development is a set of principles for software development under which requirements and solutions evolve through the collaborative effort of self-organising cross-functional teams. It advocates adaptive planning, evolutionary development, early delivery, and continuous improvement, and it encourages rapid and flexible response to change.
Agile breaks product development work called SPRINTS into small increments that minimise the amount of up-front planning and design. Iterations are short time frames (timeboxes) that typically last from one to four weeks. Each iteration involves a cross-functional team working in all functions: planning, analysis, design, coding, unit testing, and acceptance testing. At the end of the iteration, a working product is demonstrated to stakeholders. This minimises overall risk and allows the product to adapt to changes quickly. An iteration might not add enough functionality to warrant a market release, but the goal is to have an available release (with minimal bugs) at the end of each iteration. Multiple iterations might be required to release a product or new features. Working software is the primary measure of progress.
At QuantiQ, we use this Project Type gives customers greater control over the final solution because they can quickly change the direction of solution development and implementation from one sprint cycle to the next.
However, it is harder to estimate the cost and time for an Agile project due to its nature. It also requires significant involvement for the client in terms of time and dedicated resource.
– Solution Backlog
– Release Backlog
– Sprint Backlog
– User Story
– Defect Backlog
– Standup Daily Meeting
A list of the requirements that have been defined during the analysis phase. The compilation of this backlog signifies the end of the Agile Preparation Phase.
The process to identify and prioritise the set of features to be developed during the time-boxed sprint, and identify each feature time estimation.
While short development iterations of 2-4 weeks are the core principle in Agile, most projects combine a number of iterations into a release to allow for packaging and implementation of the product at regular and valuable intervals. Therefore, a brief planning session is required to define the objectives, content and duration of a release. Then during the iterations, the Release Plan is used as a reference to ensure that all work is consistent with the Release Plan.
This is the breakdown of release backlog according to feature priority and estimation it could be 3-days to one month (daily sprint).
It is essential to note that included within each sprint and on the sprint backlog are all project tasks/phases including, analysis, planning, design, development and testing. This differs from the waterfall approaches where each phase is completed before the commencement of the next one.
After the sprint is finished there is collaboration between the customer and the supplier – the development is reviewed and anything that is rejected or requires additional work is added to the Solution Backlog to be scheduled as part of a later sprint
A critical process where prescriptive processes and business functions by user are detailed. This creates a test-script as opposed to longer formal documentation. This script is used to test the developed process.
A process to identify and report system issues, if any.
A quick-daily meeting to confirm what we did yesterday and to-date (status), and what we have to do today.
We were working with QuantiQ as a partner rather than as a supplier on our project in order to get the system implemented