Implementing an Organizational Software Process Improvement Program By: Beth Layman

Post on 08-Feb-2016

52 views 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 of 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

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”

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

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

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

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

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

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.”

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.”

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.”

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.”

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.

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

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

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’.”

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

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

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”

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

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”

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”

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

Questions?Questions?

• Any questions?

• Thanks for your time!