Nalla Malla Reddy Engineering College: Notes of Unit-1
Nalla Malla Reddy Engineering College: Notes of Unit-1
The Initial level organizations are often known for the chaotic nature. This is due to many
reason and lack of commitment, discipline is the most common reason for chaotic behaviour.
But there are more reasons other than above said. Some of the major reasons are:
1. Under extreme pressure, software managers often make a guess rather than a plan.
Though the commitments are accurate, if the guess is low, then the chaos ensues.
2. When the going gets rough, there is a strong temptation to believe in magic. Some
“saviour” may appear or a new technology may be the answer. As this is just hope
and no plan is prepared, it merely postpones the problem.
3. The scale of software projects follows an escalating cycle:
Project generally takes more code than expected.
As the programs become larger, new technical and management issues arise.
Some are unlike previous experience, they are surprised
As the scale increases, the surprises continue and thus increasing the cost.
4. Even after a higher maturity level is reached, some organisations cannot sustain the
pressure of challenges at that level like, new technologies, increased competitors,
technical and management level challenges etc. so they tend to revert to the Initial
process levels
The main Chaotic forces are:
Unplanned Commitments
Problems of scale
Lack of Experience to new challenges
Belief in magic
Way out of Chaos:
The outline of general solutions are:
1) Apply systematic project management- work must be estimated, planned and
managed
2) Adhere to careful change management- changes must be controlled, including
requirements, design, implementation and test.
3) Utilize independent software assurance- an independent technical means is
required to assure that all essential project activities are properly performed.
The basic principles for controlling chaos in software organizations are:
Defined Process:
At this level, documentation of the standard guidelines and procedures takes place.
It is a well defined integrated set of project specific software engineering and
management processes.
Key Process Areas:
Peer Reviews- In this method, defects are removed by using a number of review
methods like walkthroughs, inspections, buddy checks, etc.
Intergroup Coordination- It consists of planned interactions between different
development teams to ensure efficient and proper fulfilment of customer needs.
Organization Process Definition- It’s key focus is on the development and
maintenance of the standard development processes.
Organization Process Focus- It includes activities and practices that should be
followed to improve the process capabilities of an organization.
Training Programs- It focuses on the enhancement of knowledge and skills of the
team members including the developers and ensuring an increase in work
efficiency.
Managed Process:
At this stage, quantitative quality goals are set for the organization for software products
as well as software processes.
The measurements made help the organization to predict the product and process quality
within some limits defined quantitatively.
Key Process Areas:
Software Quality Management- It includes the establishment of plans and
strategies to develop a quantitative analysis and understanding of the product’s
quality.
Quantitative Management- It focuses on controlling the project performance in a
quantitative manner.
Optimizing Process
This is the highest level of process maturity in CMM and focuses on continuous process
improvement in the organization using quantitative feedback.
Use of new tools, techniques and evaluation of software processes is done to prevent
recurrence of known defects.
Key Process Areas:
Process Change Management- Its focus is on the continuous improvement of
organization’s software processes to improve productivity, quality and cycle time
for the software product.
Technology Change Management- It consists of identification and use of new
technologies to improve product quality and decrease the product development
time.
Defect Prevention- It focuses on identification of causes of defects and to prevent
them from recurring in future projects by improving project defined process.