Friday, July 17, 2009

Capability Maturity Model (CMM)

The Capability Maturity Model (CMM) in software engineering is a model of the maturity of the capability of certain business processes. A maturity model can be described as a structured collection of elements that describe certain aspects of maturity in an organization, and aids in the definition and understanding of an organization's processes. The CMM has been superseded by the Capability Maturity Model Integration (CMMI).
Contents
Overview

The Capability Maturity Model (CMM) was originally developed as a tool for objectively assessing the ability of government contractors' processes to perform a contracted software project. The CMM is based on the Process Maturity Framework first described in the 1989 book "Managing the Software Process" by Watts Humphrey and later published in its full form as a book in 1995 by Mark Paulk, Charles Weber, Bill Curtis, and Mary Beth Chrissis. Though it comes from the area of software development, it has also been applied to improving organizational processes in diverse areas; for example in software engineering, system engineering, project management, software maintenance, risk management, system acquisition, information technology (IT), services, business processes, and human capital management. The CMM has been used extensively not only by government, but has also been widely adopted in software and application development organizations around the world, and most notably by organizations offering offshore outsourcing services.

History

The Capability Maturity Model is based on the Process Maturity Framework first described in the 1989 book "Managing the Software Process" by Watts Humphrey. Humphrey based this framework on the earlier Quality Maturity Grid developed by Philip Crosby in his book "Quality Is Free". However, Humphrey's approach differed because of his unique insight that organizations mature their processes in stages based on solving process problems in a specific order. Humphrey based his approach on the staged evolution of a system of software development practices within an organization, rather than measuring the maturity of each separate development process independently. This insight has given the staged maturity models based on Humphrey's original framework their unique power for improving organizational performance[citation needed][neutrality disputed].

Humphrey began developing his process maturity concepts during the later stages of his 27 year career at IBM. He joined the Software Engineering Institute located at Carnegie Mellon University in Pittsburgh, Pennsylvania in 1986 after retiring from IBM. At the request of the U.S. Air Force he began formalizing his Process Maturity Framework to aid the U.S. Department of Defense in evaluating the capability of software contractors as part of awarding contracts. Organizations were originally assessed using a process maturity questionnaire and a Software Capability Evaluation method devised by Humphrey and his colleagues at the SEI[clarification needed]. The full representation of the Capability Maturity Model as a collection of defined process areas and practices at each of the five maturity levels was initiated 1991, with Version 1.1 being completed in January 1993. The CMM was published as a book in 1995 by its primary authors, Mark C. Paulk, Charles V. Weber, Bill Curtis, and Mary Beth Chrissis.

The CMM has been superseded by the Capability Maturity Model Integration (CMMI).

Context

In the 1970s the use of computers became more widespread, flexible and less expensive. Organizations began to adopt computerized information systems, and the demand for software development grew significantly. The processes for software development were in their infancy, with few standard or "best practice" approaches defined.

As a result, the growth was accompanied by growing pains: project failure was common, and the field of computer science was still in its infancy, and the ambitions for project scale and complexity exceeded the market capability to deliver. Individuals such as Edward Yourdon, Larry Constantine, Gerald Weinberg, Tom DeMarco, and David Parnas began to publish articles and books with research results in an attempt to professionalize the software development process.

Watts Humphrey's Capability Maturity Model (CMM) was described in Managing the Software Process. The CMM as conceived by Watts Humphrey was based on the work a decade earlier of Phil Crosby who published the Quality Management Maturity Grid in his book Quality is Free in 1979.[1] Active development of the model by the US Department of Defense Software Engineering Institute (SEI) began in 1986.

The CMM was originally intended as a tool to evaluate the ability of government contractors to perform a contracted software project. Though it comes from the area of software development, it can be, has been, and continues to be widely applied as a general model of the maturity of processes (e.g. IT Service Management processes) in IS/IT (and other) organizations.

Note that the first application of a staged maturity model to IT was not by CMM/SEI, but rather Richard L. Nolan, who, in 1973 published the Stages of growth model for IT organizations. [2]

The model identifies five levels of process maturity for an organization:

1. Initial (chaotic, ad hoc, heroic) the starting point for use of a new process.
2. Repeatable (project management, process discipline) the process is used repeatedly.
3. Defined (institutionalized) the process is defined/confirmed as a standard business process.
4. Managed (quantified) process management and measurement takes place.
5.Optimizing (process improvement) process management includes deliberate process optimization/improvement.

Within each of these maturity levels are Key Process Areas (KPAs) which characterise that level, and for each KPA there are five definitions identified:

1. Goals
2. Commitment
3. Ability
4. Measurement
5. Verification

The KPAs are not necessarily unique to CMM, representing — as they do — the stages that organizations must go through on the way to becoming mature.

Process assessment is best led by an appropriately skilled/competent lead assessor[neutrality disputed]. The organisation's process maturity level is assessed, and then a specific plan is developed to get to the next level. Skipping levels is not allowed.

N.B.: The CMM was originally intended as a tool to evaluate the ability of government contractors to perform a contracted software project. It may be suited for that purpose. When it became a general model for software process improvement, there were many critics.

Shrinkwrap companies are also called commercial-off-the-shelf (COTS) firms or software package firms. They include Claris, Apple, Symantec, Microsoft, and Lotus, amongst others. Many such companies rarely if ever managed their requirements documents as formally as the CMM described in order to achieve level 2, and so all of these companies would probably fall into level 1 of the model.

Origins

In the 1980s, several military projects involving software subcontractors ran over-budget and were completed much later than planned, if they were completed at all. In an effort to determine why this was occurring, the United States Air Force funded a study at the SEI. The result of this study was a model for the military to use as an objective evaluation of software subcontractors. In 1989, the Capability Maturity Model was published as Managing the Software Process. The basis for the model is the Quality Management Maturity Grid introduced by Philip Crosby in his 1979 book 'Quality is Free'.

Current state and future direction

Although the CMM model proved useful to many organizations, the use of multiple models has been problematic. Applying multiple models that are not integrated within and across an organization could be costly in terms of training, appraisals, and improvement activities. The Capability Maturity Model Integration (CMMI) project was formed to sort out the problem of using multiple CMMs.

Capability Maturity Model topics

Maturity model

A maturity model can be described as a structured collection of elements that describe certain aspects of maturity in an organization. A maturity model may provide, for example :

* a place to start
* the benefit of a community’s prior experiences
* a common language and a shared vision
* a framework for prioritizing actions
* a way to define what improvement means for your organization.

A maturity model can be used as a benchmark for comparison and as an aid to understanding - for example, for comparative assessment of different organizations where there is something in common that can be used as a basis for comparison. In the case of the CMM, for example, the basis for comparison would be the organizations' software development processes.

Capability Maturity Model structure

The Capability Maturity Model involves the following aspects:

* Maturity Levels: A 5-Level process maturity continuum - where the uppermost (5th) level is a notional ideal state where processes would be systematically managed by a combination of process optimization and continuous process improvement.
* Key Process Areas: A Key Process Area (KPA) identifies a cluster of related activities that, when performed collectively, achieve a set of goals considered important.
* Goals: The goals of a key process area summarize the states that must exist for that key process area to have been implemented in an effective and lasting way. The extent to which the goals have been accomplished is an indicator of how much capability the organization has established at that maturity level. The goals signify the scope, boundaries, and intent of each key process area.
* Common Features: Common features include practices that implement and institutionalize a key process area. There are five types of common features: Commitment to Perform, Ability to Perform, Activities Performed, Measurement and Analysis, and Verifying Implementation.
* Key Practices: The key practices describe the elements of infrastructure and practice that contribute most effectively to the implementation and institutionalization of the KPAs.

Levels of the Capability Maturity Model

There are five levels defined along the continuum of the CMM[3], and, according to the SEI: "Predictability, effectiveness, and control of an organization's software processes are believed to improve as the organization moves up these five levels. While not rigorous, the empirical evidence to date supports this belief."

Level 1 - Ad hoc (Chaotic)
It is characteristic of processes at this level that they are (typically) undocumented and in a state of dynamic change, tending to be driven in an ad hoc, uncontrolled and reactive manner by users or events. This provides a chaotic or unstable environment for the processes.

Level 2 - Repeatable
It is characteristic of processes at this level that some processes are repeatable, possibly with consistent results. Process discipline is unlikely to be rigorous, but where it exists it may help to ensure that existing processes are maintained during times of stress.

Level 3 - Defined
It is characteristic of processes at this level that there are sets of defined and documented standard processes established and subject to some degree of improvement over time. These standard processes are in place (i.e., they are the AS-IS processes) and used to establish consistency of process performance across the organization.

Level 4 - Managed
It is characteristic of processes at this level that, using process metrics, management can effectively control the AS-IS process (e.g., for software development ). In particular, management can identify ways to adjust and adapt the process to particular projects without measurable losses of quality or deviations from specifications. Process Capability is established from this level.

Level 5 - Optimizing
It is a characteristic of processes at this level that the focus is on continually improving process performance through both incremental and innovative technological changes/improvements.

At maturity level 5, processes are concerned with addressing statistical common causes of process variation and changing the process (for example, shifting the mean of the process performance) to improve process performance. This would be done at the same time as maintaining the likelihood of achieving the established quantitative process-improvement objectives.

Software process framework for SEI's Capability Maturity Model

The software process framework documented is intended to guide those wishing to assess an organization/projects consistency with the CMM. For each maturity level there are five checklist types:

TypeSD Description
====== ===========
Policy Describes the policy contents and KPA goals recommended by the CMM.
Standard Describes the recommended content of select work products described in the CMM.
Process Describes the process information content recommended by the CMM.

The process checklists are further refined into checklists for:

* roles
* entry criteria
* inputs
* activities
* outputs
* exit criteria
* reviews and audits
* work products managed and controlled
* measurements
* documented procedures
* training
* tools

Procedure Describes the recommended content of documented procedures described in the CMM.
Level overview Provides an overview of an entire maturity level. The level overview checklists are further refined into checklists for:

* KPA purposes (Key Process Areas)
* KPA goals
* policies
* standards
* process descriptions
* procedures
* training
* tools
* reviews and audits
* work products managed and controlled
* measurements

Sunday, May 24, 2009

W3C - World Wide Web Consortium

The World Wide Web Consortium (W3C) is an international consortium where Member organizations, a full-time staff, and the public work together to develop Web standards. W3C's mission is:

To lead the World Wide Web to its full potential by developing protocols and guidelines that ensure long-term growth for the Web.

W3C Develops Web Standards and Guidelines :

W3C primarily pursues its mission through the creation of Web standards and guidelines. Since 1994, W3C has published more than 110 such standards, called W3C Recommendations. W3C also engages in education and outreach, develops software, and serves as an open forum for discussion about the Web. In order for the Web to reach its full potential, the most fundamental Web technologies must be compatible with one another and allow any hardware and software used to access the Web to work together. W3C refers to this goal as “Web interoperability.” By publishing open (non-proprietary) standards for Web languages and protocols, W3C seeks to avoid market fragmentation and thus Web fragmentation.

Tim Berners-Lee and others created W3C as an industry consortium dedicated to building consensus around Web technologies. Mr. Berners-Lee, who invented the World Wide Web in 1989 while working at the European Organization for Nuclear Research (CERN), has served as the W3C Director since W3C was founded, in 1994.

W3C Is an International Consortium :

Organizations located all over the world and involved in many different fields join W3C to participate in a vendor-neutral forum for the creation of Web standards. W3C Members and a dedicated full-time staff of technical experts have earned W3C international recognition for its contributions to the Web. W3C Members (sample testimonials), staff, and Invited Experts work together to design technologies to ensure that the Web will continue to thrive in the future, accommodating the growing diversity of people, hardware, and software.

W3C's global initiatives also include nurturing liaisons with national, regional and international organizations around the globe. These contacts help W3C maintain a culture of global participation in the development of the World Wide Web. W3C coordinates particularly closely with other organizations that are developing standards for the Web or Internet in order to enable clear progress. The document Worldwide Participation in the World Wide Web Consortium summarizes W3C efforts in broading our international impact; see our international relations home for more information.

UMTS - Universal Mobile Telecommu. System


Mobile broadband is changing the way the world communicates. The UMTS Forum helps all players in this dynamic new value chain understand and profit from the opportunities of 3G/UMTS networks and their Long Term Evolution (LTE).

The UMTS Forum participates actively in the work of the ITU, ETSI, 3GPP and CEPT as well as other technical and commercial organisations globally. It also contributes to the timely licensing and deployment of mobile broadband globally through regular dialogue with regulators and responses to public consultations.

The UMTS Forum supports the interests of its membership with a range of studies, reports and other outputs. Principal focus areas include markets trends, mobile broadband services and applications, key growth markets, spectrum & regulation, technology & implementation. A strong promotional voice is maintained via a high-profile presence at conferences, seminars and workshops as well as regular briefings to the media, analysts and other stakeholders.

Membership of the UMTS Forum draws together everyone with an interest in mobile broadband, including network operators, regulators and the manufacturers of network infrastructure and terminal equipment.

WaSP - The Web Standards Project


Founded in 1998, The Web Standards Project (WaSP) fights for standards that reduce the cost and complexity of development while increasing the accessibility and long-term viability of any site published on the Web. We work with browser companies, authoring tool makers, and our peers to deliver the true power of standards to this medium.

WaSP: Fighting for Standards

The World Wide Web Consortium (W3C), along with other groups and standards bodies, has established technologies for creating and interpreting web-based content. These technologies, which we call “web standards,” are carefully designed to deliver the greatest benefits to the greatest number of web users while ensuring the long-term viability of any document published on the Web. Please see the sidebar for details.

Designing and building with these standards simplifies and lowers the cost of production, while delivering sites that are accessible to more people and more types of Internet devices. Sites developed along these lines will continue to function correctly as traditional desktop browsers evolve, and as new Internet devices come to market.

It sounds so straightforward and makes so much sense. So what’s the problem? And why is there a Web Standards Project?

The Problem

Though leading browser makers have been involved in the creation of web standards since W3C was formed, for many years compliance was observed in the breach. By releasing browsers that failed to uniformly support standards, manufacturers needlessly fragmented the Web, injuring designers, developers, users, and businesses alike.

Lack of uniform support for key W3C standards left consumers frustrated: when using the “wrong” browser, many could not view content or perform desired transactions. Among those most frequently hurt were people with disabilities or special needs.

Quandaries and Costs

At the same time, lack of uniform support for key W3C standards left designers, developers and site owners in a terrible quandary: could they afford to implement multiple versions of every web page in order to accommodate incompatible browsers? If not, which browsers should they neglect, and how many millions of potential visitors were they willing to turn away? Either way, the cost was too high. It still is.

The fractured browser market added at least 25% to the cost of developing all sites. Through lack of budget, many developers produced sites that locked out potential customers. Many developers who knew about standards saw no point in developing sites for browsers that did not support them. Others knew little or nothing about standards—and many still don’t, including those at multi-million-dollar agencies who seem to grasp ASP, Java, Flash MX, and .Net, yet understand almost nothing about structural and semantic markup, style sheets, and the importance of separating structure from presentation.

Some designers, stymied by browser incompatibility, deliberately excluded all but the oldest and most universal web technologies from their sites. Such sites often succeeded at functioning in all desktop browsers, but at the cost of limited consumer appeal and functionality.

Others relied on visual editors and publishing tools to generate multiple layers of markup and code optimized for the quirks of various popular browsers. This wasted money as well as bandwidth, and often generated sites that stopped working in the next generation of browsers (and never worked at all in alternative browsers or devices, from screen readers to Lynx to handhelds to less popular browsers such as Opera). The Web is littered with the corpses of once–impressive sites that cannot function in contemporary browsers or devices. Making matters worse, such sites are still being created every day.

Some designers became so frustrated they turned their backs on web standards altogether, and began to develop exclusively in proprietary environments. Though rich in creative potential, such technologies suffer from lack of broad accessibility, and fail to provide for common needs such as bookmarking, printing, copying and pasting, and other tasks web users must perform on informational and transactional sites.

Born of Necessity

In response to these problems, The Web Standards Project (WaSP) was formed in 1998 with the goal of promoting core web standards and encouraging browser makers to do the same, thereby ensuring simple, affordable access for all.

Though our message initially met with resistance (particularly from browser companies’ marketing and P.R. departments), eventually we prevailed—in part because engineers at many browser companies agreed with us and saw WaSP as an ally in their internal battles with management.

Beginning in 2000, one leading browser after another delivered on the promise of many of the standards we had (sometimes shrilly) promoted. Current market-leading browsers, along with several of their competitors, provide excellent support for HTML 4, Compatible XHTML 1.0, CSS Level 1, ECMAScript (the standard version of JavaScript), and the DOM—or are on the road to such compliance.

Thanks to these browsers, designers and developers are finally free to build with XHTML and CSS, and in most cases can separate structure from presentation to maximize portability and accessibility. With care, designers and developers may also use the W3C standard DOM to add sophisticated behavior to their sites.

So what’s the problem, and why is there still a Web Standards Project?

Challenges Ahead

Though today’s browsers support standards, tens of thousands of professional designers and developers continue to use outdated methods that yoke structure to presentation, in some cases entirely avoiding semantic structures and misusing (X)HTML as a design tool. Highly paid professionals continue to churn out invalid, inaccessible sites filled with structurally meaningless markup, huge image maps, excessively nested tables, and outdated detection scripts that cause the very usability problems they were originally intended to prevent.

Many books on web development still teach outdated methods, and many practitioners take pride in delivering sites that look and work exactly the same in compliant and non–compliant desktop browsers alike, at the cost of accessibility, long–term viability, forward compatibility, and lack of alternative device support. Others develop proprietary code that works only in a handful of popular browsers.

Thus one of WaSP’s primary goals is to provide educational resources that can help our peers learn standards-compliant methods that are in their interest and that of their clients and site users.

Many professionals accomplish their work by means of visual editing environments developed at the height of the Browser Wars. As mentioned above, such tools by default create invalid, non-semantic sites optimized for 4.0 browser quirks instead of standards. In 2002, two leading visual editors vastly improved their support for web standards and accessibility (one of them with help from The Web Standards Project). But to make use of these improvements, professionals must learn the basics and benefits of designing and building with web standards. This again points to the need for developer education.

Clients and site managers also need this information if they seek to create sites that are accessible in today’s browsers and devices and will remain viable as browsers and devices evolve. It is WaSP’s hope that, once informed of the benefits standards provide, site owners will stop viewing their sites as a species of print advertising that must look exactly the same in all environments. And that they will focus instead on delivering appropriate content and functionality within the context of presentations that may vary slightly according to the needs and capabilities of differing browsers and devices.


Standards Australia


Standards Australia is the nation’s peak non-government Standards organisation. It is charged by the Commonwealth Government to meet Australia’s need for contemporary, internationally aligned Standards and related services.

The work of Standards Australia enhances the nation’s economic efficiency, international competitiveness and contributes to community demand for a safe and sustainable environment.

It leads and promotes a respected and unbiased Standards development process ensuring all competing interests are heard, their points of view considered and consensus reached.

Standards Australia also recognises, rewards and promotes excellence in design and innovation through the Australian International Design Awards program and other design promotion initiatives.

Our four key areas:

1. National and International Standards Information and Coordination
Standards Australia is the central point for government, industry and the community to find information about non-government consensus Standards in Australia and around the world, and how to participate in their development.

2. Accreditation of Standards Development Organisations

Standards Australia supports the accreditation of other Standards Development Organisations through the Accreditation Board for Standards Development Organisations (ABSDO). This highly autonomous body independently assesses and approves other organisations such as industry associations to develop Australian Standards.

3. Standards Development

A range of development pathways is offered to stakeholders looking to develop new or update existing Standards.

4. Design Assessment and Promotion

Standards Australia operates one of the world’s leading design assessment programs through its Australian International Design Awards (AIDA). With more than 50 years of benchmarking excellence in design and innovation, the AIDA is charged with fostering a culture of design and innovation in Australia.

To view a brochure about Standards Australia click here or contact us to request a hard copy be mailed to you.


Standards Australia's Commitment

Standards Australia's Commitment, details the organisation's pledge to quality Australian Standards ®. Standards Australia's commitment includes to:

  • Work for the Net Benefit of the Australian community;
  • Provide national leadership and public access to Standards development;
  • Represent Australia’s interests internationally;
  • Promote Standardisation;
  • Use good regulatory principles and behave legally and ethically;
  • Engage with all stakeholders;
  • Ensure balance on committees and transparency of interests;
  • Adhere to consensus and governance processes;
  • Accredit other Standards development organisations; and
  • Continuous improvement.

Acknowledging our Committee Members

Our Technical Committee members are the lifeblood of standardisation. They willingly give their time and expertise to advance the principles and practices of standardisation. Their contribution to Australia's well-being cannot be overestimated. Although they give their time freely, it is estimated that their contribution is worth more than $30 million per year to the national interest.

A Permanent Audio Induction Loop is available in six of our meeting rooms in accordance with the Australian Standard AS 60118.4 2007.

OMA - Open Mobile Alliance

OMA is the leading industry forum for developing market driven, interoperable mobile service enablers.

OMA was formed in June 2002 by nearly 200 companies including the world's leading mobile operators, device and network suppliers, information technology companies and content and service providers. The fact that the whole value chain is represented in OMA marks a change in the way specifications for mobile services are done. Rather than keeping the traditional approach of organizing activities around 'technology silos', with different standards and specifications bodies representing different mobile technologies, working independently, OMA is aiming to consolidate into one organization all specification activities in the service enabler space.

OMA is the focal point for the development of mobile service enabler specifications, which support the creation of interoperable end-to-end mobile services. OMA drives service enabler architectures and open enabler interfaces that are independent of the underlying wireless networks and platforms. OMA creates interoperable mobile data service enablers that work across devices, service providers, operators, networks, and geographies. Toward that end, OMA will develop test specifications, encourage third party tool development, and conduct test activities that allow vendors to test their implementations.

OMA has pioneered significant consolidation of mobile service enabler organizations with the integration of the WAP Forum, Location Interoperability Forum (LIF), SyncML Initiative, MMS-IOP (Multimedia Messaging Interoperability Process), Wireless Village, Mobile Gaming Interoperability Forum (MGIF), and the Mobile Wireless Internet Forum (MWIF) into OMA. This consolidation promotes end-to-end interoperability across different devices, geographies, service providers, operators, and networks, and further supports OMA's market and user requirements focus to guide the specification work.

Significant new work in OMA is leading to the development of mobile service enablers in areas such as Device Management, Push-to-talk Over Cellular, Mobile Broadcast, and more.

The Goals of OMA :

  1. Deliver high quality, open technical specifications based upon market requirements that drive modularity, extensibility, and consistency amongst enablers to reduce industry implementation efforts.
  2. Ensure OMA service enabler specifications provide interoperability across different devices, geographies, service providers, operators, and networks; facilitate interoperability of the resulting product implementations.
  3. Be the catalyst for the consolidation of standards activity within the mobile data service industry; working in conjunction with other existing standards organizations and industry fora to improve interoperability and decrease operational costs for all involved.
  4. Provide value and benefits to members in OMA from all parts of the value chain including content and service providers, information technology providers, mobile operators and wireless vendors such that they elect to actively participate in the organization.

The Parlay Group


The Parlay Group is a multi-vendor consortium formed to develop open, technology-independent application programming interfaces (APIs) that enable the development of applications that operate across multiple, networking-platform environments. Parlay integrates intelligent network (IN) services with IT applications via a secure, measured, and billable interface. By releasing developers from underlying code, networks, and environments, Parlay open APIs allow for innovation within the enterprise. Parlay-based portable, network-independent applications are connecting the IT and telecom worlds, generating new revenue streams for network operators, application service providers (ASPs), and independent software vendors (ISVs). Mission :
  • Define, establish, and support a common specification for industry-standard APIs.

  • Facilitate the production of test suites and reference code in multiple technologies that enable developers to create related products and services that operate across wireless, Internet-protocol (IP), and public-switched networks.

  • Provide an environment in which Parlay Group Members can approve suggested revisions and enhancements that evolve the initial specifications; to make appropriate submissions to established agencies and bodies with the purpose of ratifying these specifications as an international standard; and, to provide a forum in which users can meet with developers and providers of products and services to identify requirements for interoperability and general usability.

  • Educate the business and consumer communities as to the value, benefits, and applications for the Parlay APIs through publicity, publications, trade show demonstrations, seminars, and other programs established by the Parlay Group.

  • Support the creation and implementation of uniform conformance test procedures and processes, which assure that Parlay API implementations are compliant with the specifications.