implementing an organizational software process improvement program by: beth layman

23
Implementing an Implementing an Organizational Software Organizational Software Process Improvement Process Improvement Program Program By: Beth Layman By: Beth Layman EEL6883 – Software Engineering II EEL6883 – Software Engineering II Dr. Turgut – University of Central Dr. Turgut – University of Central Florida Florida Presented By: Adam Radwan Presented By: Adam Radwan 5 April 2007 5 April 2007

Upload: orly

Post on 08-Feb-2016

54 views

Category:

Documents


0 download

DESCRIPTION

Implementing an Organizational Software Process Improvement Program By: Beth Layman. EEL6883 – Software Engineering II Dr. Turgut – University of Central Florida Presented By: Adam Radwan 5 April 2007. What is Process Improvement?. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Implementing an Organizational Software Process Improvement Program By: Beth Layman

Implementing an Organizational Implementing an Organizational Software Process Improvement Software Process Improvement

ProgramProgramBy: Beth LaymanBy: Beth Layman

EEL6883 – Software Engineering IIEEL6883 – Software Engineering IIDr. Turgut – University of Central FloridaDr. Turgut – University of Central Florida

Presented By: Adam RadwanPresented By: Adam Radwan5 April 20075 April 2007

Page 2: Implementing an Organizational Software Process Improvement Program By: Beth Layman

What is Process Improvement?What is Process Improvement?

• Key activities involved to implement a set of processes for software engineering

• Focus of this article is on “meta-process” descriptions– Create, use, and improve on set processes– Referred to as a “program”– Steps outlined here similar to ISO/IEEE

standards, IDEAL model, and “PDCA”

Page 3: Implementing an Organizational Software Process Improvement Program By: Beth Layman

Planning for Process ImprovementPlanning for Process Improvement

• Programs commonly initiated due to quality issues with software development

• Routes must be planned as to how to begin modifying the software process

• These may be modeled by software such as Capability Maturity Model for Software (CMM) from Carnegie-Mellon University

Page 4: Implementing an Organizational Software Process Improvement Program By: Beth Layman

Capability Maturity Model IntegrationCapability Maturity Model Integration

• CMMI came about as the successor to SW-CMM; more comprehensive model

• Various levels in which an organization may decide to implement

• Each subsequent level increases the number of required standards that must be worked into current processes

Page 5: Implementing an Organizational Software Process Improvement Program By: Beth Layman

AssessmentAssessment

• Helps to build a baseline indicator, assess strengths and weaknesses

• Two methods recognized– CMM-Based Appraisal for Internal Process

Improvement (CBA IPI)– Standard CMMI Appraisal Methods for

Process Improvement (SCAMPI)• Assessment director not affiliated with the

organization usually selected

Page 6: Implementing an Organizational Software Process Improvement Program By: Beth Layman

CMM LevelsCMM Levels

• CMM Level 1 – Two options given:– Improvement approach focuses on building

process capability at the project level– Standardized process modeled for all projects

to follow• CMM Level 2

– Evolved model criteria with higher standards that Level 1 organizations can strive to meet

Page 7: Implementing an Organizational Software Process Improvement Program By: Beth Layman

PI InfrastructurePI Infrastructure

• Various roles are allocated for program and established as part of start-up process

• Organizations may opt to use preexisting teams or working groups to cover roles

• Usually three to four levels of infrastructure elements which are recommended for implementation

Page 8: Implementing an Organizational Software Process Improvement Program By: Beth Layman

Executive Leadership Group (ELG)Executive Leadership Group (ELG)

• “Serves as the sponsoring team for the program; responsible for reviewing and approving SPI plans, budgets, and for periodically reviewing SPI progress and results. The ELG may be subsumed into the MSG in smaller organizations.”

Page 9: Implementing an Organizational Software Process Improvement Program By: Beth Layman

Management Steering Group (MSG)Management Steering Group (MSG)

• “Typically made up of a cross-functional set of influential and well-respected middle managers. This group sets the pace and tone for the program and has primary accountability for its success. Regularly presents plan details, progress, and status reports to the ELG.”

Page 10: Implementing an Organizational Software Process Improvement Program By: Beth Layman

Software Engineering Process GroupSoftware Engineering Process Group

• (SEPG) “Typically composed of senior software engineering professionals from across disciplines: analysts, architects, developers, testers, configuration management specialists, and so on. Members often serve on a rotating basis and may be part-time only. May be led by full-time manager who also sits on MSG.”

Page 11: Implementing an Organizational Software Process Improvement Program By: Beth Layman

Process Action Teams (PAT)Process Action Teams (PAT)

• “Formed as needed to undertake some process development or improvement task (e.g., develop and pilot a standard process for conducting code inspections). Often led by a manager of the SEPG and made up of part-time subject matter experts. Teams are dissolved once their task has been completed.”

Page 12: Implementing an Organizational Software Process Improvement Program By: Beth Layman

Defining ProcessesDefining Processes

• A set of processes is chosen that will meet the organization’s unique needs

• Process definition may be the bulk of the work, especially for lower-maturity organizations

• Processes must be relevant, correct, consistent, useful, flexible, extensible, and adaptable.

Page 13: Implementing an Organizational Software Process Improvement Program By: Beth Layman

Process DescriptionProcess Description

• Policy – A statement of the organizational expectations for the process, when and under what conditions the process is to be followed, and why it is needed

• Process – Used to name the “what” level of process description. Outlines what the process accomplishes, activities, roles, deliverables, and portraying component interconnections

Page 14: Implementing an Organizational Software Process Improvement Program By: Beth Layman

Process DescriptionProcess Description

• Procedure – defines “how” each component part of the process is conducted; a step-by-step description is made that identifies specific techniques, methods, and tools to be used.

• Role – a defined set of role titles and descriptions should be used consistently; roles may be responsible for, accountable for, consulted with, or informed of an event

Page 15: Implementing an Organizational Software Process Improvement Program By: Beth Layman

Process DescriptionProcess Description

• Activity – “Work that is performed to carry out a process. This generic term is used to refer to a breakdown into phases, steps, tasks, and so on, and sometimes organized into a hierarchy of work detail into a process description.”

• Work Products – “The tangible items consulted while performing an activity or produces as a result of performing the activity. Synonyms are ‘deliverable’ and ‘artifact’.”

Page 16: Implementing an Organizational Software Process Improvement Program By: Beth Layman

Process AssetsProcess Assets

• Process assets are any helpful items used when executing a process, and include:– Templates– Automated Tools– Guidelines– Standards– Checklists– Examples / Lessons Learned– Training Material

Page 17: Implementing an Organizational Software Process Improvement Program By: Beth Layman

Process-Related MeasuresProcess-Related Measures

• Capture mechanisms within a process to gather measurements is not always automatic

• For example, 80 hours is allotted to complete a task, however it took 100 hours to complete the task

• Figures updated in project management system to update overall status of project

Page 18: Implementing an Organizational Software Process Improvement Program By: Beth Layman

Process Definition ChallengesProcess Definition Challenges

• Sometimes the choice is difficult whether to have one or many process sets

• This may be dependent on requirements such as business units, locations, departments, and clients

• Risk of remaining too long in process definition mode without actually improving

• Developing processes not “fit for use”

Page 19: Implementing an Organizational Software Process Improvement Program By: Beth Layman

Process Implementation / Roll-outProcess Implementation / Roll-out

• Process fidelity, or faithfulness in which the process is followed, ensuring:– Processes are usable– Users understand the processes– Users can access the processes and assets– Users follow the process consistently and

correctly

Page 20: Implementing an Organizational Software Process Improvement Program By: Beth Layman

Walkthroughs and PilotsWalkthroughs and Pilots

• Walkthroughs are a good way to get early feedback from target community of process users

• Piloting goes further than walkthroughs to verify that the processes will work in actual practice.

• Example of television sitcoms– “Seinfeld” and the Pilot, “Jerry”

Page 21: Implementing an Organizational Software Process Improvement Program By: Beth Layman

Roll-outRoll-out

• After successful pilot, all feedback is compiled and modifications are made

• Roll-out procedures usually involve user training of new processes needed

• Distribution of new product takes place internally and is complemented by a “project launch workshop”

Page 22: Implementing an Organizational Software Process Improvement Program By: Beth Layman

Continuous Process ImprovementContinuous Process Improvement

• Process Improvement is an ongoing program, evaluations and adjustments to the program should be performed annually

• Possible sources of input for future work– User feedback– SQA and model-based assessment findings– Measurement data

Page 23: Implementing an Organizational Software Process Improvement Program By: Beth Layman

Questions?Questions?

• Any questions?

• Thanks for your time!