Home Page eLearning Webinars Publications Goodies Products Good Books Links Biography E-mail

Training Seminars

Process Impact has a variety of short seminars and half-, full-, and multi-day training courses available. We can present these at your company and we can tailor them to meet your needs for content and duration. You may also license the courses and have your own instructors present them within your company. Our goal is for each attendee to leave the class with several practical techniques that can be applied immediately, and also with the motivation to learn about and try some new approaches. The seminars listed below are also available in eLearning or on-demand webinar format.

Note: You can purchase individual copies of the student handouts for our full-length courses, enhanced with color slide images and slide notes, for a fraction the cost of taking a class.
Requirements Engineering: Process Improvement:
Project Management: Peer Reviews:

In Search of Excellent Requirements (1 - 3 days)      

Requirements form the foundation for all the software work that follows. Arriving at a shared vision of the product to be developed is one of the greatest challenges facing the software project team, and customer involvement is among the most critical factors in software quality. High quality requirements are essential to avoid the unpleasant surprises sometimes experienced when software is delivered.

This seminar is based on Karl Wiegers's book, Software Requirements, 3rd Edition. Covering the entire requirements engineering process, this course describes dozens of tested methods that can help any organization improve the way it gathers, documents, and analyzes software requirements. Characteristics of excellent requirements specifications are presented and used to evaluate some sample functional requirements. The seminar emphasizes several practical techniques, including:

  • Customer involvement through a "product champion" model
  • The application of use cases for defining user needs and system functions
  • A simple model for prioritizing requirements
  • Writing software requirements specifications using a standard template
  • Constructing dialog maps to model user interfaces, as well as other analysis models
  • Using prototypes to clarify and refine user needs
  • The use of technical reviews and inspections to find requirements errors
  • Using a requirements traceability matrix to connect requirements to design elements, code, and tests

These techniques can reduce project risk by improving the quality of the software requirements, thereby increasing the likelihood of a successfully completed project. Small group discussion sessions let students identify requirements problems they face on their projects, impacts and root causes, and possible solutions to those problems. 

The two- and three-day versions go into more depth on several of these topics, contains additional material on topics such as evaluating the priorities of requested system features and the customer-developer partnership, and they include additional practice sessions on writing requirements, designing a requirements change process, drafting a requirements process improvement action plan, and others.

  • Detailed Description and Outline
  • Related Publications
  • Purchase Course Handout ($40)
  • (back to top) 

    Exploring User Requirements with Use Cases (1 day)   

    Use cases are an effective and widely used technique for eliciting software requirements. The use-case approach focuses on the goals that users have with a system, rather than emphasizing system functionality. This one-day seminar presents the use-case approach to requirements elicitation in a practical and straightforward fashion. Following the seminar, an attendee will be able to lead and participate in a use-case elicitation workshop, write use case descriptions at various levels of detail, review use cases, and apply use cases to develop the functional requirements for a software system. Many practice sessions give the student opportunities to try some of the techniques described. Topics covered include:

  • Business, user, and functional requirements
  • The requirements development process
  • Identifying user classes and actors
  • Scenarios and use cases
  • Anatomy of a use case
  • Use case diagrams and other analysis models
  • Documenting a use case
  • Conducting use-case elicitation workshops
  • Deriving functional requirements from use cases
  • Reviewing use cases
  • Using use cases to design test cases
  • Detailed Description and Outline
  • Related Publications
  • Purchase Course Handout ($30)
  • (back to top)

    Writing High-Quality Requirements (1-2 days)   

    Based on Karl Wiegers's book, More About Software Requirements, this course will help people who perform the requirements analyst role become more proficient at specifying clear, unambiguous requirements. Unlike "In Search of Excellent Requirements," which addresses the entire requirements engineering process, this course focuses on requirements specification. Students will not be expert requirements writers after this workshop -- that takes practice and helpful review feedback from others. But students will have a strong sense of what constitutes high-quality requirements of various types and how to write them. Topics covered include:

  • Software requirements refresher, including requirements definitions, characteristics of high-quality requirements, and tips for writing good requirements.
  • Techniques for reviewing requirements.
  • Four techniques for depicting project scope.
  • The elements of requirements style, including structures for writing functional requirements.
  • Many ways to avoid several types of ambiguity in requirements.
  • Review several less-than-perfect requirements statements from actual specifications to identify problems Rewrite some of the requirements to improve them. Exchange the rewrites with a classmate and review each other's work.
  • Brief tutorials and practice sessions to write quality attributes, data definitions, and business rules.
  • Overview of use cases, including the components of a use case and the relationship between use cases and functional requirements.
  • Practice session to derive functional requirements from a use case.
  • Detailed Description and Outline
  • Related Publications
  • Purchase Course Handout ($30)
  • (back to top) 

    Software Requirements: An Executive Overview (1-2 hours)   

    This talk presents a concise overview of the key concepts in software requirements engineering to high-level managers and business users. It provides a condensed summary of requirements definitions, major practices for requirements development and management, project risks from inadequate requirements processes, and ways that emphasizing requirements can actually accelerate development. The business value of investing in better requirements and better requirements processes is explained. Data is presented to show that many projects flounder because of poor requirements, and to show the benefit of selected requirements practices.

  • Related Publications
  • (back to top)

    Software Requirements: 10 Traps to Avoid (1-1.5 hours)   

    Successful software projects are built on a foundation of well-understood requirements. However, many development organizations get caught in traps that prevent them from effectively collecting, documenting, or managing their requirements. This presentation describes ten typical requirements problems that can sabotage your project. Several symptoms that indicate you might be getting caught in each trap are described, along with suggestions for avoiding or escaping from the trap. The requirements traps discussed are:

    • Confusion about what a requirement is
    • Inadequate customer involvement
    • Vague and ambiguous requirements
    • Unprioritized requirements
    • Building functionality no one uses
    • Analysis paralysis
    • Scope creep
    • Inadequate requirements change process
    • Insufficient change impact analysis
    • Inadequate requirements version control
  • Related Publications
  • (back to top)

    Software Process Improvement: 10 Traps to Avoid (1-2 hours)   

    Even well-planned software process improvement initiatives can be derailed by one of the many risks that threaten such programs. This presentation describes ten common traps that can undermine a software process improvement program. The symptoms of each trap are described, along with several suggested strategies for preventing and dealing with the trap. By staying alert to the threat of these process improvement killers, those involved with leading the change effort can head them off at the pass before they bring your software process improvement program to a screeching halt. The risk areas described include: 

  • Lack of management commitment
  • Unrealistic management expectations
  • Time-stingy project leaders
  • Inadequate training
  • Making achievement of a CMM maturity level the primary goal
  • Failing to scale processes to project size
  • Stalling on action plan implementation
  • Expecting defined procedures to make people interchangeable
  • Turning process improvement into a game
  • Excluding project team members from assessments
  • Related Publications
  • (back to top)

    Read My Lips: No New Models! (1 hour)   

    It seems that everyone who wishes to make a mark in the software world feels the need to invent a new model or methodology. Such models provide useful frameworks for structuring our thinking and practices in various subdomains of software development and management.

    I contend that we don't need any more new, improved models for software engineering at the moment. Instead, we need a majority of developers to consistently and effectively apply the practices that we already know work! The problem is not inadequate models. The problems include:

    • Inadequate education and awareness of industry best practices,
    • Resistance to change based on NIH syndrome,
    • The misguided notion that software is art and hence not amenable to discipline, and
    • Lack of personal commitment to continually improve the ways we all work.

    This presentation explains why, with some exceptions, I think we don't need any new models at the moment for software testing, risk management, inspection, design methodologies, process improvement, and metrics. Perhaps you'll agree. Perhaps not.

  • Related Publications
  • (back to top)

    Project Management Best Practices (1 day)   

    Managing software projects is difficult under the best circumstances. You can reduce the difficulty and improve your chances of success by applying known industry best practices for software project management. Best practices are based on industry studies of successful and failed projects, and on the speakerís personal experience. This seminar presents some 30 such best practices, grouped into these categories:

    • Laying the foundation for success
    • Planning the project
    • Estimating the work
    • Tracking your progress
    • Learning for the future

    Several topics are discussed in depth, including software risk management and Delphi estimation. The attendee will have an opportunity to try many of these techniques through short practice sessions. Small group discussions also let participants share some of their project management-related problems and identify which of the best practices presented might be useful solutions to those problems.

  • Detailed Description and Outline
  • Related Publications
  • Purchase Course Handout ($30)
  • (back to top)
    Introduction to Software Risk Management (1-4 hours)   

    Know your enemy! Risk management has become recognized as a critical success factor in software projects. This presentation provides an overview of software risk management. Risk management is the process of identifying, addressing, and controlling potential problems before they threaten the success of a software project. The benefits of managing risks formally are described, along with five ways that organizations may choose to respond to their risks.

    The fundamental components of software risk management are outlined:

    • Risk assessment (identification, analysis, and prioritization)
    • Risk avoidance
    • Risk control (risk management planning, resolution, and monitoring)

    Many common types of risks that threaten the success of different kinds of projects are summarized. These risk areas include project dependencies, requirements, management, lack of knowledge, technology factors, and others. A simple form for documenting risks and planning mitigation approaches is presented, and a practice session gives attendees an opportunity to try using the form. The session concludes with several recommendations for how to begin implementing risk management on any software project. The longer tutorial includes additional material, a description of the Software Engineering Instituteís taxonomy of risks, descriptions of two risk management case studies, and more practice time.

  • Related Publications
  • (back to top)

    21 Project Management Success Tips (1 hour)   

    Managing software projects is difficult under the best circumstances. Unfortunately, many new project managers receive virtually no training for the job. Sometimes you have to rely on survival tips from people who have already done their tour of duty in the project management trenches. Here are 21 such tips for success, which Iíve learned from both well-managed and challenged projects. They include 4 suggestions for laying the foundation for project success, 6 for planning the work, 7 for estimating the project, 3 for tracking your progress, and 1 tip for learning for the future. Keep these tips in mind as guidelines for success on your next project, recognizing that they arenít silver bullets for your project management problems.

    (back to top)

    Software Inspections and Peer Reviews (1 day)   

    Effective peer reviews of all types of software work products are essential if software development organizations are to reduce their cost of producing software. Formal inspections of requirements specifications, designs, source code, and other work products are a proven means for finding errors and improving software products.

    Based on Karl Wiegers's book Peer Reviews in Software: A Practical Guide (Addison-Wesley, 2002), this seminar shows software practitioners how to effectively apply both inspections and less formal peer reviews to software products. The inspection process and participant roles are described in detail. Attendees will learn why peer reviews add value at all stages of software development, know the guidelines for conducting a successful review, and know how to select an appropriate review strategy for each of their work products. A practice inspection session will help attendees learn to conduct effective reviews on their own projects.

  • Detailed Description and Outline
  • Related Publications
  • Purchase Course Handout ($30)
  • (back to top)

    The Soft Side of Peer Reviews (1 hour)   

    Peer reviews are as much a social interaction as a technical practice. Asking your colleagues to point out errors in your work is a learned -- not instinctive -- behavior. This presentation describes some of the cultural and interpersonal aspects of peer reviews and inspections that must be considered when trying to install a review program in an organization. The idea of "egoless programming" is described as it relates to reviews. Suggestions are provided for how a reviewer should present issues to the author in a nonjudgmental way. Some aspects of management attitudes and behaviors are discussed, including ten signs of management commitment to peer reviews. A case study illustrates the risks of managers using defect counts from inspections to evaluate individual authors. Several reasons why people do not perform reviews and ways to overcome them are explored, including factors related to lack of knowledge, cultural barriers, and simple resistance to change. Some of the benefits that people performing different project roles can enjoy from a successful peer review program are itemized. The presentation also addresses some aspects of holding reviews that involve participants from different cultures.

    (back to top)

    Home | eLearning | Webinars | Publications | Goodies | Products | Good Books | Links | Biography

    Last Modified: Monday, 06-Oct-2014 14:23:00 EDT