200 likes | 315 Views
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. Lecture 2a: Defining & Documenting
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