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.
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:
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.
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:
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: 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.
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:
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:
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:
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.
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:
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.
(back to top)
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:
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.
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.(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.
Last Modified: Monday, 06-Oct-2014 14:23:00 EDT