Application Management Pricing – Not Easy Ground

While an end-to-end management approach provides a competitive service advantage, it can carry a substantial additional – and often unforeseen – cost and risk. The challenge is that it’s difficult to estimate the costs of all downstream variables and potential problems. It is for this reason most software providers work on a Time & Material basis, whether it’s for, say, creating a custom application or the migration of a set of applications onto a new enterprise platform (e.g. porting legacy accounting, inventory and reporting systems into a new ERP solution).

The inevitable – and frequently unforeseen – management and consultancy requirements that typically crop up during a project are usually charged at a day rate, which can become a very risky exercise as costs and timescales creep higher.

What this service provider needed to know was whether offering a full life-cycle management service and incorporating all aspects of service delivery management (including these unforeseen professional services requirements) made sense as a viable business model.

Could it be realistically packaged on a fixed price basis while safeguarding the provider against loss? Finding the answers to this question was what lay at the heart of the study, and involved an in-depth research and drill-down analysis.

Read all about it here

AGILE & CMM : The Marilyn Monroe Connection (Part 3) : Some Like it Hot!

Here we are at the final part in our hot discussion – will Agile and CMM get hitched, become a potent combination? If you have followed the earlier parts of this story, you would share my excitement – for the fairy tale is within our grasp – what it does require though is a practical mind and the logic to apply to practice.

Let’s dwell a little deeper. Both Agile and CMM share a common set of end objectives – to maximize revenues and reduce costs through faster output and fewer defects, and to enable continuous innovation, to serve business objectives better. Incidentally the same objective every business is seeking, particularly in these difficult times.

So, if we agree that fundamentally their “heart” is in the right place and in sync, what’s then required is to find and select the common pathways to travel down both these methods, without conflict or compromise.

The wonderful part about Agile is that it doesn’t declare “what to do” thereby giving you fair elbow room. And while it prides itself on being lightweight, it really isn’t that simple. Release and Iteration planning needs extraordinary project management skills, working with a talented and multi functional team, who are expected to shed ego and attitude in the cause of Agile. Continuous Integration and Tests ensure continuous verification and validation as well as Configuration Management practices. Not so different from CMM practices after all.

But how about ever-changing requirements? In Agile once Features are finalized in an Iteration Backlog, they cannot be changed. Now that sounds like a Baseline in CMM parlance.

Both Agile and CMM stress on constantly linking Business Value to the Product build, and stress on regular monitoring to ensure. They both constantly review the Return on Investment and measure size, effort, schedules (read Time Box) and cost.  Stakeholder engagement, in continuous and “fast forward” mode, are constantly reviewed in both. At the end of each cycle, a Retrospective captures Best Practices, Lessons Learnt and “What went Well”.

In conclusion, it appears that while Agile and CMM have their differences, they have much in common too. Deployment is never easy and needs to be well guided, not to mention independently reviewed for continuous improvement. With a pragmatic business case to start with, a difficult time is not a bad time to move down the path of software engineering maturity, to deliver the best business value. It may get hot – but then “Some Like it Hot”!

AGILE & CMM : The Marilyn Monroe Connection (Part 2) : Something’s Got To Give

In the first part of the discussion, drawing upon the genesis of Agile and CMM, we were left wondering if the two are “The Misfits”, and most likely to disappoint  the pacifists, or can they become soul-mates after all. The conclusion, much like the of Marilyn Monroe’s last unfinished work, is “Something’s Got to Give!”somethings_got_to_give

Now that we appreciate that these two approaches, Agile and CMM, are prima-facie incompatible, let’s explore some detail about the areas that have gotten us into this debate. The fundamental difference in Agile and CMM begins from the tenets of their methodology and framework.

Agile follows a cycle from Product Visioning, Roadmap, Release Planning, Iterations, Daily Stand-ups, Reviews and Retrospectives. It contains the roles required, the steps in each process at a high level and the exclusions from practice, such as, not using Daily Stand-ups for status, appraisal and so on. It tries not to be prescriptive and allows for flexibility. The CMM also provides the entirety of a Development Lifecycle, and while not explicit, seems to lean towards a “waterfall’ approach. It defines “What” needs to be undertaken, in a prescriptive fashion. Failure to adhere to a “What” specific prescription implies that you don’t satisfy the goals of that particular process area.

Agile recommends embracing and adapting to change. It recommends permitting changes at any time to ensure highest business value and satisfaction. It allows the building of a Release Backlog, which is essentially “product requirements”, further decomposed into Iteration Backlogs, for the purpose of understanding the requirement set being undertaken at the time. CMM, on the other hand, has an entire process area devoted to Requirements Management, prescribing the need to ensure scope creep is contained through Scope Control, which is strictly enforced through the additional rigor of the Configuration Management process area.

Agile uses several planning and monitoring techniques, such as Release and Iteration Planning, Burn Downs and Burn Ups. CMM prescribes a fairly detailed modus operandi for planning through an entire process area, and follows up with a whole other process on Monitoring and Control. It also requires, at Level 3 maturity, that the entire organization follows a common project management methodology.

Agile does not insist on quality assurance as a distinct process area unlike CMM. However, the nature of Agile methodologies, especially Extreme Programming, presume an ongoing practice of Verification and Validation, through the lifecycle of getting to a “Done” product. CMM on the other hand requires a separate SEPG (Software Engineering Process Group) to develop the QMS (Quality Management system) and a QA (Quality Assurance) group to ensure reviews and undertake audits.

Agile relies heavily upon the human component to have it sail through the traditional “trip over” pieces of design and architecture, inter-group co-ordination, functional expertise, and so on. The CMM model calls for a detailed competency skill set, coupled with training, as a separate Process Area to make up for any resource deficits.

Well, sounds rather irreconcilable, doesn’t it? So can the impossible become possible, will “The Misfits” get hitched? What’s more, can their potent combination be used to bust the recession? Sounds like a fairy tale.

Await the last article in the series, after all, “Some Like it Hot”!

Contributor: Pam Ramalingam