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

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

Thursday, October 23, 2008

  CSPIP Required Course   AKA Course

H1 Planning and Managing SPI Programs and SPI Projects
(CKA #4)
Neil Potter
H2 A Survey of Software Engineering Topics
(CKA #6)
Dr. Timothy Korson
H3 Evaluating Software Process Capability and Effectiveness
(CKA #3)
Robin Goldsmith
H4 Building the SQA Function Step by Step
(AKA #8)
Dr. Rebecca Staton-Reinstein
H5 Risk Based Analysis Methodologies for Software Development and Test Projects
(AKA #5)
Marnie Hutcheson
H6 New Direction for the Inspection (Peer Review) Process
(AKA #11)
Lew Priven & Roger Stewart

H1: Planning and Managing SPI Programs and SPI Projects 
Neil Potter

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

Introduction:

In this tutorial you will learn how to develop an improvement action plan based on the business goals and problems of your organization. This approach addresses the frustration that many people experience when improvement programs do not relate to the project work being done. You will learn about:

  • Setting compelling goals for your improvement program
  • Directing all improvement towards achieving business goals and solving the organization's problems
  • Developing an action plan based on the defined goals and problems
  • Using an improvement model or standard to address the goals and problems
  • Planning for process deployment
  • Deriving metrics for the goals
  • Identifying potential future problems (risks) with the action plan and mitigating the highest priority risks

Outline:

  • Assigning ownership to the process improvement plan, role of the SEPG and QA function
  • Setting compelling goals for your improvement program
  • Directing all improvement towards achieving business goals and solving the organization's problems
  • Developing an action plan based on the defined goals and problems
  • Using an improvement model or standard to address the goals and problems
  • Identifying potential future problems (risks) with the action plan and mitigating the highest priority risks
  • Planning for process deployment using the adoption curve
  • 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

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

H2: A Survey of Software Engineering Topics 
Dr. Timothy Korson

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

Introduction:

Any effective software process improvement effort must consider every aspect of the software engineering process, yet most software professionals only have knowledge and experience in specific aspects of software development. To assist software professionals in understanding the scope of topics relevant to software development, the IEEE Computer Society has sponsored the development of the Software Engineering Body of Knowledge. If you are charged with software process improvement, but your knowledge and experience does not cover the scope of topics covered in the IEEE Software Engineering Body of Knowledge, then you need to take this tutorial.

Outline:

  • INTRODUCTION
    • What are all the pieces and how do they fit together?
  • SOFTWARE REQUIREMENTS
    • Business objectives vs requirements
    • How can we improve the requirements definition and gathering process?
  • SOFTWARE DESIGN
    • Many types of Architectures
    • Detail design
    • Up front vs continuous design
    • UI design
  • SOFTWARE CONSTRUCTION
    • Component construction
    • Coding
    • Test First Development
  • SOFTWARE TESTING
    • Types of testing
    • Levels of testing
    • Testing processes
  • SOFTWARE MAINTENANCE
    • Nature of Maintenance
    • Need for Maintenance
    • Evolution of Software
    • Categories of Maintenance
    • Impact analysis
    • Refactoring
    • Change management
  • SOFTWARE CONFIGURATION MANAGEMENT
    • Tool selection and implementation
    • Software Configuration Identification
    • Software Configuration Control
    • Software Configuration Auditing
    • Software Release Management and Delivery
  • SOFTWARE ENGINEERING MANAGEMENT
    • Initiation and Scope Definition
    • Software Project Planning
    • Software Project Enactment
    • Review and Evaluation
    • Software Engineering Measurement
  • SOFTWARE ENGINEERING PROCESS
    • Process Infrastructure
    • Models For Process Implementation And Change
    • Process and Product Measurement
  • SOFTWARE ENGINEERING TOOLS
    • Requirements Tools
    • Design Tools
    • Construction Tools
    • Testing Tools
    • Maintenance Tools
    • Software Configuration Management Tools
    • Software Engineering Management Tools
    • Software Engineering Process Tools
    • Software Quality Tools
  • SOFTWARE QUALITY
    • Value and Costs of Quality
    • Models and Quality Characteristics
    • Software Quality Assurance
    • Verification & Validation
    • Reviews and Audits
    • Defect Characterization
    • Software Quality Measurement
  • RELATED DISCIPLINES OF SOFTWARE ENGINEERING

Participants will learn:

  • the scope of the software engineering discipline
  • how to be able to assess the impact of a given process improvement initiative on the entire range of software engineering activities
  • how to understand the concerns and perspective of each of the different software engineering professionals
  • how to take into account modern software engineering tools, concepts, and processes when formulating a process improvement initiative

Biography:

Timothy Korson has had over 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

H3: Evaluating Software Process Capability and Effectiveness 
Robin Goldsmith

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

Introduction:

Your process is the way you do things that produces your results. A process's capability determines how well it will and will not be able to produce. To maintain and improve results, it is essential to measure and evaluate the capability and effectiveness of both the overall process and its individual procedural and non-procedural elements. Direct process measures are the most important for evaluating and guiding improvements to a specific process, but they take understanding and skill which many organizations lack. Instead, many organizations find it easier to evaluate their processes indirectly by comparing them to generalized “canned” capability maturity models, frequently without being aware of the shortcomings of such evaluations. This interactive workshop describes strengths and weaknesses of both direct and indirect process evaluation approaches, including the informal indirect approach which is most common. Exercises enhance learning by allowing participants to practice applying practical techniques to realistic examples.

Outline:

  • MEASURING PROCESS CAPABILITY
    • What a process is, and is not, why it matters
    • Relation between process and predictability
    • Why most process improvements fail
    • Process capability in statistical control
    • Common cause variation
    • Special cause (assignable) variation
    • Statistical process control, control charts
    • Effectiveness vs. procedural compliance
    • Improvement by reducing variation
    • Improving absolute levels of performance
    • Distinguishing REAL from Presumed Process
    • Silos, measuring a process to full end result
    • Non-procedural process components
  • DIRECTLY EVALUATING THE PROCESS
    • Why direct evaluation is so hard with software
    • Relation of project and process measures
    • Measuring results vs. guiding improvement
    • Determining software process effectiveness
    • Project management vs. effectiveness
    • Calculating efficiency/productivity
    • Determining value
    • Sizing development, testing efforts, duration
    • Measuring development output
    • Lines of code, function points
    • Agile development output measures
    • Requirements, design coverage, traceability
    • Structural (white box) test coverage
    • Profiling development, test methods
    • Evaluating non-procedural effects on process
    • Defect density, analysis, trends, cycles
    • Development, test effectiveness indicators
    • Customer satisfaction
    • Operations and performance measures
    • Reliability, durability, usability
    • Defect age, source including testing errors
    • Defect detection percentage, phase escapes
    • Total costs of development, defects, operations
  • INDIRECT PROCESS EVALUATION
    • Benchmarks, surveys, assessments adequacy
    • ISO 9000, 9001-3, and TickIT compliance
    • Six Sigma for software, Black and Green Belts
    • Capability maturity model fitting
    • Process improvement vs. process imposition
    • Implied effectiveness, overlooks non-procedural
    • CMMI ® levels and continuous models
    • SCAMPI CMMI ® appraisals formality levels
    • Ongoing auditing and sampling compliance
    • Test maturity, CMM-based vs. TPI models
    • Informal indirect method that is most common
    • Agile development process evaluation
    • Evaluating fads du jour

Participants will learn:

  • Process capability and effectiveness measurement concepts and techniques.
  • Directly evaluating software process effectiveness and identifying specifics to guide improvement.
  • Characteristics, strengths, and weaknesses of prominent formalized indirect evaluation methods..
  • Ways to audit and sample compliance of activities with documented procedures and models.
  • The informal indirect software process improvement technique that is most commonly used.

Biography:

Robin Goldsmith is internationally recognized as an authority on business engineering and software acquisition/development quality, testing, and productivity. He is a frequent speaker at leading conferences and formerly International Vice President of the Association for Systems Management. Robin is the author of the book:"Discovering REAL Business Requirements for Software Project Success".



Robin Goldsmith

H4: Building the SQA Function Step by Step 
Dr. Rebecca Staton-Reinstein

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

Introduction:

In today's competitive environment, high quality software that can serve both the operational and strategic needs of the organization is a necessity. Information Technology departments are under extreme pressure to create, maintain, purchase and outsource software that can help distinguish the company in the market place. IT departments are more business and customer oriented than ever before but many traditional quality techniques have been abandoned without replacing them, resulting in poor software quality, over-extended budgets and disappointed customers. Learn the basic processes, methods and techniques that assure quality systems. Learn the quality techniques that set industry leaders apart and create world class IT departments. Learn to apply internationally recognized standards, techniques, processes and procedures that get the improved results you need to improve your output and demonstrate your value to the organization.

Outline:

  • Introduction
    • What is Quality and why does the definition matter?
    • What is the context for Quality Assurance, Quality Control and Quality Improvement?
  • Managing by Process
    • What is Process Management and how does it help assure quality?
    • How can you use Process Management to improve results?
  • What are the basics of Quality Assurance, Control and Improvement?
    • How can Models help?
    • How do you implement best practices?
  • International Standards
    • Using Six Sigma, ISO 9000:2000, Cost Of Quality, Taguchi Model
    • Using SEI CMM ® , CMMI © , Testing Maturity Model SM ,SPICE, TickIT
  • Using the “Bookend” Approach”
    • How to develop a robust Requirements process and use Life Cycles effectively
    • Establishing Change and Configuration Control
  • Best Practices and implementation
    • Quality Assurance
    • Quality Control
    • Quality Improvement
  • Demonstrating SQA value to management
    • Using the Cost of Quality model as a driver
    • Measuring and tracking key indicators
    • Defect studies and process/results improvement
    • Calculating and present ROI information

Participants will learn:

  • Implementing quality techniques, processes and methods to continuously improve software quality for your customers
  • How to apply the international standards and quality principles
  • How to demonstrate Return on Investment and leverage your value to IT

Biography:

Rebecca Staton-Reinstein, Ph.D., CSQA, is president of Advantage Leadership. Her company works with IT departments to assess current software and process quality and create robust strategic plans to get bottom line results, align with the larger organization, improve software quality at reduced costs and improved customer satisfaction. Rebecca's solutions are based on over 27 years of experience as an IT and quality manager, corporate officer, consultant and business owner. She established three QA departments and has taught her approach to thousands of quality professionals, internal customers and IT personnel around the world. She has begun to encapsulate her proven quality practices in a series of e-Books including Get Great Requirements and The Hard Job of Making Software Work: Build the QA Function . Her books on planning include Success Planning: A ‘How-To' Guide for Strategic Planning and Conventional Wisdom: How Today's Leaders Plan, Perform and Progress Like the Founding Fathers.



Dr. Rebecca
Staton-Reinstein

H5: Risk-Based Analysis Methodologies for Software Development and Test Projects 
Marnie Hutcheson

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

Introduction:

This seminar presents “Best Practice” risk-based methodology for planning, sizing, managing and successfully executing the test effort that is both defensible and reproducible. The methods presented in this tutorial have been used to test a rich variety of Internet/Intranet applications and traditional client server applications including; e-commerce, telecommunications, ERP and other business applications, embedded firmware, and game software. These methods can be applied to traditional test efforts and more importantly, they are useful in keeping up with and adding measurable value to Agile and eXtreme efforts. The seminar is filled with real world examples of how testers successfully managed their test efforts and demonstrated the value of testing.

Outline:

  • Risk analysis methodologies
  • Risk Identification and classification
  • Risk prioritization and ranking
  • Calculating costs and probability using risk based techniques
  • Risk reporting
  • Monitoring and controlling risks
  • Contingency planning and mitigation

Participants will learn:

  • How to establish their own risk criteria, apply them to the test inventory and determine the risk associated with each test
  • How to use the test inventory and risk analysis in test planning
  • How to use worksheets to estimate the resources and time required to conduct a given test effort, and aid in negotiating for those resources
  • How to estimate the cost of running the most important tests, and how much this testing can save by finding bugs before the product is shipped
  • How to use risk-based selection techniques for test design
  • How to report testing progress, status, and identify problem areas
  • How to use the results of testing to improve subsequent efforts
  • How to add value to the product and demonstrate that value to management

Biography:

Marnie Hutcheson is a columnist for MSDN Magazine and TechNET Magazine. She also creates technical courseware for Microsoft Corporation and travels around the world training the trainers who teach these technologies to the world. She is an internationally published author and speaker in the areas of software development, testing and quality assurance, and systems administration.

She began her career in engineering at Prodigy Services Company in 1987 as the Lead Systems Integrator for Shopping, and later Banking and Financial Services. Over the years, she has become a leader in the development of the Web and has helped corporations like GTE and Microsoft develop and launch several major Internet technologies.



Marnie Hutcheson

H6: New Direction for the Inspection (Peer Review) Process 
Lew Priven & Roger Stewart

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

Introduction:

The objective of the tutorial is to expose the participants to new ways of adapting the traditional inspection process to today's development environment by:

  • Addressing the MYTHS that inhibit organizations from adopting the inspection process
  • Demonstrating the ease and importance of inspecting requirements and design documents
  • Identifying what data needs to be collected, analyzed, and used to be useful for management (ROI) and inspectors
  • Introducing computerized tools to support collecting, tracking and analyzing inspection data
  • Reviewing how to deal with issues related to distributed development, different development processes, different type of products, etc.
  • Focusing on the role of management and their responsibilities for the success of the inspection process
  • Discussing how to get started with inspections

Outline:

  • What is the basis for the inspection process?
    • Discussion of finding and fixing defects closest to the point of injection and cost of finding and fixing them later in the development cycle
  • Inspection process
    • What is the inspection process
      • Why do inspections
        • Objective of inspections
      • How are inspections executed
        • 7 steps
        • Entry and exit criteria
      • Who participates in inspections
        • Inspectors roles and responsibilities
        • Management roles and responsibilities
    • When are inspections used
      • Transition points
    • Where are inspections used
      • Use V-form development cycle to show where inspections can be used
    • Prioritizing what to inspect
    • Schedule
  • Example of finding defects in a document
    • A class exercise in finding defects in a requirements document
      • What to look for
      • Examine a requirements document
      • Discuss findings
  • What needs to be in place for inspections start and be successful
    • Infrastructure
    • Management on-board and responsible
    • Pre-inspection planning (go no-go)
    • Time in development schedule
    • Trained staff
  • Importance of collecting inspection data
    • Why is it important to collect inspection data
    • What data should be collected during inspection
      • What do developers need to collect/know
        • examples
      • What data does management need to adequately track and monitor
        • examples
  • Analyzing the data
    • Inspectors
      • Improving their development capability
      • examples
    • Management
      • Savings and ROI
        • examples
  • Inspection process situations
    • Inspecting fixes
    • Inspecting legacy material
    • Use of mechanical checkers
    • Size of material
    • Remote meetings
    • Use of laptops
    • Checklists
    • Planning multiple inspections
    • Inspection code of conduct
    • Different product types
    • Different development cycle models
  • Management responsibilities
    • Rapid team training
    • Allocating time in schedules
    • Monitoring and sharing results of inspections
    • Appoint inspection champion with authority
    • Make sure refreshers are scheduled and attended
    • Make sure inspection process is documented and updated
  • Stamp out the MYTHS
    • Too much time to do
    • Need additional resources
    • Will extend schedule
  • Getting started
  • Summary

Participants will learn:

  • Expose the participants to new ways of adapting the traditional inspection process to today's development environment
  • Prepare participants to be able to be advocates for the inspection process in their
  • Learn the what data needs to be collected, tracked, and analyzed, to be useful for management (ROI) and inspectors
  • Understand the need for computerized tools to support collecting, tracking and analyzing inspection data
  • Learn new techniques for dealing with inspection issues related to distributed development, different development processes, different type of products, etc.
  • Understand the role of management and their responsibilities for the success of the inspection process
  • Learn how to get started with inspections

Biography:

Lew Priven is an experienced executive with an extensive management and technical background – including system and software development, software quality training, management development training, human resource management, and executive management.

Prior to co-founding the Stewart-Priven Group, LLC, Priven was an Associate with Michael Fagan Associates, where he trained over 2,000 students at 24 company locations in the Fagan Inspection Process. Before joining Michael Fagan Associates, Priven was Chief Operating Officer of Wellspring Resources, LLC. Among his responsibilities at Wellspring, he managed the rapid growth of the Washington , DC application development center. To help manage the growth, he introduced and made extensive use of inspections to insure the quality and timely delivery of software supporting the delivery of outsourced benefits administration services. Priven was Vice-President of Engineering and Application Development at General Electric Information Services (GEIS). While at GEIS he introduced inspections for verifying the accuracy and usability of procedures for the introduction of software and network upgrades.

Priven held a number of positions at IBM including: Vice President of Application Development for IBM's Application Systems Division, Director of Operations and Development for the IBM Information Network, and Vice President of Information Technology and Human Resources for Satellite Business Systems. He also served as a Director on the Corporate Technology Staff.

During the 1970s, Priven formed and managed the team, led by Michael Fagan, to improve the quality of operating system software which resulted in the development of the inspection process. In addition to his work on inspections, Priven received an IBM Outstanding Contribution Award for developing the Continuous Integration process.

Priven has a BS in Electrical Engineering from Tufts University and an MS in Management from Rensselaer Polytechnic Institute.


Lew Priven

Roger Stewart is an experienced Lead Systems Engineer and Program Manager with an extensive management and technical background – including Systems Engineering, Software Development, System Integration, System Testing, and Process Improvement.

Prior to co-founding the Stewart-Priven Group LLC, Stewart was an Associate with Michael Fagan Associates, where he trained over 3,000 students at 30 company locations in the Fagan Inspection Process. Before joining Michael Fagan, the founder of software inspections, Stewart worked for IBM Federal Systems, and later Lockheed-Martin Federal Systems, developing large complex software systems for the Space Shuttle, Satellite Command and Control, Air Traffic Control, and military avionics systems. He also worked in the commercial sector developing Banking and Telecommunications networking and operating system software.

Stewart's first use of formal inspections occurred while managing the On-Board Space Shuttle Guidance, Navigation and Computer Redundancy Management software. For the rest of his career, inspections formed an integral part of projects he managed and worked on. Stewart was the architect and lead author for advancing the Software Development Life Cycle for the Telecommunications Systems Development Process, which included introducing and defining their inspection process. This work was recognized with an IBM Communications Division level award. While on a 3-year assignment in Sydney Australia to manage the development of a new generation of banking applications and services, Stewart was the Program Manager for defining and implementing the Software Development life cycle - including the introduction and definition of inspections. While the Test Architect for Air Route Traffic Control System Upgrade programs, Stewart defined the end-to-end test and acceptance life cycle and the inspection process used.

Stewart has a BS in Mathematics from Cortland University.


Roger Stewart