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

Publications

Logo
Karl Wiegers, Principal Consultant at Process Impact, has written many books, eBooks, articles, and essays on many aspects of software engineering, software management, and software process improvement. Many of the articles are available here for downloading, courtesy of the original publishers.

Books

Software Requirements, 3rd Edition
Pearls from Sand: How Small Encounters Lead to Powerful Lessons
Practical Project Initiation
More About Software Requirements
Peer Reviews in Software: A Practical Guide
Creating a Software Engineering Culture

eBooks

Software Process Improvement Handbook: A Practical Guide
Project Initiation Handbook: Laying the Foundation for Project Success
Thorny Issues in Software Requirements
More Thorny Issues in Software Requirements
Writing Your Way to Success

Zip file with all 5 eBooks ($30) Add to Cart

Articles


Software Requirements, 3rd Edition, by Karl Wiegers and Joy Beatty, was published in 2013 by Microsoft Press. It won an Excellence Award from the Society for Technical Communication. Covering the full scope of requirements development and management, this comprehensive good practice guide can help anyone in the business analysis role elicit, analyze, document, validate, and manage the requirements for any project. This edition offers many benefits over the previous edition:

Enhancements:
  • More emphasis on the increasingly important role of the professional business analyst on software projects today, their tasks, and the skills and knowledge needed
  • A lot more information about elicitation techniques
  • A lot more information about quality attribute requirements
  • A lot more information about writing high-quality requirements
  • New prioritization methods
  • Increased emphasis on business objectives
  • New information about scope representation
  • Several additional modeling techniques
  • More information on acceptance criteria and acceptance tests
  • A spreadsheet tool to estimate the business analysis effort needed for a project
New Content:
  • A chapter on data requirements, including specifying reports and dashboards
  • A chapter on requirements reuse
  • A chapter on requirements issues on agile projects; also, sections that describe how to apply specific practices to agile projects appear in many chapters throughout the book
  • Chapters on specific classes of projects: business process automation, packaged solutions, enhancement and replacement projects, outsourced projects, business analytics, and embedded and other real-time systems
  • Expanded the treatment of tools to encompass both requirements development and requirements management tools
  • Additional companion content to accompany the revised templates, checklists, spreadsheet tools, and other work aids
Table of contents and sample chapters      Reviewer Comments      Order from Amazon.com

Pearls from Sand: How Small Encounters Lead to Powerful Lessons was published in 2011 by Morgan James Publishing. It is a memoir of life lessons that I learned from otherwise ordinary conversations and experiences. Each of the 37 chapters describes a powerful life lesson, how I learned it, how I've used it, and how you can use it to enhance your own life. The lessons are grouped into 6 categories: personal pearls, interpersonal pearls, motivational pearls, cautionary pearls, practical pearls, and professional pearls. Follow the blog and submit your own pearls of wisdom to be posted on the blog for others to learn from. Rated 5 stars by Amazon.com readers.

Details, sample chapters, PDF, audiobook      Order a Copy

Practical Project Initiation: A Handbook with Tools was published in 2007 by Microsoft Press. Project initiation is the process of formally conceiving, approving, and launching a new project. This book describes many actions that lay the foundation for a successful project. Both experienced and novice project managers will find the practices described here to be valuable. Topics covered include: defining project success criteria and product release criteria, project chartering, risk management, lessons learned and project retrospectives, metrics, and many others. Each chapter includes several practice activities and worksheets to help you begin applying the techniques immediately. A companion web site provides numerous templates, procedure descriptions, spreadsheet tools, and other work aids to help you launch your next project more effectively.

See the Table of Contents and sample chapters      Order a Copy

More About Software Requirements: Thorny Issues and Practical Advice was published in 2006 by Microsoft Press. A companion volume to Software Requirements, 2nd Edition, this book addresses many questions that requirements analysts ask over and over again, most of which are not covered well in the current books on software requirements engineering. Some of these thorny problems don't have perfect solutions, but the book offers the practicing analyst practical options and ways to select the best approach in a given situation. Chapters cover topics of particular interest to managers, points of confusion around the use case technique, how to optimize your customer involvement, different ways to represent requirements information, and some key issues regarding requirements management. Several chapters provide a wealth of advice on how to actually write excellent software requirements, at an appropriate level of detail and without unnecessary design constraints. As more and more companies outsource their software development, the need for high-quality requirements is increasing. This book can help any analyst elicit, document, and manage better requirements.

See the Table of Contents and sample chapters      Order a Copy

Peer Reviews in Software: A Practical Guide was published in 2002 by Addison-Wesley. This is a concise description of software peer reviews and inspections. It covers the inspection process in some detail, but it also describes a variety of other review types that cover a spectrum of formality. Several chapters address the cultural and interpersonal aspects of peer reviews, installing a review program in an organization, and recording and using inspection metrics. The emphasis is on a simple, practical approach to these important quality techniques that any organization can apply.

See the Table of Contents and sample chapters       Order a Copy

Creating a Software Engineering Culture was published in 1996 by Dorset House Publishing. It won a Productivity Award from Software Development magazine. A healthy software engineering culture is one in which managers and practitioners share a commitment to building quality software through the application of effective and sensible software processes. The book describes 14 cultural principles that I think are important in guiding how software is built. If you share my belief that these principles are important, you'll apply technical and managerial practices that I think will lead to superior software.

See the Table of Contents       Order a Copy       eBook Versions

Project Management

Project Initiation Handbook
This 72-page eBook gives you the guidance you need to get your project off to a solid start. Both experienced and novice project managers will find a wealth of practical advice here. Most people learn the importance of taking these initiation actions only through painful experience, when they look back and say, "Gee, I wish I had thought about doing that a year ago." Applying the techniques described in this handbook will help keep your team focused on the significant outcomes that signal success The eBook includes many worksheets so you can begin applying the techniques described immediately.

“Are We There Yet?” Software Development, vol. 13, no. 9 (June 2005). Defining your product's release criteria is an essential part of laying the foundation for a successful project. "It's June 30, so we must be done" isn't the best plan. Your criteria must be realistic, objectively measurable, documented and aligned with what "quality" and "success" mean to your customers. This article provides many examples of how (and how not) to write effective release criteria. (This content now appears as Chapter 5 in Practical Project Initiation)

“See You In Court,” Software Development, vol. 11, no. 1 (January 2003). Too many outsourced software development project wind up in litigation. The root causes of the project failure and resulting legal conflict are often related to the project's requirements, to communication issues, or to the project management approaches used (or not used). This article presents 15 recommendations for keeping your outsourced project on track and out of court. A checklist helps you perform a health check on your project, to see if it's heading for trouble.

HTML   PDF

“Good Money After Bad,” StickyMinds.com, (January 2002). Many software projects that suffer a lingering death should have been canceled much earlier. Although it is hard to pull the plug on a project with a weak business case, failing to do so does throw good money after bad. This article gives some tips on decision making that can help you avoid this outcome and shows how to use decision points to keep a good project moving along.

HTML    PDF

“Stop Promising Miracles,” Software Development, vol. 8, no. 2 (February 2000). This article describes the Wideband Delphi method for team estimation. Wideband Delphi helps you develop a detailed task list with individual task estimates from several estimators and lists of estimation assumptions. The individual stages in the Delphi process are discussed in detail. (This content now appears as Chapter 11 in Practical Project Initiation)

“Know Your Enemy: Software Risk Management,” Software Development, vol. 6, no. 10 (October 1998). This paper provides an introduction to the principles of identifying and managing risks on a software project. Typical risk factors in several categories are identified, and two forms for documenting individual risks are included. (This content now appears as Chapter 6 in Practical Project Initiation. That chapter is available for previewing.)

“Standing on Principle,” Journal of the Quality Assurance Institute, vol. 11, no. 3 (July 1997). Adapted from the Creating a Software Engineering Culture book, this article gives many examples of high-integrity and high-intelligence interactions among managers, developers, and customers.

HTML   PDF

“Creating a Software Engineering Culture,” Software Development, vol. 2, no. 7 (July 1994). This article describes several cultural principles about software engineering that I think are important. These principles imply certain technical practices and managerial behaviors that are conducive to creating an environment focused on software quality through effective processes. 

HTML   PDF

(back to top) 


Requirements Engineering

“Getting the Most from a Requirements Management Tool.” This 10-page white paper describes the many advantages that requirements management tools provide over traditional specification documents, the typical capabilities of such tools, and numerous tips for getting a high return on your investment in an RM tool. See Requirements Engineering Set 7.

“The Business Value of Better Requirements.” Poorly written, ambiguous, and incomplete requirements cost software organizations a lot of wasted time and money. This 6-page white paper describes the many benefits of investing in high-quality requirements development and management processes, including a way to think about the return on investment that you can enjoy by making such improvements. See Requirements Engineering Set 7.

“So You Want to Be a Requirements Analyst?” Software Development, vol. 11, no. 7 (July 2003). Everyone talks about "requirements analysis," but not much is said about the requirements analyst. What kind of person should do this job? What do analysts really do? What do they need to know? This article addresses these questions and summarizes some key analyst skills: listening, interviewing, analysis, facilitation, observation, writing, modeling, and more. Tips for the new analyst coming from either the technical or the user domain are also provided.

PDF

“Requirements When the Field Isn't Green,” STQE, vol. 3, no. 3 (May/June 2001). Many software project involve adding enhancements to existing systems, rather than developing brand new, "green field," systems. This article describes seven principles that can guide how you apply sound requirements engineering practices on a maintenance project.

HTML   PDF

“Habits of Effective Analysts,” Software Development, vol. 8, no. 10 (October 2000). The requirements analyst plays an essential role on the software project team. Here I describe the habits, practices, and characteristics of effective requirements analysts. A list of critical skills the effective analyst must master is also included.

HTML   PDF

“When Telepathy Won't Do: Requirements Engineering Key Practices,” Cutter IT Journal, vol. 13, no. 5 (May 2000). The best way to succeed with requirements engineering is to adopt known industry best practices. Eight such key practices are described in this article, helping any organization improve the way it elicits, analyzes, specifies, verifies, and manages its requirements.

HTML   PDF

“Karl Wiegers Describes 10 Requirements Traps to Avoid,” Software Testing and Quality Engineering, vol. 2, no. 1 (January/February 2000). This article describes ten traps lurking in the requirements engineering minefield. Several symptoms that you might be stepping into each trap are presented, along with some suggested strategies for avoiding the trap or extricating yourself from it.

HTML   PDF

(back to top) 


Process Improvement

Software Process Improvement Handbook
This 72-page eBook addresses many issues that can help software organizations implement and sustain a successful process improvement program. Whether you're using the CMM or CMMI as a process improvement framework, or just trying to learn how to work more effectively, you'll find a wealth of pragmatic guidance and useful insights about how to steer your organization toward better productivity and quality. The eBbook includes many worksheets so you can begin applying the techniques described immediately.

“Software Process Improvement in Web Time,” IEEE Software, vol. 16, no. 4 (July/August 1999). Basic process improvement activities can benefit even fast-moving teams doing Web development. This paper describes how Kodak's web development group undertook improvements in several aspects of project management, post-project reviews, risk management, change control, requirements engineering, development life cycle, and peer reviews. The approach taken and lessons learned are also presented.

HTML   PDF

“Read My Lips: No New Models!,” IEEE Software, vol. 15, no. 5 (September/October 1998). This essay suggests that the software industry has more than enough models and frameworks for areas like process improvement, testing, metrics, inspections, risk management, and design methodologies. What we don't have is a large fraction of practitioners routinely applying these existing models in an effective way. Perhaps you'll agree with me; perhaps not.

HTML   PDF

“Misconceptions of the CMM,” Software Development, vol. 4, no. 11 (November 1996). This article describes 14 misconceptions I have heard people state as facts about the Software Capability Maturity Model. The true story behind each misconception is also revealed.

HTML   PDF

(back to top) 


Peer Reviews

“Seven Truths About Peer Reviews,” Cutter IT Journal, vol. 15, no. 7 (July 2002). This article highlights seven important facts about peer reviews: peer reviews can take many forms; inspections are a software industry best practice; there is no one true inspection method; peer reviews complement testing; peer reviews are both technical and social activities; managers can make or break a review program; and a peer review program doesn't run itself.

HTML   PDF    Serbo-Croation translation    French translation

“Do Your Inspections Work?” StickyMinds.com, June 24, 2002. This is a condensed overview of three ways to measure results from your inspections: efficiency, effectiveness, and return on investment. It describes several data items that you can easily collect from your inspections and some simple metrics to calculate from those data items. Inspections provide an easy way to begin a quality metrics program.

HTML

“Humanizing Peer Reviews,” STQE, vol. 4, no. 2 (March/April 2002). Peer reviews are at least as much a social interaction as a technical exchange. This article addresses some of the social and cultural aspects of peer reviews, including ways to overcome resistance to the process, benefits that reviews provide for various team members, the role of management, and 10 signs of management commitment to the review process.

HTML   PDF

“When Two Eyes Aren't Enough,” Software Development, vol. 9, no. 10 (October 2001). Several different types of activities called "peer reviews" are described here, including inspections, team reviews, walkthroughs, pair programming, peer deskchecks, and passarounds. A table suggests which types of peer reviews are best suited for achieving specific review objectives.

HTML   PDF

“When Reviewers Can't Meet,” StickyMinds.com (August 2001). When participants in a peer review cannot meet face-to-face, you need to use distributed or asynchronous review techniques. This article describes several ways to deal with reviewers who are separated by space or time.

HTML    PDF

“Seven Deadly Sins of Software Reviews,” Software Development, vol. 6, no. 3 (March 1998). This article describes 7 common ways that technical reviews go wrong. Symptoms of the problem, and suggestions for getting the review back on track are also presented. 

HTML   PDF

(back to top) 


Metrics

“A Software Metrics Primer,” Software Development, vol. 7, no. 7 (July, 1999). This article presents a brief overview of software measurement. It describes why measurement is important, what you should measure, and some techniques for creating a measurement culture in your organization. A number of metrics that are appropriate for individuals, development teams, and software organizations to collect are suggested, along with several tips for making your metrics program succeed. (This content now appears as Chapter 12 in Practical Project Initiation. That chapter is available for previewing.)

“Lessons from Software Work Effort Metrics,” Software Development, vol. 2, no. 10 (October 1994). Several groups at Kodak found that measuring the time spent on 6 different new development phases and 4 different maintenance activities not only wasn't that hard, but provided considerable insights into the way software was being constructed in those groups. 

PDF

(back to top)

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