CMMI is not the only model to differentiate your company

May 4th, 2017, Published in Articles: EE Publishers, Articles: EngineerIT

 

Prof. Barry Dwolatzky

The capability maturity model integration (CMMI) model is being used extensively in the US and Europe to assist companies in countering risk when awarding tenders but has only found limited application in South Africa – mainly because of cost and complexity.

CMMI was developed by the CMMI project group, which aimed to improve the usability of maturity models by integrating many different models into one framework. The project group included members of industry, government and the Carnegie Mellon Software Engineering Institute (SEI) in the USA,

According to the SEI, CMMI helps integrate traditionally separate organisational functions, set process improvement goals and priorities, provide guidance for quality processes, and provide a point of reference for appraising current processes. In March 2016, the CMMI Institute was acquired by ISACA, an international professional association focused on IT governance.

Realising that the CMMI process is expensive, given that companies had to send employees on courses overseas or bring external consultants to South Africa, the Johannesburg Centre for Software Engineering at the University of the Witwatersrand (JCSE) introduced CMMI to South Africa by making it available to local companies at a much-reduced cost.

According to Prof. Barry Dwolatzky, director of the JCSE, although the principles are strongly adhered to, the JCSE is placing less emphasis on the method and more on the outcome.  He said they have worked with several companies and have had some real successes. One of the companies worked with was the Bytes Group, which attained level 3 CMMI.  This means that the organisation has achieved all the specific and generic goals of the process areas assigned to maturity levels 2 and 3. At maturity level 3, processes are well characterised and understood and are described in standards, procedures, tools, and methods.

Given its complexity and relative high implementation cost, the question that should be asked is whether CMMI is the only model that will differentiate a company. Prof. Dwolatzky says it is a good model, which is why they support it, but for some organisations, CMMI is top heavy and does not always meet ultimate requirements. There are many different models such as Agile, CMMI, DMP, SPINE, ADASS and ISO9000, to name some – all saying that if an organisation wants to do well it must apply best practices and apply the most appropriate one to achieve the desired outcome.

Prof. Dwolatzky said that at the JCSE they have a toolbox with best practices and that organisations are encouraged to not only pick from the toolbox but also to add their experiences to the knowledge-pool, in order to achieve a national model of best practice.

In the 1990s CMMI was the big thing. Everyone in the world was chasing CMMI, and it turned into chasing levels. When a request for proposals went out, in order even to apply for the tender documents, a company needed to have achieved maturity level 3 or higher. Prof. Dwolatzky said that in the past he would get calls from companies asking what it would cost to get CMMI-compliant, not realising the time it would take to walk the CMMI journey. This became a barrier to entry and created friction between companies, which was not in the interests of the software development industry. And then came Agile.

The Agile movement seeks alternatives to traditional project management. The Agile approach helps teams respond to unpredictability through incremental, iterative work cadences and empirical feedback. Its development methodology provides opportunities to assess the direction of a project throughout the development lifecycle, which is achieved through regular cadences of work, known as sprints or iterations, at the end of which teams must present a potentially shippable product increment. By focusing on the repetition of abbreviated work cycles as well as the functional product they yield, Agile methodology is described as “iterative” and “incremental.” The results of this “inspect-and-adapt” approach to development greatly reduce both development costs and time to market. Because teams can develop software at the same time they’re gathering requirements, the phenomenon known as “analysis paralysis” is less likely to impede a team from making progress. And because a team’s work cycle is limited to two weeks, it gives stakeholders recurring opportunities to calibrate releases for success in the real world. Agile development methodology helps companies build the right product. Instead of committing to market a piece of software that hasn’t even been written yet, Agile empowers teams to continuously re-plan their release to optimise its value throughout development, allowing them to be as competitive as possible in the marketplace. Development using an Agile methodology preserves a product’s critical market relevance and ensures a team’s work – it doesn’t wind up on a shelf, never released.

According to Prof. Dwolatzky the followers of Agile say that it is easy to do because it is seen as anti-process, anti-formal, almost anti-engineering –  enabling you to free up your people to be creative, but that he doesn’t believe that the developers of Agile share that view. He said that although it is not easy to implement Agile well, one can claim to use it without actually doing anything. There has been a perception by Agile users that CMMI is old-fashioned, as a result of which an unfortunate debate broke out – Agile versus the process-rich CMMI. Many of the big banks changed to Agile but found it came back to bite them and they are now looking at a more formal process. It is a moving target but there is a clear swing back to a methodology more akin to CMMI.

Prof. Dwolatzky said that as an engineer, he sees the value in working with processes and using methodologies, rather than following fads and fashions in software.

Related Articles

  • Advancing GIS in tertiary education in a time of budget cuts
  • Make your data actionable from edge to cloud
  • Light quality metrics explained
  • Transforming condition monitoring of rotating machines
  • Hoist speed controller and braking