Introduction:
In 2001 the Agile Manifesto introduced a new paradigm in software development. Iterative Agile and Agile-like development have been widely adopted and have become a subject of interest for both the business and academic communities with dedicated conferences and an Alliance of practitioners. But is 8 year old technology a fad or is it a sustainable business practice? Does Agile maximise return on investment? Two scenarios of a are presented to investigate.
Scenario 1: Maximising Revenue.
Consider two projects on a backlog. Project A will result in an increase in revenues of £5000 per month, Project B will result in an increase of £1000 per month. As both are revenue generating both have been marked as critical. Both are identical in terms of the estimated amount of effort required to develop and test each project which equals total effort available for each of the coming development iterations. A decision must be made as to which project is completed first.
Whether this information is made available to the team seems to be related to the development type used. Scrum prioritises by both business value and development effort. Extreme Programming on the other hand will group both projects as being critical, information as to how critical is not suggested for use at iteration planning.
Scenario 2: Minimising Costs.
Consider two projects C and D that are identical in the return on investment and in the total estimate of effort required for completion. The team available consists of two developers and two testers. Project C is development intensive; two developers and two testers are required for it's completion. Project D has requires less development effort but more testing effort so that one developer is needed to code full time and the remaining team members will be required to plan and test. Again, a decision is required as to which of the two projects is to be attempted in the next iteration.
To decide which project should be prioritised, ceteris paribus, the costs must be considered. In particular since the salaries paid to complete either project will be the same, the opportunity cost is important. Currently the average annual salary for a tester in the UK is
£35,000 and the average salary for Java Developer is
£47,000. For a one month iteration the opportunity cost of using a developer to test software is £1,000.
Conclusion and discussion.
From the above scenarios it can be seen that Agile does not in all situations maximise revenues and minimise costs for each iteration and, by extension, each software release. Since profit equals revenues minus costs, it is clear that Agile does not ensure maximum profit.
But should the decision of which project should be completed when really matter? After all, as long as the critical projects are completed in a given release and the resources available are utilised should the order of completion and the team structure make a difference? The answer can be resolved by combining scenarios 1 and 2.
Consider two competing companies, Alpha and Omega, each have only one project in the current release. Company Alpha is in the fortunate position to have a project with the characteristics of A and C; that is their team will be operating at full capacity to produce high revenue generating software. Omega has a project that is a combination of projects B and D; the staff are overpaid compared to what they are capable of producing and the resulting software is worth less than Alpha's. After just one month Alpha is £6,000 richer than it's competitor. This gives an advantage that can be re-invested in the company. If Omega continues with sub-optimal strategies then it's long term survival is less than certain - project choices really do matter.
It can be said that Agile can lead to clumsy decisions.
Suggestions for future work.
A theoretical framework based on simple economics has been here presented. In real life applications projects are less likely to satisfy the "ceteris paribus" condition as they will differ on several variables such as complexity, risk, cost and return. How decisions can be optimised could be an interesting area of study.
Furthermore, project teams influence project selection. Group dynamics including majority and minority influence should be studied.
Lastly, experiments could be conducted to investigate the combination of superior project assessment tools such as Net Present Value (NPV) over the simple payback rule assumed throughout this report.