Product and Process Metrics



1.   Software product and process metrics are used to measure various characteristics of software process or product.

2.   Software product metrics measure the software development process and environment.

3.   Software process metric measure the software product.

4.   Examples of product metrics are – size, reliability, complexity and functionality.

5.   Examples of process metrics are – productivity, effort estimates, efficiency and failure rate.


Post a Comment

Capability Maturity Model (CMM)



 1.   The Capability Maturity Model (CMM) is used in assessing how well and organization’s processes allow to complete and manage new softwares projects.
2.   Various process maturity levels are –
a.     Initial – Few processes are defined and individual efforts are taken.
b.    Repeatable – Depending on earlier successes of projects with similar applications necessary process discipline can be repeated.
c.     Defined – All the projects use documented and approved version of software which is useful in Developing and supporting software.
d.    Managed – Both the software process and product are quantitatively understood and controlled using detailed measures.
e.     Optimizing – Establish mechanisms to plan and implement change. Innovative ideas and technologies can be tested.



Post a Comment

Software Process Customization



There are two types of software products-

1.   Generic software products – Generic software products can be developed for a general purpose. There is no specific target application for which such software can be developed. For example: Text editors, compilers or operating system are general software products.

2.   Customized software products – The customized software products are developed by focusing some target customers. As per the requirements and needs of specific customer the software product can be developed.


Post a Comment

Extreme Programming



Extreme Programming (XP) is one of the best known agile processes. The extreme programming approach was suggested bt Kent Beck in 2000. The extreme programming process is explained as follows-

1.    Customer specifies and priorities the system requirements. The developer and customer together prepare a story-card in which customer needs are mentioned.
2.    The developer team then aims to implement the scenarios in the story-card.
3.    After developing the story-card the development team breaks down the total work in small tasks.
4.    The customer priorities the stories for implementation.
5.    For accommodating new changes, new story-card must be developed.
6.    Evaluate the system along with the customer.


Post a Comment

Agile Processes



The agile processes are the light-weight methods are people-based rather than plan-based methods. The agile process forces the development team to focus on software itself rather than design and documentation. The agile process believes in iterative method. The aim of agile process is to deliver the working model of software quickly to the customer.

Set of principles of agile process
1.   Customer involvement – The customer specifies the software requirements and evaluates each iteration of the system.
2.   Incremental change – Software is developed in increments. Each increment must be evaluated by the customer and customer should suggest changes in the system if any.
3.   Assume simplicity – The software system to be developed should be simple and the complexity of the system should be eliminated.
4.   People are important than process – The skill of the people should be exploited. Instead of following rigid prescribed process, people should get the liberty to develop their own ideas and their own working style.
5.   Embrace change – If any changes occur in requirements or in design then system should accommodate those changes.


Post a Comment