Recent posts

Musings

Thursday, 6 September, 2007

Software Acquisition Capability Maturity

What is Software Acquisition Capability Maturity? Why is it needed?

The phrase ‘Capability Maturity’ is generally associated with software companies and seen as a certificate of quality, thanks to promotional phrases like ‘A CMM (now CMMI) level 5 company’. This is similar to ‘This product confirms to BS:nnnn’. General users of products or services do not know what the BS standard says or the meaning of CMM level 5. What does the phrase ‘Capability Maturity’ mean? Does it exclusively belong to software companies? Let us analyse.

Capability is the ability to perform designated activities and to achieve results, which fulfil specified requirements (ISO9000-2000 definitions). Maturity means ‘Fully grown or developed’ (Chambers dictionary).

Let us put the words together and try to figure out the meaning of ‘Capability Maturity Level’. It means ‘The level or degree of growth or development of the ability to perform designated activities to achieve results, to fulfil specified requirements’.

Let us ponder. Can you delegate the phrase to the exclusive jurisdiction of software companies? To organizations alone? Definitely not. The phrase equally applies to any individual or organization performing any activity to achieve designated results.

Software can be acquired by various means such as acquire ready to use software (for a price or free), develop in-house or outsource development. For this, one has to perform designated activities. There is at least one specified requirement. The level of such capability, like any other capability, varies across individuals, organizations.

Let us analyse this threadbare. The key phrases are ‘perform designated activities’ and ‘specified requirements’. If becomes obvious that first and foremost step is to specify the requirements followed by defining the specified activities.

Let us consider two requirements definitions for the same activity.

  1. I want to computerise accounts receivable.

  2. I want to ensure that 95% of the receivables are realised on or before the due date. To facilitate this I want to inform all sales representatives, who are geographically dispersed, details of outstanding receipts at least ten days before the due date. This will enable them to plan their activities well in time.

The very act of requirements definition shows obvious differences in the level of capability maturity. Effectiveness of the solution will not be the same for these two targets.

Shall we now take it as settled that Software Acquisition Capability needs to be nurtured, developed for better performance?

Software Engineering Institute of Carnegie Mellon University has developed assessment models for that capability. The model describes various levels of maturity. See the table below.

Level

Focus

Key Process Areas

5
Optimizing

Continuous
process
improvement

. Acquisition Innovation Management
. Continuous Process Improvement

4
Quantitative

Quantitative
management

. Quantitative Acquisition Management
. Quantitative Process Management

3
Defined

Process
standardization

. Training Program
. Acquisition Risk
Management
. Contract Performance
Management
. Project Performance
Management
. User
Requirements
. Process Definition and Maintenance

2
Repeatable

Basic
project
management

. Transition to Support
.
Evaluation
. Contract Tracking and
Oversight
. Project
Management
. Requirements Development and
Mgt
.
Solicitation
. Software Acquisition Planning

1
Initial

Competent people and heroics

Source: SA-CMM of Carnegie Mellon Software Engineering Institute

More information and the standard itself can be obtained from here.

Does every organization need to get assessed? Definitely not. Depending upon the size of the organization and level of software acquisition we may have to take one or more steps.

  • Be aware that the capability has to be developed. (This is a must. By now you have already taken the step).

  • Strive to achieve at least level 2. It may be too expensive for small and medium enterprises to go in a formal way. At least engage a knowledgeable person to coordinate software acquisition activities. Depending upon the size and needs of the organization he may be a full time or part time employee or a consultant on per project basis.

  • If your organization is large enough and have continuous software acquisition activities, form a full fledged team.

Happy Software Acquisition!


©Upendran KR - Ver 1.0 Rev 07.08.21 http://www.upendran.com

Creative Commons License This work is licensed under a Creative Commons Attribution-Noncommercial-No Derivative Works 3.0 License

Quality of Management or Management of Quality?

Even well informed persons have confusion about the terminologies Quality, Quality Control, Quality Assurance, Quality Management …

Let us have a re-look at various text-book definitions.

Quality - The totality of features and characteristics of a product or service that bear on its ability to satisfy stated or implied needs.

Quality Control - The operational techniques and the activities used to fulfil and verify requirements of quality.

Quality Assurance - All those planned or systematic actions necessary to provide adequate confidence that a product or service is of the type and quality needed and expected by the customer.

The above definitions are well settled and understood by all. There are minor variations in definitions given by various authors. But they are fundamentally the same. All these refer to products or services.

Let us ask few questions.

  • Does the term Quality Management fall into the same category?

  • Does it mean “Planned and systematic actions …. to manage quality?

  • What is management?

  • Is the definition of the term ‘Quality’ given above is complete? If yes what do the terms like ‘Quality of Life’ or ‘Quality of a person’ mean?

Some definitions I got when I searched for definition of the term ‘Quality Management’ in the web.

  • That aspect of the overall management function that determines and implements the quality policy.

  • a broad term which encompasses both quality assurance and quality improvement, describing a program of evaluating the quality of care using a variety of methodologies and techniques

  • The design and maintenance of quality assurance mechanisms; responsibility for the same. All aspects of the management function that determine and implement the intentions and direction of an organisation as regards quality matters. Quality management involves managing for continuous improvement, centred on a strong notion of mission, objectives setting and review.

The term 'Management' is well understood and I do not think there is any ambiguity. It refers to guidance and control of actions required execute a program. We generally relate it to a business though not necessarily.

You can do a google search for ‘define:quality management’ and get many more definitions. While meaning no offence to the authors of these definitions, I personally disagree with any of these definitions. The term ‘Quality Management’ goes beyond ISO9000, CMM and the like.

To explain my point of view I have to redefine ‘Quality’. Let me redefine it.

Quality is the totality of features and characteristics of ‘anything that matters to us and we are able to control and manipulate’ that bear on its ability to satisfy stated or implied needs.

I do not have a better term to replace the phrase ‘anything … manipulate’. Anyone is welcome to suggest a better term.

Let me do some explaining. The phrase obviously includes products and services, they matter to us and we have the ability to control and manipulate them. Quality of life – it matters to us and we can and need to control. Quality of a person? Value system? … Yes. Similarly management is a function that has stated and implied needs, that matters to us and we can control and manipulate it.

Now let me redefine ‘Quality Management’

Quality Management is all the techniques and activities used to fulfil, verify and assure requirements of quality of management functions.

Thus ‘Quality Management’ is ‘Quality Control’ + ‘Quality Assurance’ of Management functions.

It is important to customers because they can trust an organization that is trying to keep up it’s ‘Quality of Management’ same as one can trust an individual who keeps up quality of his person.


©Upendran KR - Ver 1.0 Rev 07.08.21 http://www.upendran.com

Creative Commons License
This work is licensed under a
Creative Commons Attribution-Noncommercial-No Derivative Works 3.0 License

Sunday, 26 August, 2007

Welcome to my blog

I am an Information Technology professional with over 30 years standing. I reside in Chennai, a Metropolitan city in India. I had been working for various organizations both IT user organizations and IT companies.

I intend to share my experiences and thoughts. Though I had been a hard core technocrat for most part of my career, I will not be focusing much on technical issues. I have come to realise that giving technology overwhelming priority over business needs is putting the cart before the horse. Technology is a valuable asset. It has to be carefully managed and used achieve our goals. I will be talking more about management issues, my experiences and anything that comes to my mind.