Software Development Pearls Lessons from Fifty Years of Software Experience

Experience is a powerful teacher, but it is also slow and painful -- and software practitioners cannot afford to make every mistake others have suffered. This book helps you compress your learning curve and bypass much of the pain by absorbing lessons from others who served in the trenches before yo...

Full description

Bibliographic Details
Main Author: Wiegers, Karl
Format: eBook
Language:English
Published: Addison-Wesley Professional 2021
Edition:1st edition
Online Access:
Collection: O'Reilly - Collection details see MPG.ReNa
Table of Contents:
  • The Right Requirements-But How?
  • Lesson 2: Requirements development delivers shared understanding
  • Lesson 3: Stakeholder interests intersect at the requirements
  • Stakeholder Analysis
  • Who Makes the Call?
  • We're All on the Same Side Here
  • Lesson 4: Favor a usage-centric approach to requirements
  • Why the Excess Functionality?
  • Putting Usage First
  • A User Story Concern
  • Usage Rules!
  • Lesson 5: Requirements development demands iteration
  • Progressive Refinement of Detail
  • Emergent Functional Requirements
  • Emergent Nonfunctional Requirements
  • Many Requirements Beholders
  • Requirements Quality Checklist
  • Lesson 10: Requirements must be good enough to reduce risk
  • Dimensions of Detail
  • How Much Is Enough?
  • Lesson 11: People don't simply gather requirements
  • Gathering versus Elicitation
  • When to Elicit Requirements
  • The Elicitation Context
  • Elicitation Techniques
  • Laying the Foundation
  • Lesson 12: Elicitation brings the customer's voice to the developer
  • Communication Pathways
  • Product Champions
  • Other Requirements Communication Pathways
  • Bridging the Gap
  • Lesson 13: Telepathy and clairvoyance don't work
  • Cover
  • Half Title
  • Title Page
  • Copyright Page
  • Dedication
  • Contents
  • Foreword
  • Acknowledgments
  • About the Author
  • Chapter 1: Learning from Painful Experience
  • My Perspective
  • About the Book
  • A Note on Terminology
  • Your Opportunity
  • Chapter 2: Lessons About Requirements
  • Introduction to Requirements
  • Many Types of Requirements
  • Subdomains of Requirements Engineering
  • The Business Analyst Role
  • Requirements Are Foundational
  • First Steps: Requirements
  • Lesson 1: Get the requirements right or the project will fail
  • The Right Requirements-But When?
  • Guess That Requirement!
  • Being Explicit
  • Telepathy Fails
  • Lesson 14: Large groups have difficulty agreeing on requirements
  • Pay Attention!
  • Facilitator to the Rescue
  • Focus, Focus, Focus
  • Reaching Outside the Group
  • Lesson 15: Avoid decibel prioritization
  • Prioritization Techniques
  • Prioritization Criteria
  • Analysis over Volume
  • Lesson 16: Define scope to know whether your scope is creeping
  • The Specter of Scope Creep
  • How to Document Scope
  • Is It in Scope?
  • Fuzzy Requirements = Fuzzy Scope
  • Next Steps: Requirements
  • Chapter 3: Lessons About Design
  • Lesson 6: Agile requirements aren't different from other requirements
  • Roles and Responsibilities
  • Terminology
  • Documentation Detail
  • Activity Timing
  • Deliverable Forms
  • When to Prioritize
  • Is There Really a Difference?
  • Lesson 7: Recording knowledge is cheaper than acquiring it
  • Fear of Writing
  • Benefits of Written Communication
  • A Sensible Balance
  • Lesson 8: Requirements are about clear communication
  • Multiple Audiences, Multiple Needs
  • Choosing Representation Techniques
  • Can We Talk?
  • Lesson 9: Requirements quality is in the eye of the beholder