Good Books




The Thoughtless Design of Everyday Things
Successful Business Analysis Consulting
The Reconstruction
Software Requirements, 3rd Edition
Pearls from Sand
Practical Project Initiation
More About Software Requirements
Peer Reviews in Software
Creating a Software Engineering Culture


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

Zip file with all 4 e-books ($29.99)     Add to Cart View Cart


Requirements Engineering
Project Management
Process Improvement
Peer Reviews
Flagrantly Opinionated Essays

The Thoughtless Design of Everyday Things Have you ever noticed how many products appear to be designed by someone who has never used a product of that kind before? The Thoughtless Design of Everyday Things presents more than 160 examples of thoughtlessly-designed products, along with nearly 50 examples of particularly good designs. These poor designs reveal 70 insightful design lessons, which are aligned with 9 fundamental principles of good design. This book will be insightful and thought-provoking for both new and experienced designers, as well as interested and curious consumers.

Details, table of contents, and sample chapters      Purchase

Successful Business Analysis Consulting Successful Business Analysis Consulting: Strategies and Tips for Going It Alone presents countless insights I've acquired in more than 20 years as an independent consultant. This is the kind of information I wish I had had before I decided to give consulting a try. If you have questions about setting prices, negotiating agreements, dealing with difficult clients, partnering with other consultants, giving presentations, writing for publication, or generating revenue while you sleep, this book has answers. Even if you aren't an independent consultant, you'll find a lot of valuable information in this book.

Details, table of contents, and sample chapters      Purchase

The Reconstruction In my first novel, The Reconstruction, a forensic sculptor is shocked to discover she has a close personal connection to her latest facial reconstruction. She is then driven to identify the victim, confirm their relationship, and deliver justice for her death. Totally different from my technical books, The Reconstruction is an engaging mystery that will hold your attention. It was also the most fun I ever had writing something.

Details    Sample Chapters    Purchase

Software Requirements, Third Edition Software Requirements, 3rd Edition (co-authored with Joy Beatty) 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:
  • More emphasis on the role of the business analyst and the skills and knowledge needed
  • A lot more information about elicitation techniques and quality attributes
  • New information about business objectives and scope representation
  • Additional visual modeling techniques
  • A chapter on data requirements, including specifying reports and dashboards
  • A chapter on requirements reuse
  • A chapter on requirements for agile projects; sections about applying specific practices to agile projects appear in many chapters
  • Chapters on requirements for specific classes of projects: business process automation, packaged solutions, enhancement and replacement projects, outsourced projects, business analytics, and real-time systems
Table of Contents and Sample Chapters      Reviewer Comments      Purchase

Pearls from Sand Pearls from Sand: How Small Encounters Lead to Powerful Lessons 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.

Details and Sample Chapters      Purchase

Practical Project Initiation Practical Project Initiation: A Handbook with Tools addresses the process of 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 page provides numerous templates, procedure descriptions, spreadsheet tools, and other work aids to help you launch your next project more effectively.

Table of Contents and Sample Chapters      Purchase      Companion Page

More About Software Requirements More About Software Requirements: Thorny Issues and Practical Advice 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. Some of these thorny problems don't have perfect solutions, but the book offers practical options and ways to select the best approach in a given situation. Chapters cover points of confusion around use cases, how to optimize customer involvement, different ways to represent requirements knowledge, and some key issues regarding requirements management. There's a wealth of advice on how to write excellent software requirements at an appropriate level of detail and without unnecessary design constraints.

Table of Contents and Sample Chapters      Purchase

Peer Reviews in Software Peer Reviews in Software: A Practical Guide 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.

Table of Contents and Sample Chapters       Purchase

Creating Software Engineering Culture Creating a Software Engineering Culture 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.

Table of Contents       Purchase       E-books

Requirements Engineering

"Getting the Most from a Requirements Management Tool." This 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 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?" Everyone talks about "requirements analysis," but not much is said about the requirements (or business) 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.

"Requirements When the Field Isn't Green." 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.

"Habits of Effective Analysts." 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.

"When Telepathy Won't Do: Requirements Engineering Key Practices." 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.

"Karl Wiegers Describes 10 Requirements Traps to Avoid." 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.

(back to top)

Project Management

Project Initiation Handbook
This 72-page e-book 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 e-book includes many worksheets so you can begin applying the techniques described immediately.

"Are We There Yet?" 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." 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.

"Good Money After Bad." 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.

"Stop Promising Miracles." 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." 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 (available for previewing).

"Standing on Principle." Adapted from Creating a Software Engineering Culture, this article gives many examples of high-integrity and high-intelligence interactions among managers, developers, and customers.

"Creating a Software Engineering Culture." 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. 

(back to top)

Process Improvement

Software Process Improvement Handbook
This 72-page e-book addresses many issues that can help software organizations implement and sustain a successful process improvement program. Whether you're using a formal 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 e-book includes many worksheets so you can begin applying the techniques described immediately.

"Software Process Improvement in Web Time." Basic process improvement activities can benefit even fast-moving teams. 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.

"Read My Lips: No New Models!." 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.

(back to top)

Peer Reviews

"Seven Truths About Peer Reviews." 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.

"Do Your Inspections Work?" 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.

"Humanizing Peer Reviews." 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.

"When Two Eyes Aren't Enough." 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.

"When Reviewers Can't Meet." 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.

"Seven Deadly Sins of Software Reviews." 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.

(back to top)