February 15th, 2016
Conventionally, it is a contradiction to mention ‘Agile’ in the same sentence as ‘Fixed’. The Agile method of software development is founded on the need for continuous change that modern software systems must go through to adapt to changing consumer needs.
In the real world while software requirement (i.e., scope) is changeable, time to market and cost allocated are not. Software development in such a scenario presents significant challenges in defining the project, and tweaking the methodology to meet the need.
For e.g., consider the case of an analytic system for capturing and reacting to online consumer behavior. In such a case, the software continuously needs to adapt to new consumer behavior patterns as they emerge. How do you predict budgets and timelines for building a suitable and complete system for such dynamic scenarios?
This is especially a challenge for a product engineering vendor, who is often asked to deliver against continuous change while staying within budgets assigned to the development project. The challenge for a service provider is to project a budget and keep to it while assimilating change.
In practice, assessing the problem critically and answering questions like the ones below help identify the constants and the variables in the problem domain and operating environment.
The above is only a starting list of questions; and usually needs to be expanded while exploring any new Agile development opportunity. Then there is a need to work with product managers, architects and business stakeholders and try to answer them. The attempt is to understand the size of the current backlog, expected velocity of development, the rate at which the problem domain and technology is changing and use these factors to estimate team size and time lines.
Further, while consulting a customer on Agile development in a fixed price model, following 7 Practices are a must –
With the above in place, projecting budgets and timelines with greater accuracy becomes possible; and it is easier to define and stick to allocated budgets and still succeed in delivering the Business and Technology goals of the project while going Agile.