200 likes | 322 Vues
This lecture presents an in-depth exploration of software processes, focusing on the manager's roles and responsibilities, the importance of measuring processes over individuals, and strategies to combat common obstacles to documentation. Learn about the assessment of software processes, how to implement process improvement models, and the practical steps needed to create tailored and effective process documentation. Discover the significance of defined processes as a baseline for organizational improvement in the software engineering landscape.
E N D
Software System Engineering Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering San José State University One Washington Square San José, CA 95192-0180 http://www.engr.sjsu.edu/~fayad, m.fayad@sjsu.edu SJSU -- CmpE
Lecture 2a: Defining & Documenting Software Processes 2 SJSU -- CmpE M.E. Fayad
Lesson Objectives • The Manager’s Roles and Responsibilities in Software Process • Measure Processes Rather than People • Five Top Excuses for No Process Documentation • Where to Start and How? • The Trouble with Process Assessment: + Process Improvement Models + Problems with Assessment + Process Paralysis • How to Use Processes as a Baseline for Improvement 3 SJSU -- CmpE M.E. Fayad
Specify who, what, when, how, and ignore the why? Practical Concrete Actions Measurable Tailorable Hierarchical Repeatable Simple Process Properties 4 SJSU -- CmpE M.E. Fayad
Management must: support the move to process-oriented development. Show how processes will help achieve the overall goals of the organization. Show how each team and its members fit into the big picture. The Manager’s Roles & Responsibilities 5 SJSU -- CmpE M.E. Fayad
Measuring processes is an excellent measure of management itself. Measure Processes Rather than People 6 SJSU -- CmpE M.E. Fayad
Top Five Excuses for No Process Documentation 7 SJSU -- CmpE M.E. Fayad
Where to Start and How? • In many organizations, especially those trying to conform to SEI’s CMM, turning everything into a process has become goal in itself. • Wrong, Why? 8 SJSU -- CmpE M.E. Fayad
Software Process Assessments - 1 • Software process improvement begin with an assessment. • Gives an organization a sense of where it stands in terms of software production skills. • The organization evaluates its development capability against a set of best practices that are supposed to be found in effective organizations 9 SJSU -- CmpE M.E. Fayad
Software Process Assessments - 2 • The number of practices, their mastery, and their level of integration into the development determine the organization’s assessment score. • Best known process improvement initiatives: • SEI’s CMM • SPICE • DOD’s SDCE • ISO 9000 • ISO/IEC 12207 • Some initiatives allow self-assessment while others require outside certification. 10 SJSU -- CmpE M.E. Fayad
Software Process Improvement Models • SEI’s CMM • SPICE • DOD’s SDCE • ISO 9000 • ISO/IEC 12207 11 SJSU -- CmpE M.E. Fayad
SEI’s CMM • Best known and most widely discussed SPI model. • Defines 5 level of organizational maturity, from initial or chaotic to optimizing. • Starting with level 2 on, has associated with it a set of key process areas • Level 2: requirements management and project planning • Level 3: training and peer reviews • Level 4 & 5: software quality management and defect prevention • Each level includes the process areas of its lower levels 12 SJSU -- CmpE M.E. Fayad
SPICE • Developed as an international metastandard under ISO/IEC. • Doesn’t aim to replace other standards. • Provide a benchmark for current and future process improvement initiatives. • Recognizes two categories of SE practices: best practices (specific Process) and generic practices (any process) • List five process areas: customer-Supplier, engineering, project management, support, and organization • Capability levels range from 0 (not performed) to 5 (continuously improving) 13 SJSU -- CmpE M.E. Fayad
Defined Processes are Baseline for Improvements Can’t improve anything that you can’t repeat 14 SJSU -- CmpE M.E. Fayad
Software Process Hierarchy 15 SJSU -- CmpE M.E. Fayad
General Processes Must be Tailored to Your Projects 16 SJSU -- CmpE M.E. Fayad
Identifying Appropriate Process Details Cost effective range • depends upon environment • specifies “who”, “what”, “when” • reference “how” • Too Much • not cost effective • typically too much “why” • Not Enough • useless • typically only “what” 17 SJSU -- CmpE M.E. Fayad
What are the differences between macro-development process and mini-development process? What are the differences between mini-development process and micro-development process? T/F SPICE is software development lifecycles Process specifies who, when, what, and how and ignore the how. Define: Process, Process assessment, SPI Models Discussion Questions 18 SJSU -- CmpE M.E. Fayad
Problem with assessments Process Paralysis How to document the processes How to tailor general processes to your project Recommendations for documenting S/W processes Process documentation Questions for the Next Lecture 19 SJSU -- CmpE M.E. Fayad
Task 1: Select your assignments on course web site. This is due on the Third week of the semester. Task 2: Select your team project on the course web site. This is due on the Third week of the semester. Task 3: Identify the team members of your team. E – Mail me their names, e-mails, phone numbers. Task 4: Read chapter 13 – Fayad – Sections 6 to 7 Please note that all deliverables must be submitted electronically as MS Word format. Tasks for Next Lecture 20 SJSU -- CmpE M.E. Fayad