This is Part 6 of the series of articles "Why go Agile?"
When first introduced to Agile, clients often react with phrases like "ok, from a technical perspective this makes sense, but how do I sell this to my CEO?" Perficient Latin America believes Agile methodologies should be seen under a stage-gate scenario, where commitments to continue a software development project are made every sprint. Concomitantly, if a software project is not delivering results several sprints in a row it should be suspended. Thus, agile methodologies are typically deployed under a "continuous funding" approach, under which a certain monthly burn rate is allotted for a software development project. This monthly investment allows a company to contract a qualified group of engineers with a determined development bandwidth.
This group of engineers is in continuous contact with the client, prioritizing and re-prioritizing the most important functionalities that are required of the software as it grows and evolves. This constant communication greatly benefits from PSL´s nearshoring model where time zones overlap so there are natural hours for interaction during the normal work day. Every four weeks, the group delivers functional code to the client that can be both tested and productively used from phase 1. For example, a cloud platform being built that incorporates both video chat and telephone conversations, can deploy the telephone aspect early on, and move to deploy video during a later iteration. Therefore, because the client does not have to wait for long requirement elicitation and construction cycles to get to use the product (as in RUP), return on investment for the solution starts from the very beginning of the project, which is, of course, financially convenient. From a cost perspective, Agile is not at all like flying blind. Granted, in the first two or three iterations of a product developed under SCRUM there is not enough information to estimate the total cost of the project with high precision. However, by subsequent iterations, the cone of uncertainty is diminished, and as the group learns its pace, it is able to provide more and more accurate estimates of total cost for the software development initiative, or of the total cost of what remains to be done at any one point in time.
Because the client is getting to experience the real productivity of the group in a very tangible way (software is being delivered at least every month, and is being utilized from the very early iterations) the client is best able to determine if the group is "delivering the goods", and therefore if development speed should be increased (by increasing the team size), maintained, diminished, or in a worst case scenario, if the software development project should be terminated because of bad performance (by company policy, Perficient Latin America allows project termination on the part of the client at any time). Another common funding approach when working with Agile is to determine a fixed budget for a software development project, and let the trusted development team go as far as possible in delivering application functionality until the budget is capped. If the functionality has been useful to the company, additional funding may be provided.
Because Agile works by delivering the most key functionalities first, this approach usually guarantees that with the initial budget, when properly managed, the company will be able to deploy the key components of the software, and later decide to invest or not in other "nice to haves".
About us: Perficient Latin America combines CMMI5 process maturity with Agile methodologies and over 30 years of experience in software development projects. With offices in Colombia, Mexico and the US are offer outsourcing and nearshoring services such as software development, maintenance, testing and staff augmentation. Want to know more? Let´s start a conversation.