All tutorials will count towards the International Software Process Improvement Certification (ISPIC)

All tutorials are from 8:30 - 4:30 PM

Friday, October 23, 2008

  CSPIP Required Course   AKA Course

F1 Implementing Software Process Change
(CKA #5)
Neil Potter
F2 Applying Agile and Software Development Techniques to Process Development
(CKA #1)
Nelson Perez
F3 Measuring Software Processes
(CKA #2)
Alfred Sorkowitz
F4 Mastering the Software Product Lifecycle: Development to Support
(AKA #2)
Dr. Timothy Korson
F5 Development and Configuration Management of Requirements
(AKA #1)
Al Florence
F6 Hands-On Workshop on Measurements
(AKA #10)
Marty Safirstein & Cheryl Saar

F1: Implementing Software Process Change 
Neil Potter

This tutorial covers CKA area #5 of the International Software Process Improvement Certification (ISPIC) requirements.

Introduction:

In this tutorial we describe techniques for implementing an improvement plan and deploying new practices across the organization. These techniques address the problems of resistance, unwieldy solutions, and slow deployment. You will learn about:

  • Applying selling strategies to deploy new practices
  • Increasing the speed of deployment by working with the willing and the needy first
  • Reducing the risk of failure by building and deploying solutions in increments
  • Delaying policy document creation and edicts until each solution has been practiced and is well tested
  • Using existing resources to increase the speed of deployment

Outline:

  • Applying selling strategies to deploy new practices
  • Increasing the speed of deployment by working with the willing and the needy first
  • Reducing the risk of failure by building and deploying solutions in increments
  • Using the adoption curve to communicate the gains of early adopters to skeptic and laggards
  • A 10 piece tool box for change
  • Using existing resources to increase the speed of deployment (training, mentoring, train-the-trainer for process deployment)
  • Aligning management and practitioner behavior
  • Keep focused on goals and problems
  • Documentation diet – not going overboard on process documents
  • Using audits to maintain the gains
  • Overview of process improvement measurements
  • Using audits to maintain the gains
  • Overview of process improvement measurements
    • Deriving metrics for the goals
    • Measuring process improvement plan progress
    • Measuring process framework adoption
    • Using metrics to track progress based on defined goals
    • Determining corrective actions needed to get the improvement program back on track
    • Clarifying lessons learned and actions needed to make future executions of the improvement cycle more effective
  • Mini-Assessment process

Biography:

Neil Potter is co-founder of The Process Group, a software process improvement consultancy. He has 23 years of experience in software and process engineering. Neil is an SEI authorized lead appraiser for SCAMPI appraisals, certified high-maturity appraiser, Intro to CMMI instructor and Six Sigma Greenbelt. He has a B. Sc. in Computer Science from the University of Essex (UK) and is the co-author of Making Process Improvement Work - A Concise Action Guide for Software Managers and Practitioners , Addison-Wesley.
 
The Process Group consults to software, IT, systems and hardware organizations.



Neil Potter

F2: Applying Agile and Software Development Techniques to Process Development 
Nelson Perez

This tutorial covers CKA area #1 of the International Software Process Improvement Certification (ISPIC) requirements.

Introduction:

This tutorial presents techniques borrowed from the Agile and software development world to both design processes and to reduce the overall time to achieve institutionalization of new processes. The topics to be covered are:

  • overview of agile techniques
  • applying Agile methods to process improvement
  • strategies to facilitate the change process
  • applying software development techniques to process development
  • process tailoring
  • process development planning
  • effective process rollout management strategies
  • lessons learned from a real-world example

Outline:

  • Learning Objectives
  • Learning Mechanism
  • Unit #1: What is Agile?
    • What is Agile Development
    • What are its strengths?
    • What are its challenges?
    • How do we manage it?
    • Can it be used by other disciplines?
  • Unit #2: Applying Agile to Process Development
    • (Agile Development) defined
    • Agile (Process Development) defined
    • It's a balancing act: The Ying-Yang of Left & Right
    • Use a defined process as a guide
    • Make small but continuous changes
    • Create an effective strategy
    • Fix people's biggest problems first
    • Fill best practice gaps
    • Deliver outputs first, processes later
    • Pilot solid ideas not final solutions
    • Enlist the help of champions
    • Work as a team to create synergy
    • Coach and mentor to stay on track
    • Let it take on a life of its own
    • Inject more details and iterate until complete
  • Unit #3: Process Development in 7 Easy Steps
    • But first a word about “the” method
    • Step 1: develop a context diagram
    • Exercise #1
    • Step 2: Identify information and work products exchanged, deliverables, communications, and data
    • Exercise #2
    • Step 3: Identify and Describe Major Processes
    • Exercise #3
    • Step 4: Analyze process data flows and relationships
    • Exercise #4
    • Exercise #5
    • Step 5: Draft high level processes (aka process “cheat” sheets) and QA checklists
    • Exercise #6
    • Step 6: Create output product templates, forms, tools
    • Step 7: Develop detailed processes
    • Process Descriptions: Typical Components
    • Process Descriptions: Crafting Policy (the difference between policy and process)
    • Process Descriptions: Process Overview
    • Process Descriptions: Entry and Exit Criteria
    • Process Descriptions: Measurements
  • Unit #4: Let’s Get Agile!
    • Planning Agile Process Development
    • Exercise #7
  • Unit #5: Process Tailoring
    • Metrics-Based Process Tailoring
    • Class Exercise #8
  • Unit #6: Process Rollout
    • Process Rollout Management
    • Case I: 3 Projects, Same Start Date
    • Case II: 3 Project, 1 Project With Later Start Date
  • Unit #7: Real-World Example and Lessons Learned
    • Real-World Example
    • Lessons Learned
  • Summary
  • Q&A

Learning Objectives:

  • Gain a high-level understanding of agile software development techniques
  • Explore how agile techniques might apply to process development
  • Get hands-on experience with a defined process development methodology
  • Learn how to develop processes using this methodology while doing it in an agile way
  • Gain an understanding on how to deploy, refine and monitor processes within the organization
  • Gain additional insight from real-world lessons learned

Biography:

Nelson Perez is president of Sierra's Edge, Inc. (an SEI Partner). With over 25 years of work experience, he has worked the entire life cycle and held numerous management and engineering positions on such high visibility programs as the B2 Stealth Bomber; NASA Space Shuttle; and National Missile Defense. Perez received his initial process training at TRW's Defense Systems Group while Dr. Barry Boehm was its Chief Scientist. He started working with the S/W CMM in 1996 as the process architect (as well as project manager and avionics simulation lead) on the US Air Force/TRW Special Operations Forces Extendable Integration Support Environment (SOF EISE) program. He turned around the program using agile techniques while employing the philosophies of W. Edward Deming, in particular those from his book “The New Economics”. Perez reduced the lifecycle from 36 to 17 months, reduced defects uncovered during system testing from 5000 to 2, performed several CMM level 5 causal analysis and improvement cycles, and forged a strong multi-contractor integrated product team. SOF EISE went on to win the 21 st Century Partnership Team Quality Award in 1998 and was voted 1 of the top 5 government programs in 2001 by a panel of experts that included Watts Humphrey and Capers Jones. In addition to modeling and simulation, he has worked a variety of other domains including security systems, information systems, computer integrated manufacturing, wireless communication, commercial software development, aircraft systems, and non-destructive testing. He has co-authored 1 NASA-related patent, has authored several papers and is an active presenter at conferences, software process improvement network (SPIN) meetings and other venues. His research interests include process efficiency, effectiveness, compliance, and institutionalization as well as statistical analysis and electronic discovery. Perez consults with companies in management, technology innovation and process and business improvement including ISO 9001:2000, CMMI, and ITIL v3.



Nelson Perez

F3: Measuring Software Processes 
Alfred Sorkowitz

This tutorial covers CKA area #2 of the International Software Process Improvement Certification (ISPIC) requirements.

Introduction:

As most Software Process Improvement ( SPI ) professionals know, there's more to developing quality software then writing and testing programs. They understand that the quality of a software product is largely governed by the quality of the Software Life Cycle Process (SLCP) used to develop and maintain it. This process can be defined, measured, and continuously improved.

This tutorial lays out the general concepts, issues, and framework for measuring the software process in order to support an organizations management information needs. This includes measuring the software process in order to find areas for improvement. Measurement is a key enabler for process improvement and enhanced product quality, as well as a mechanism for feedback and control.

This tutorial was designed to provide the Software Process Improvement professional with the measurement and analysis knowledge necessary to perform effectively.

Outline:

  • Motivation for software measurement.
  • How measurement can aid in the software process.
  • Basic elements in the software measurement process.
  • Software measurement principles.
  • Life cycle application.
  • Measurement categories.
  • Types of software measurements.
  • Project, product, and process measurements.
  • Science and measurement.
  • Identifying an appropriate set of metrics.
  • A detailed discussion of a set of ‘best practices' metrics used successfully by industry and government. This will include metrics that can be used in all phases of the Software Life cycle Process.
  • Collection, organization, and analysis of the ‘best practice' metrics.
  • Group participation in a number of case studies in order to gain experience in analyzing a mix of interrelated metrics.
  • An introduction to the Goal-Question-Metric (GQM) framework
  • An exercise in developing specialized tailored metrics, such as ‘customer satisfaction'.
  • A discussion on how to use measurement data to evaluate an organizations software process, find areas for improvement, and set new process goals.

Participants will learn:

  • An introduction to the concepts, elements, and principles of software measurement
  • An overview of ‘best practices' metrics used successfully by industry and government with numerous examples and case studies. For each of the metrics, there will be a discussion of the appropriate collection, organization and analysis of the metric data
  • How to develop tailored, specialized measurements to support your organizations needs. The Goal-Question-Metric (GQM), and Practical Software Measurement PSM) frameworks will be discussed with exercises for developing tailored measurements for such areas as ‘customer satisfaction' and, ‘is the software ready to go operational?
  • How to use measurement data to evaluate your organizations software process, find areas for improvement, and to set new process goals. This example will use real-life data, from a leading international organization's published report.

Biography:

Mr. Al Sorkowitz was a Computer Scientist with the Department of the Navy where he was responsible for developing large, real-time software intensive systems. Prior to joining the Dept of the Navy, he was Director of the Standards and Quality Control Staff, at the Department of Housing and Urban Development. While at HUD, he initiated a successful testing procedure to improve the quality of unit testing that utilizes automated tools and testing metrics. A paper on this effort was published in a special issue of the IEEE Computer Society magazine "Computer" devoted to Software Quality Assurance, and was later reprinted and widely distributed in the Department of Defense Computer Institute "Selected Computer Articles"

The seminars presented by Mr. Sorkowitz are the practical hands-on “lessons learned” by himself and his staff, developing software in-house, as well as the experience working with a large number of software contractors.

Mr. Sorkowitz has published papers and has presented seminars on Software Metrics, SQA, and Testing at conferences sponsored by the IEEE Computer Society, ACM, DPMA, and the British Computer Society.



Alfred Sorkowitz

F4: Mastering the Software Product Lifecycle: Development to Support 
Dr. Timothy Korson

This tutorial covers AKA area #2 of the International Software Process Improvement Certification (ISPIC) requirements.

Introduction:

Too often software process improvement efforts produce un-integrated collections of processes and procedures that each try to optimize some aspect of software development, but as a whole actually reduce software quality. In this tutorial we focus on fine tuning and customizing an entire software development lifecycle on the goal of delivering quality to the stakeholders.

Outline:

  • Goals of Software Development
    • Defining quality
  • Lifecycle models
    • Waterfall
    • Iterative/incremental
    • RUP
      • Inception
      • Elaboration
      • Construction
      • Transition
    • Agile
      • Sprints
  • Incremental delivery
    • Stakeholder resistance and costs
    • Parallel systems
    • Updating methods
  • Support
    • How support effects quality
    • Support Models
    • Support Tools

Participants will learn:

  • how to understand quality from the stakeholders point of view
  • be able to configure the appropriate process, given
    • a specific set of objectives
    • project characteristics
    • corporate characteristics, and
    • team environment
  • Design support activities that will maximize value to the stakeholders

Biography:

Dr. Timothy Korson has had a decade of substantial experience working on a large variety of systems developed using modern software engineering techniques. This experience includes distributed, real time, embedded systems as well as business information systems in an n-tier, client-server environment. Dr. Korson's typical involvement on a project is as a senior management consultant with additional technical responsibilities to ensure high quality, robust test and quality assurance processes and practices. Dr. Korson has authored numerous articles, and co-authored a book on Object Technology Centers. He has given frequent invited lectures at major international conferences and has contributed to the discipline through original research. The lectures and training classes he presents are highly rated by the attendees.


Dr. Timothy
Korson

F5: Development and Configuration Management of Requirements 
Al Florence

This tutorial covers AKA area #1 of the International Software Process Improvement Certification (ISPIC) requirements.

Introduction:

Some of the biggest challenges faced by engineers are those of requirements elicitation, analysis, specification (writing requirements), and management. Engineering teams may have the best of everything: best management, technical staff, resources, budget, schedule, customer, and even Capability Maturity Model Integration (CMMI ® ) Level 5 processes. But, if they do not have a good set of well-defined requirements that are properly managed, understood and agreed to by all stakeholders, they are at grave risk. This tutorial presents effective practices for requirements development and management. This includes the solicitation of user needs, converting them to system level requirements, allocating requirements to design entities, and baselining the physical, functional and performance characteristics of the requirements. The importance of controlling changes to these characteristics with impact assessments conducted by all stakeholders against their interests not limited to cost, schedule, function and interfaces will be stressed. This tutorial addresses the roles and responsibilities of the supplier and acquirer in requirements development, management and configuration control boards (CCBs). Configuration Management (CM) principles and activities associated with requirements will also be covered.

Outline:

  • Motivation— why do we care?
  • Nature of Requirements— what are they?
  • Creating Requirements— how do we define them?
  • Challenges— what are some typical problems?
  • Requirements Management— why manage them?
  • Requirements Measurements and Metrics— why do we need them?
  • Requirements Independent Verification & Validation— what is it?
  • Real Project Examples of Effective Requirements Practices
    • Proper Specification of Requirements
      • Independent Verification of Requirements
    • Independent Validation of Requirements
  • Types of Requirements
  • Configuration Management Concepts
  • Configuration Management in Detail (Requirements Focus)
  • Real Project Example of Requirements
    • Selecting Configuration Items (CIs)
    • Allocation CIs
    • Specifying CI requirements
  • Baselining Requirements
  • Controlling Changes to Baselined Requirements
  • Tailoring Configuration Management
  • Points to Remember
  • References / Suggested Reading
  • Questions / Answers / Discussion

Participants will learn:

This tutorial presents Configuration Management as applied to requirements at the systems level to hardware, software, and facilities. It describes the relationships and responsibilities for CM between the acquirer, supplier, programs, projects and subcontractors. The tutorial focuses on the identification of configuration items (CIs), baselining CIs, controlling changes to CIs, conducting impact assessments on proposed changes, Configuration Control Boards (CCBs), and CM status accounting. It also addresses definition and application of Functional Configuration Audits (FCAs) and Physical Configuration Audits (PCAs) on the configurations of deliverable products. Attendees will gain an understanding of adapting, tailoring and optimally applying CM to requirements at the system level to hardware, software, and facilities. They will gain an understanding of adapting and tailoring Configuration Management principles in a requirements setting.

The tutorial also focuses on satisfying CMMI ® process areas related to requirements. Attendees will have the opportunity to interact with each other and with the presenter. The tutorial is supported with illustrations and lessons learned.

Biography:

Mr. Florence, at major technology firms (currently at The MITRE Corporation), has been involved in all phases of the life cycle in engineering and management on diversified projects: spacecraft; aircraft; missiles, weapon systems; particle accelerators and information systems. He has developed processes for all CMM ® Key Process Areas at all levels through Level 5 and is currently involved with CMMI ® Process Areas. He is a frequent conference presenter and has many technical publications. Mr. Florence holds a BS degree from the University of New Mexico in mathematics and physics and has done graduate work in computer science at the University of California in Los Angles and University of Southern California.



Al Florence

F6: Hands-On Workshop on Measurements 
Marty Safirstein & Cheryl Saar

This tutorial covers AKA area #10 of the International Software Process Improvement Certification (ISPIC) requirements.

Introduction:

This tutorial covers the development of a measurement program using common measures for a typical software development organization. It includes identifying goal-based measures using the GQ(I)M approach, and concepts around collecting, storing, reporting, analyzing, and improving measures. A case study approach with participant exercises is used to facilitate understanding. (SPIBOK: Implementing measurement programs)

Outline:

  • Session Objectives
  • Understanding Goals
  • GQ(I)M Overview (SPIBOK: Goal/question/metric paradigm)
  • Introduce Case Study (SPIBOK: Developing a metrics framework)
  • Perform Case Study
    • Identify the measures using GQ(I)M
      • (SPIBOK: Choosing the best metrics for your situation)
        (SPIBOK: Measurement Objectives)
        (SPIBOK: Organizational measures/goals)
        (SPIBOK: Development organization measures/goals)
        (SPIBOK: Quality organization measures/goals)
        (SPIBOK: Goal selecting appropriate measures)
        (SPIBOK: Measurement Specifications)
    • Collect measures to establish current state baseline
    • Establish improvement goals
    • Measure progress (SPIBOK: Comparing your performance to industry standards)
    • Report results
  • Measurement Concepts
    • Collecting (SPIBOK: Data Collection)
    • Storing (SPIBOK: Data Storage)
    • Reporting (SPIBOK: Measurement Communication)
    • Analyzing (SPIBOK: Measurement Analysis)
    • Improving (SPIBOK: Integrating measurement and analysis into planning and management reporting)
    • Automation (SPIBOK: Automating metrics collection, analysis and reporting)

Participants will learn:

  • Understand GQ(I)M approach in a simulated real-life environment
  • Practice identifying common software development measures
  • Practice designing and presenting measurement indicators / reports
  • Understand measurement concepts around implementing a measurement program

Biography:

Marty Safirstein has over 30 years experience in information systems including 6 years at Allstate. He is currently leading the development and deployment of the Management Review process and the measurement reporting for the entire Process department. He has presented the topic of IT Architecture Governance, and presented several estimation and measurement topics at ICSPI 2006 and ICSPI 2007.


Marty
Safirstein
   

Cheryl Saar is the manager of the Process and Quality Measurements team at Allstate Insurance, where she manages and consults on the implementation and ongoing support of measurement processes throughout the Allstate Technology and Operations organization. Ms. Saar has over twenty-five years IT experience in estimation, metrics, project and people management, software development, testing, education, and technical telephone and onsite support. She has previously presented measurement topics at ICSPI, Software Process Symposium, and IT Financial and Asset Management Summit conferences.


Cheryl
Saar