290 likes | 412 Views
Ch-1 Introduction . The processes used for executing a software project have major effect on quality of s/w produced and productivity achieved in project…. Continue . There is an need to evaluate processes used in organization for executing s/w projects and to improve them..
E N D
Ch-1 Introduction The processes used for executing a software project have major effect on quality of s/w produced and productivity achieved in project…
Continue • There is an need to evaluate processes used in organization for executing s/w projects and to improve them.. • CMM for s.w developed by SEI is a framework that can be used for both purposes…
Process Based Approach for Project Execution • What is software development project? -> it is the project in which a s/w product is developed to fulfill the customer needs and is delivered within a specified cost and time. • When is project successful? -> when it meets or exceeds the expectations on all three parameters- cost, schedule and quality. A key success parameter is set of processes followed in the project.
Continue • There are several reasons for project failure such as improper estimation, requirements management, weak project management etc. These reasons can be combined into category called process failure. • High quality and productivity are two aims of project for delivering a s/w product. • Q&P depends on 3 factors: process, people and technology. This relationship is called quality triangle. It is similar to process-technology-leadership triangle and also known as iron triangle.
Process, people and technology triangle process Technology People Q & P
Capability Maturity Model • Many frameworks are available such as ISO 9001, CMM, Trillium, SPICE and BOOTSTRAP. • But two most prominent are ISO 9001 and CMM. • CMM is framework that focuses on processes for software development. It can be used both to evaluate s/w process and to process improvements. • One objective is to distinguish mature process from immature process.
Continue • The range of results expected when project is executed using software process of an organization is software process capability. • The actual result achieved is called software process performance. • There are 5 levels in CMM which are initial, repeatable, defined, managed and optimizing.
Continue Level-5 Optimizing Level-4 managed Level-3 defined Level-2 repeatable Level-1 initial
Continue • In level 1 an organization executes a project in a manner that a team and project manager see fit. The processes are used on an ad hoc basis. • In level 2 project management practices are well established. • In level 3 the software processes for the organization have been precisely defined and regularly followed. • In level 4 quantitative understanding of process capability makes it possible to predict and control the process performance. • In level 5 the process improves continuously.
Continue • Each maturity level is characterized by some key process area (KPA) that specify the areas on which the organization should elevate its process to that maturity level except level 1.
KPAs in different levels • Each KPA specifies a group of activities called key practices. • The key practices are organized into various groups called commitment to perform, ability to perform, activities performed, measurements and analysis and verifying implementation.
Continue List of some of the KPAs:- • For level 2:- -> requirement management -> software project planning -> software project tracking and oversight -> software subcontract management -> software quality assurance -> software configuration management
Continue • For level 3:- -> organization process focus -> organization process definition -> training program -> integrated software management -> software product engineering -> intergroup coordination -> peer reviews
Continue • Level 4:- -> software quality management -> quantitative process management • Level 5:- -> process change management -> technology change management -> defect prevention
Assessment Method • The approach that organizations used for process assessment is called CMM based appraisal for internal process improvement (CBA-IPI). • Another form of assessment is called software capability evaluation, that place at the request of some customer (usually). • CBA-IPI helps in improving the process. • Assessment is performed by an assessment team.
Continue • There are three main sources of information: -> Maturity questionnaire -> Documentation -> Interviews
Processes at Infosys • Some factors that helps in deploying and changing the processes and in implementing CMM are: -> Senior managers who are s/w professionals -> Process orientation and adoption of ISO. -> A strong commitment to measurement and transparency -> A training program -> Use of technology
Process Architecture and Documentation activities process stages subactivities
SEPG and Software Process Improvement Planning • The core group that takes the responsibility for coordinating the process activities in the organization is called Software Engineering Process Group. • At infosys, the SEPG consist of quality professionals whose duty is monitoring and improving the process for improving the Q&P. • Process definition and enhancement are key activities of SEPG.
Continue • SEPG member is associated with a project as a quality advisor. He provides assistance in defining and following processes, ensures that the processes are followed. Aids in analyzing the data, and provides specific training on some aspects of processes. • In addition one senior SEPG person is assigned as a group leader to look after process activities of a business unit. • The major tasks of the SEPF focus on process management, training, process deployment and audits
Process life cycle • Infosys uses a simpler model for process management, which is also a derivative of the PDCA cycle. • Life cycle has three major steps: -> process defination -> process implementation and deployment -> process analysis and change
Continue Process definition Implementation and deployment Process analysis and change
Continue • Process definition:- -> It is defined for a task that transforms some inputs to outputs. The goal is to specify a process that will perform a task in an optimal manner. Generally divide-and-conquer approach will be performed. • The main participants are SEPG members, members of task force, process users and senior management.
Continue • Process implementation :- -> it includes those activities that must be carries out to implement new process or to implemement changes to an existing process. • Changes are of two types: -> major -> minor -> In minor process changes the process definition and proposed changes are reviewed and a notification is sent to all users.
Continue • Implementation to major changes resembles the implementation of new process. • The participants in this phase are SEPG, senior management, process users and pilot projects
Continue • Process analysis and change:- -> It includes those activities which are carried out to identify a need for changes to existing processes and to handle the change request. -> Input to this stage is change requests and main output is changed process. -> it is having 3 stages; project planning, project execution and project closure.