Problem # 2
We are required to work on a larger and more complex project. Requirements have been thoroughly documented by the customer.
Process Model:
For the present situation I would like to go for incremental process model for the development of the software.
Assumptions:
- Time is not a problem here. No tight deadlines are drawn.
- Project is large and complex.
- Fewer people are required to complete the project.
Reasons:
In this particular situation I would like to go for the Incremental Process Model because of the following reasons:
- Project is large and complex therefore, no chances can be taken. For this reason customer’s opinion is essential with each increment.
- This process model is iterative in nature, so there is always room for improvement till the customer is fully satisfied.
- Less staff is required, it will make easy for us to develop a high quality software even with less staffing.
- Customer satisfaction is guaranteed at the completion of project.
Problem # 3
Answer the following question:
- State the purpose of “The Capability Maturity Model”
The CMM describes the principles and practices underlying software process maturity. It is intended to help software organizations improve the maturity of their software processes in terms of an evolutionary path from ad hoc, chaotic processes to mature, disciplined software processes. The focus is on identifying key process areas and the exemplary practices that may comprise a disciplined software process.
- Write the key features that make the structure of CMM.
Maturity Levels
A layered framework providing a progression to the discipline needed to engage in continuous improvement (It is important to state here that an organization develops the ability to assess the impact of a new practice, technology, or tool on their activity. Hence it is not a matter of adopting these, rather it is a matter of determining how innovative efforts influence existing practices. This really empowers projects, teams, and organizations by giving them the foundation to support reasoned choice.)
Key Process Areas
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. These five types of common features include: 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 key process areas.
- Write the names of levels of CMM and significance of their names.
The 5 levels of The Capability Maturity Model are:
-
Initial: Processes are ad-hoc, chaotic, or actually few processes are defined.
-
Repeatable: Basic processes are established and there is a level of discipline to stick to these processes.
-
Defined: All processes are defined, documented, standardized and integrated into each other.
-
Managed: Processes are measured by collecting detailed data on the processes and their quality.
-
Optimizing: Continuous process improvement is adopted and in place by quantitative feedback and from piloting new ideas and techniques.
-
Define software process maturity. What is the difference between immature software organizations and mature software organizations?
Software Process Maturity:
Software process maturity is basically, a measure of the effectiveness of a company’s software engineering practices.
It defines effectiveness of the processes of any organization for developing a software. It includes all the measurements, rules and checks that an organization apply on the process of software development. Software process maturity of any organization identifies the effectiveness and completeness of any software developed by that organization.
Difference between Mature and Immature Software Organizations:
We can classify the two as level 1 organizations and the level 5 organizations i.e. immature and mature organizations. Immature organizations use unpredictable processes. Management of immature organization is usually not planned. Their work is mostly base on individual efforts and if that individual is not available, it may cause trouble. Almost every newly established organization is immature.
Mature organizations move towards their project completion in an order or organized way, using proper teams and processes. Their software processes are well documented. They have set their quality and productivity goals for each project and they continually monitor their quality and productivity. Statistical quality controls are also monitored.