Date post: | 25-Dec-2015 |
Category: |
Documents |
Upload: | barrie-cunningham |
View: | 214 times |
Download: | 0 times |
3
Instructors(1):
Teaching team: Jie Yang and James Chen
My contact information
+ Phone: 020-33105143+ Email: [email protected]
4
Instructors(2):
Graduated from Beijing University of Chemical Eng&Tech;
Took graduate study at Rutgers in US, majoring in Biophysics;
Worked for some known international companies, e.g.Bell CommunicationsAT&TLucentJohnson&JohnsonPanasonic
Involved in various testing, customer support, ISO/CMM relatedActivities.
5
Course(1):
+ Textbook in hand;
+ 12 weeks, 4 hours/week;
+ 20 chapters with some changes in ordering;
+ Focus on CMM;
6
Course(2):
+ Class attending rate and class discussions (10%)
+ Testing (Q/A, case analysis, definitions) (30%)
+ Final exam (60%)
7
Course(3):
Testing coverage is focused on the following:
+ Class discussions
+ Figures
+ Tables
+ Summaries
+ Case studies
8
Where are we? (Are we on the same boat) (1)?
What phases are there in a software development lifecycle?
PlanningCodingTestingMaintain/support
9
Where are we? (Are we on the same boat)(2)?
As a software developer or a tester, what do we needto possess in order to be a person with a good discipline?
Plan what to be doneDo what have been plannedTrack what have been doneSummarize/improve
10
What would we learn from this course?
Three big parts:
+ What is a software process?
+ Why do we need to improve a software process?
+ How do we improve a software process?
12
Process thinking
• Process thinking• Process discipline• Effective process environment• Process maturity• Business benefits of software process
improvement (SPI)
14
Process thinking(2):
Task-based thinking or process-oriented thinking?
+ case 1: ‘Just enjoy every detail during a journey regardless of results’
+ case 2: ‘All roads leads to Rome’
15
Process thinking(3):
What is a process?
+ Oxford dictionary: ‘a course of action or proceeding, esp. a series of stages in manufactures or some other operation’
+ Webster’s dictionary: ‘a system of operations in producing something…a series of actions, changes or functions that achieve an end result’
16
Process thinking(4):
What is a software process?
+ IEEE (Institute of Electric and Electronic Engineering)
‘a sequence of steps performed for a given purpose, for example, the software development process’
---to be continued
17
Process thinking(5):
software process (continued)
+ SEI (Software Engineering Institute)
‘the set of activities, methods, and practices used in the production and evolution of software’
18
Process thinking(6):
What comprises a software process?
+ definition: documental specification
+ knowledge: drive activities
+ results: from activities
19
Process thinking(7):
If there is no process documentation in an organization?
+ may be possible for a person or a small team with a good discipline.
+ more dependence on individuals: different understanding of the process rules and details.
+ new comers could easily mess up: they may impose their own way of performing process activities.
20
Process thinking(8):
Will a process be complete with missing any aspect?
e.g. the process of going to TianHe by driving a car
+ case 1: no destination
+ case 2: no complete definition shown as above
+ case 3: don’t have a workable car
+ case 4: don’t know how to drive
21
Process thinking(9):
Another example of a process focus is my first IT job interview story.
……
‘If someone is very clear about what he is doing, he can do other things well, too’
23
Process thinking(11):
Advantages of a process focus:
+ Alignment of the group activities towards the common goals
+ Providing the basis for objective measurement of individuals’ performance
+ Enhancing consistency and repeatability of the process results and group performance
24
Process thinking(12):
A process focus (continued):
+ a disciplined process => a common process followed in ordered and consistent patterns
26
Process thinking(14):
Focus vs none focus (Table1.2 at p10):
There are mainly five aspects of impact (i.e, central role of the process).
1) process discipline2) organization: roles, responsibilities3) management: procedures, measurements4) skills & training5) tools & technology
27
Process thinking(15):
Based on the previous analysis, what are the main logical steps to build a factory?
+ defining the process goals: what products are to be produced?
+ form an organization: know how to manufacture the defined products.
---to be continued
28
Process thinking(16):
to build a factory (continued)
+ defining management procedures: roles, procedures
+ identifying skills: needed to perform tasks
+ identifying infrastructure, machinery and tools: technology to be used
29
Process thinking(17):
Central role of the process focus is once again better expressed in Fig1.2 at p12.
+ organization: roles/responsibilities to enable/support the process
+ management: procedures/practices to monitor/support the process
+ skills: enable effective performance
+ technology: infrastructure to automate and enable efficient performance
30
Process thinking(18):
In general, why do we need a process focus?
--- to increase the process productivity and effectiveness in support of the overall business goals
31
Process thinking(19):
Summary: process thinking is a natural way of thinking. p13-15
+ what is a process?+ what is a process thinking?+ what are the 3 aspects of a process?+ why do we need a process focus?+ what is the central role of a process focus?
32
Process discipline(1):
What is a discipline?
+ Oxford dictionary: a discipline is ‘the system of rules used to maintain control or order over a group of people’
33
Process discipline(2):
A disciplined process is a mature process.
+ that is defined, trained, enforced and followed
+ continuously improving (VERY IMPORTANT!)
34
Process discipline(3):
Why is a disciplined process needed for everyone, teams, and groups?
+ Diverse levels of knowledge
+ Wide variation of maturity
+ Different interpretation to common purpose
35
Process discipline(4):
We need process discipline at different levels. Missing any won’t do.
+ Person
+ Project: team and group
+ Organization (or department)
+ Company
36
Process discipline(5):
A process discipline should not cause the following effects. Or, it should get improved.
+ creating unnecessary bureaucracy
+ hurting creativity
37
Process discipline(6):
There was a report on the benefits of SPI (Software Process Improvement):
• $490-2004 invested per software engineer per year
• annual increase by 9-67% in productivity
• annual reduction by 15-23% in cycle time
• annual reduction by 10-94% in field error rate
• ROI (return on investment) from 4:1 to 8.8:1
--- to be continued
38
Process discipline(7):
Benefits of SPI (continued):
+ increase team capability
+ vital in critical situations
+ positive impact on product quality (Fig2.3 on p26)
+ positive impact on scheduling (Fig2.4 on p27)
39
Process discipline(8):
Some comparisons of immature process and mature process are listed in Table2.1 on p28.
Some key feature comparisons about software process are listed in Table2.2 on p29.
40
Process discipline(9):
Five landmarks for an effective organization:
1) Central role of the process: should be the basis for organization, management, skills and technology.
2) The process has three components: the document, the training, and the mechanisms to ensure the process is followed.
---to be continued
41
Process discipline(10):
Five landmarks (continued)
3) The process is more than a list of activities: should include goals, activities, abilities, commitment, measurement, and verification.
---to be continued
42
Process discipline(11):
Five landmarks (continued)
4) End-to-end coverage: the process definition should cover the process activities across all functions and roles.
---to be continued
43
Process discipline(12):
Five landmarks (continued)
5) One process could be divided into three major process classes in software project:
• management processes• software engineering (lifecycle) processes• support processes (lifecycle support)
44
Process discipline(13)
Checklist of a disciplined process:
+ Is the process documented? And is everyone aware of it?+ Is the processed trained and practiced?+ Is the process enforced? Are there mechanisms and procedures to enforce the process?+ Does the process help or hinder people’s activities? Are there mechanisms to track the process performance?+ Do managers manage their teams through measuring their process conformance and process performance?
45
Process discipline(14):
Summary (p33-34):
• A mature process results in disciplined behavior, hence less rework, better product quality and improved project control.
• Process discipline should not stifle creativity. Project managers and software engineers should be supporters of process discipline.
• A mature software process should be defined, trained, followed, enforced, and continuously improving. (---to be continued)
46
Process discipline(15):
Summary (continued):
+ What is a discipline?
+ What is a disciplined process?
+ Why do we need a process discipline?
+ What are the five landmarks of an effective organization?
+ What is the checklist for a disciplined process?
47
Effective process environment(1):
In previous talks, we have gained the following:
+ Three components
+ Central role
+ Five landmarks
Anything else will cause us concern?
48
Effective process environment(2):
+ Lack of process ownership:
The process won’t be monitored, enforced and updated to improve.
+ Possible divergence of the process from its business goals
49
Effective process environment(3):
Beyond the previous discussed 5 landmarks, some detailed characteristics and conditions for an effective process are listed in Table3.1 on p39
50
Effective process environment(4):
The organizational roles should cover the following:
+ Process ownership: Software Engineering Process Group(SEPG) owns the process
+ Process training: Table3.2 at p42
+ Measurements of process results: Table3.3 at p43
---to be continued
51
Effective process environment(5):
The organizational roles (continued)
+ Feedback from process users/others:
• Question forms
• Automatic collection from monitoring and measurement
• Regulations & Standards
---to be continued
52
Effective process environment(6):
The organizational roles (continued)
+ Process inspection/enforcement
• Internal audits (random and regular)
• Standards certification audits (ISO, CMM, etc)
53
Effective process environment(7):
Assuming that the business methods, practices, and procedures have already been defined. Those who defined them left the company.
Does this cause any concern?
More examples…
54
Effective process environment(8):
What is a process culture? It is a combination of the following two (we need both!):
+ a process corporate culture: driven by vision and strategic direction from the top management
+ a process infrastructure: provides operational support for the process activities and management
55
Effective process environment(9):
Some descriptions of a process culture are listed in
Table3.4 on p47
57
Process maturity(1):
Just like an adult comparing with a child, a process has a certain degree of maturity. (Table1.3 on p11)
58
Process maturity(2):
Watts Humphrey and SEI (Software Engineering Institute)
‘to treat the entire software task as a process that can be controlled, measured, and improved’
59
Process maturity(3):
Process improvement cycle has six steps:
+ understand the current status (from assessment)
+ develop a vision of the desired process
+ establish a list of actions in order of priority
+ produce the improvement plan
+ commit the resources to execute
+ restart the cycle (continuously improving)
60
Process maturity(4):
An organization can be called ‘process focused’ only after the three following levels have all been ‘process focused’:
• Corporate and organizational level
• Project and team management level
• Personal level
61
Process maturity(5):
+ ‘Internalization’ when process focus is at personal level:
Following the process becomes ‘natural’ way of performing the task ‘painlessly’
+ ‘Institutionalization’ when process focus is at the level of teams and organization:
Everyone follows the common processes and the process discipline is enforced.
62
Process maturity(6):
Three major SW process maturity movements:
1) US Department of Defense (DoD) sponsored SEI where Watts Humphrey was a director of SW Process Program. = CMM
2) ISO = ISO series
---to be continued
63
Process maturity(7):
SW process maturity movements (continued)
3) UK Ministry of Defense (MoD) sponsored work on SW quality standards and SPI, which helped
= SPICE project sponsored by ISO
= ISO/IEC 15540
64
Process maturity(8):
Please memorize the following:
CMM Capability Maturity Model
SPICE SPI and Capability dEtermination
ISO International Standards Organization
IEC International Electrotechnical Commission
65
Process maturity(9):
CMM (Capability Maturity Model):
+ History of CMM development: Fig4.3 on p60
+ Staged model: Fig4.3 on p60
67
Process maturity(11):
ISO (International Standards Organization) series: ISO 9000 is a general standard.
+ ISO 9001 Quality Systems
+ ISO 9000-3 Guidelines for the Development, Supply, and Maintenance of Software
+ ISO 9004-2 Quality Management and Quality System Elements
---to be continued
68
Process maturity(12):
ISO series (continued)
ISO 9000-3 divides the quality system into lifecycle activities and supporting activities:
• Quality system – lifecycle activities
• Quality system – supporting activities (not phase dependent)
---to be continued
69
Process maturity(13):
Quality system – lifecycle activities (continued)
- Contract review
- Purchaser’s requirements specification
- Development planning
- Quality planning
- Design and implementation
- Testing and validation
- Acceptance
- Replication, delivery and installation
- Maintenance
70
Process maturity(14):
Quality system – supporting activities (continued)
- Configuration management
- Document control
- Quality records
- Measurement
- Rules, practices and conventions
- Tools and techniques
- Purchasing
- Included software product
- Training
71
Process maturity(15):
ISO/IEC 15504 (International Standards Organization, Inter
national Electrotechnical Commission):
+ a software process assessment
+ individual process attributes are rated by trained assessors
+ they are evaluated against achievement scale using indicators of performance and capability
+ the resulted process profile, e.g. capability profile, will be used to initiate PI and/or compare competing software suppliers
73
Process maturity(17):
Other process-related initiatives:
+ A lot of them are variants of CMM.
+ Most of them are single purpose centralized.
e.g. acquisition, outsourcing, …
74
Process maturity(18):
Summary p62-63
+ What is a software process maturity?
+ What are the typical steps adopted in PI?
+ What are the three levels needed to be process focused for a company to be effective?
+ What are the popular models for SPI?
+ How many stages are there in CMM model? And what are they?
75
Business benefits of software process improvement (1):
As a company, what is our number one requirement?
76
Business benefits of software process improvement (2)
1) To meet Customer Satisfaction
2) Profitability
3) Business success
77
Business benefits of software process improvement (3):
+ Improved product quality:
fewer errors, fewer returned products=>improved CS
+ Shorter time to market:
less error, less or no rework
+ More productivity:
Inspection at early phases=>fewer errors, less rework
78
Business benefits of software process improvement (4):
Case study (class reading & discussion):
+ Europe cases on p394-398
+ US cases on p401-406
79
Business benefits of software process improvement (5):
Lessons or experience learned in implementing SPI:
+ SPI activities are designed to meet business needs
+ Focus on those areas expected to deliver the best results
+ Show managers the good examples of SPI in cost-benefit justification
+ Benefits may not materialize in a short term
+ Take an incremental approach to avoid unnecessary risks
+ Sell the idea to the whole organization
80
Business benefits of software process improvement (6):
Summary407-408:
+ Benefits are evident
+ Both qualitative and quantitative
+ People are the most important:
- culture, leadership, HR
- non-technical factors impact most on performance.
81
A framework for SPI
• A framework for SPI
• Software process infrastructure
• Process improvement roadmaps
• Fundamentals of software process assessment
• SPI action plan
84
Making SPI happen
• Launching SPI
• Implementing and institutionalizing SPI
• Measuring the benefits of SPI
86
Current models and standards for software process improvement
• The Capability Maturity Model (CMM)
• CMM-based assessment
• ISO/IEC 15504
• BOOTSTRAP
• Others
88
Future of SPI
• Role of international standards
• Process discipline for SW industrialization
• Next
• Acknowledgement