1 / 89

Software Process Improvement

Software Process Improvement. Introduction. Instructors Course Where are we? What would we learn from this course?. Instructors(1): Teaching team: Jie Yang and James Chen My contact information + Phone: 020-33105143 + Email: jychen2001@hotmail.com. Instructors(2):

isabelm
Download Presentation

Software Process Improvement

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Software Process Improvement

  2. Introduction • Instructors • Course • Where are we? • What would we learn from this course?

  3. Instructors(1): Teaching team: Jie Yang and James Chen My contact information + Phone: 020-33105143 + Email: jychen2001@hotmail.com

  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 Communications AT&T Lucent Johnson&Johnson Panasonic Involved in various testing, customer support, ISO/CMM related Activities.

  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? Planning Coding Testing Maintain/support

  9. Where are we? (Are we on the same boat)(2)? As a software developer or a tester, what do we need to possess in order to be a person with a good discipline? Plan what to be done Do what have been planned Track what have been done Summarize/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?

  11. Everyone will be a CEO of his own process.

  12. Process thinking • Process thinking • Process discipline • Effective process environment • Process maturity • Business benefits of software process improvement (SPI)

  13. Process thinking(1): There is a process everywhere.

  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’

  22. Process thinking(10): In US, bosses pay more attention on process itself.

  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

  25. Process thinking(13): no process focus => ‘fire fighting’

  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 discipline 2) organization: roles, responsibilities 3) management: procedures, measurements 4) skills & training 5) 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: • 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

More Related