140 likes | 218 Views
CS4311 Spring 2011 Process Improvement Dr. Guoqiang Hu Department of Computer Science UTEP. Basic Concepts Process: Is about how to go about things.
E N D
CS4311 Spring 2011 Process Improvement Dr. GuoqiangHuDepartment of Computer ScienceUTEP
Basic Concepts Process: • Is about how to go about things. • More strictly, it is the sequence of steps required to do a job, whether that process guides a medical procedure, a military operation, or the development and maintenance of software. • When properly designed and defined, a process will guide you in doing your work: for example, help you plan your work, coordinate the activities, manage the progress; If not, your work will most probably follow a random and chaos process. • More specifically, the software process establishes the technical and management framework for applying methods, tools, and people to the software tasks. The process definition identifies roles, specifies tasks, establishes measures, and provide entry and exit criteria for the major steps. It ensures that every work item is properly assigned and its status consistently tracked. It also provides an orderly mechanism for learning and improving. • Software process vs. software lifecycle models
Basic Concepts Basic model of improvement: • Observe the difficulties and problems • Collect some data • Identify the root causes (hypothesis) • Develop reasonable solutions • Plan and implement the changes • Continue this process Process improvement model: • Process improvement model provides a common set of process requirements that capture the best practices and knowledge in a format that can be used to guide the process improvement. • Both change and stability are fundamental to process improvement • CMM (Capability Maturity Model)
Capability Maturity Model (CMM) for Software Process capability: • The ability of a process to produce planned results Software Engineering Institute (SEI): • Carnegie Mellon 5 Levels Certification is based on audits
CMM Maturity Level 1: Initial Characteristics: • No sound SE management principles in place • Ad hoc practices • May be successful because of competent manager and team • Activities are not preplanned, but response to crisis • Unpredictable process • Cannot predict time and cost of development To get to next level: • Initiate Project Management
Elements of Basic Project Management • Software Configuration Management • Software Quality Assurance • Software Acquisition Management • Software Project Control • Software Project Planning • Software Requirements Management
CMM Maturity Level 2: Repeatable Characteristics: • Basic SE management practices in place • Planning and management are based on experience with similar products (repeatable) • Track costs and schedules • Identify problems as arise and take immediate corrective action To get to next level: • Standardize Processes
Process Standardization • Peer Reviews • Project Interface Coordination • Software Product Engineering • Methods and technologies • Software development process architecture • Integrated Software Management • Organization-level Awareness • Organization training program • Organization process definition • Organization process focus
CMM Maturity Level 3: Defined Characteristics: • Process for development fully documented • Reviews used to achieve software quality • Introduce CASE Tools To get to next level: • Quantitative Management
Quantitative Management • Statistical process management • Quantify quality and cost parameters • Process database to maintain process data • Assess relative quality of each product
CMM Maturity Level 4: Managed Characteristics: • Organization sets quality and productivity goals for each project • Continually measure • Statistical quality control in place To get to next level: • Support automatic gathering of process data • Use data to analyze and modify the process • Defect Prevention
CMM Maturity Level 5: Optimizing Characteristics: • Statistical quality and process control techniques are used and guide the organization • Process has positive feedback loop To maintain level: • Continue improvement and optimization of the process
Four Process Categories • Process Management • Process Definition • Training • Project Management • Project Planning • Monitoring and Control • Risk Management • Engineering • Requirements Development and Management • Product Engineering • V&V • Support • Configuration Management • Measurement and Analysis • Decision Analysis and Resolution