IISP International Institute for Software ProcessCertified Software Process Improvement Professional Certification (CSPIP) Company


Certified Software Process Improvement Professional Certification (CSPIP) Body of Knowledge Information

Certified Software Process Improvement Professional Certification (CSPIP) Purpose and Intent

The purpose of the SPIBOK is to define knowledge areas that must be mastered by any Software Process Improvement (SPI) Professional in order to be effective in identifying, documenting and improving software processes. The SPIBOK consists of Core Knowledge Areas (CKAs) and Application Knowledge Areas (AKAs). All SPI Professionals need to be familiar with and understand key aspects of all CKAs. AKAs represent specific aspects of the software process improvement effort, which an SPI professional needs to know more about , based on his/her experience and the types of organizations and projects with which he/she works.

The intent is for the SPIBOK to be used in two ways:

  1. As a guide for organizations and individuals to identify and assess the knowledge and skills needed by SPI professionals to perform effectively.
  2. As the basis for the formal education requirements for the education-based certification program International Software Process Improvement Certification (ISPIC™).

Certified Software Process Improvement Professional Certification (CSPIP) Core Knowledge Areas (CKAs)

An effective SPI professional needs to demonstrate familiarity with and understanding of key aspects of the following CKAs.

  1. Defining and Documenting Software Processes
    • Concepts and definition of “Process” and “Software Process”
    • Relation of process to predictability, improvement, and control over one's results
    • Issues involved with software process definition and improvement
    • Generic methods for identifying and documenting procedural aspects of software processes
    • Characteristics, strengths, and weaknesses of prominent formal methods for identifying and documenting procedural aspects of software processes (e.g., ETVX, IDEF-0)
    • Issues and methods for identifying and documenting non-procedural aspects of processes
  2. Measuring Software Processes
    • General concepts and issues of software measurements
    • Core project, product, and process measures
    • Measuring people-oriented aspects of software processes
    • Methods and issues involved in collecting, organizing, and accessing measurements
    • Identifying an appropriate set of metrics to support organization and project needs (e.g., GQM, PSM)
    • Analyzing measurements to identify process improvement opportunities (e.g., Trend analysis, Defect Causal analysis)
  3. Evaluating Software Process Capability and Effectiveness
    • Process capability measurement concepts and techniques
    • Directly evaluating software processes and effectiveness
    • Characteristics, strengths, and weaknesses of prominent formalized indirect methods, such as model-fitting, for evaluating software processes, including SCAMPI & CMMI Ò , ISO 9000 & TickIT, Six Sigma
    • Auditing and sampling process performance to determine compliance of activities with documented procedures
  4. Planning and Managing an SPI Program and SPI Projects
    • Roles, responsibilities authority, accountability, and skills for managing the overall SPI Program
    • Methods for establishing and maintaining senior management sponsorship for the SPI Program and SPI projects
    • Justifying and initiating SPI projects
    • Tasks, skills, and techniques for planning, organizing, directing, and controlling a software process improvement project (including Risk identification and assessment)
    • Evaluating the effectiveness of SPI projects
    • Dealing with cultural, organization and people issues concerning an SPI Program and SPI projects (including identifying opinion leaders, key people in the SPI process, building consensus, dealing with subtle or overt resistance to change, ...)
  5. Implementing Software Process Change
    • Organizational change management
    • Pilot testing and rolling out process changes in organizations
    • Training people to adopt new processes
    • Communicating and gaining support for changes involved with the software process improvement process as well as for specific software process improvements and their associated improvement projects
    • Institutionalizing continuous software process improvement attitudes and behaviors in the organization
    • Evaluating effectiveness of software process change
    • Dealing with cultural, Organization and People issues concerning software process change.
  6. Survey of Software Engineering Topics
    • Software Requirements Definition and Management
    • Software Development, Integration, Release, and Support
    • Software Configuration Management
    • Software Project Management and Planning
    • Software Risk Management
  7. Survey of Quality Assurance and Testing Topics
    • Software Quality Assurance and Testing defined and distinguished
    • Establishing and operating a Software Quality Assurance function
    • Inspections and other forms of static reviews
    • Requirement Reviews
    • Levels and types of testing
    • Dynamic testing techniques
    • Test Process concepts and issues
    • Test management concepts and issues
    • Defect Tracking and Reporting

Certified Software Process Improvement Professional Certification (CSPIP) Application Knowledge Areas (AKAs)

The following AKAs represent examples of additional topics which are components of some software processes and which a SPI professional may need to know about depending on organization and project specifics. This list of AKAs is not intended to be exhaustive and is expected to expand as additional relevant topics are identified.

  1. Requirement Engineering and Management
    • Defining and validating requirements
    • Managing and maintaining requirements
    • Building a requirement management process
  2. Software Development, Integration, Release, and Support
    • Traditional SDLC
    • Agile development
    • Incremental delivery
    • Methods for determining and documenting the architecture and design (high-level and detailed) for software products
    • Methods and activities associated with the release and installation of software systems
    • Activities associated with supporting and maintaining software products
    • Activities involved in choosing, contracting with, and assuring the performance of software suppliers (both those who provide commercial off-the-shelf (COTS) products, and those that do custom development
  3. Configuration Management
    • Principles and activities of the discipline of Software Configuration Management
    • Identifying configuration items
    • Establishing baselines
    • Controlling change
    • Establishing and maintaining repositories
    • Assuring the integrity of software work products.
  4. Project Management and Planning
    • All activities associated with planning projects including size, effort and cost estimation, schedule development, resource planning, knowledge and skills planning, etc.
    • All activities associated with managing projects including comparing actual measures to estimates, determining project status, managing risks, reporting status, taking corrective action, tracking action items
  5. Risk Management
    • Risk analysis methodologies
    • Risk Identification and classification
    • Risk prioritization and ranking
    • Calculating costs and probability
    • Risk reporting
    • Monitoring and controlling risks
    • Contingency planning and mitigation
  6. Verification and Validation Methods
    • Unit, integration, system, and user acceptance level testing including planning and design activities of each
    • Inspections and other forms of peer reviews
    • Code analysis
    • Independent V&V
  7. Agile Software Development Methods
    • The values, principles and philosophies that underpin Agility
    • Contrasting agile philosophy to other iterative and incremental lifecycles
    • Contrasting agile with the waterfall model
    • Agile methods and method tailoring
    • Agile methods and project management
    • Suitability of agile methods
    • Progressive requirements elaboration
    • Iterative planning and adaptation
    • Incremental product delivery
    • Coaching self-directed teams
    • Agile project monitoring
    • Welcoming project change
    • Interpreting Agile practices relative to reference models (e.g. CMMI or PMBOK)
    • Criticism
  8. Software Quality Assurance
    • All activities related to establishing an SQA group
    • Stakeholder identification
    • Developing SQA plan
    • Establish Budget
    • Establish Personnel
    • Establish mission/objectives
    • Selling SQA to management
    • Demonstrating ROI for SQA efforts
    • Baselining current software quality levels and Cost of Quality
    • Defining standards, procedures, methodologies, best practices and guidelines
    • Instituting metrics and measurements
    • Deploying processes
    • Evaluating methodologies and automated tools
    • Implementing Defect Studies
  9. Balanced Scorecard
    • Basic concepts of the balanced scorecard and how it can be used to improve organization performance
    • How the balanced scorecard applies to different types of organizations
    • How to develop organizational , strategy maps, and initiatives for improving organization strategy and processes
    • How to develop more meaningful performance measures
    • The correct sequence of steps that are necessary to build a strategy-focused organization
    • How a scorecard system can drive a performance-based budget and employee accountability.
    • The Learning & Growth Perspective
    • The Business Process Perspective
    • The Customer Perspective
    • The Financial Perspective
    • Measurement-Based Management
    • Double-Loop Feedback
    • Outcome Metrics
    • Management by Fact
  10. Software Measurement & Analysis
    • Developing a metrics framework
    • Choosing the best metrics for your situation
    • Goal/question /metric paradigm
    • Goal Selecting appropriate measures
    • Organizational measures/goals
    • Development organization measures/goals
    • Quality organization measures/goals
    • Implementing measurement programs
    • Comparing your performance to industry standards
    • Automating metrics collection, analysis and reporting
    • Integrating measurement and analysis into planning and management reporting
    • Measurements Objectives
    • Measurement Specifications
    • Data Collection and Storage
    • Measurement Analysis
    • Measurement Communication
©2009 International Institute for Software Process