Synopses & Reviews
Too many software applications don’t do what’s needed or they do it clumsily, frustrating their users and owners. The core problem: poorly conceived and poorly crafted requirements. In Designing the Requirements, Chris Britton explains why it’s not enough to simply “gather” requirements–you need to design them.
Britton offers powerful techniques for understanding stakeholders’ concerns and working with stakeholders to get the requirements right. Using Britton’s context-driven approach to requirements design, you can detect inconsistencies, incompleteness, poor usability, and misalignment with business goals upstream–long before developers start coding. You can also design outward-looking applications and services that will integrate more effectively in a coherent IT architecture.
First, Britton explains what requirements design really means and presents a hierarchy of designs that move step-by-step from requirements through implementation. Next, he demonstrates how to build on requirements processes you already use and how to overcome their serious limitations in large-scale development. Then, he walks you through designing your application’s relationship with the business, users, data, and other software to ensure superior usability, security, and maximum scalability and resilience.
Coverage includes
- Designing the entire business solution, not just its software component
- Using engineering-style design analysis to find flaws before implementation
- Designing services, and splitting large development efforts into smaller, more manageable projects
- Planning logical user interfaces that lead to superior user experiences
- Designing databases and data access to reflect the meaning of your data
- Building application frameworks that simplify life for programmers and project managers
- Setting reasonable and achievable goals for performance, availability, and security
- Designing for security at all levels, from strategy to code
- Identifying new opportunities created by context-driven design
Whether you’re a software designer, architect, project manager, or programmer, Designing the Requirements will help you design software that works–for users, IT, and the entire business.
Chris Britton has more than forty years of wide-ranging IT experience. He started programming in the 1970s, shortly thereafter becoming a database specialist for large mainframe systems. During the 1980s, he helped develop SIM, a pioneering semantic database product, and later held a variety of responsibilities in systems support, marketing support, IT architecture, and management. During the 1990s, he increasingly focused on IT architecture and coauthored two editions of IT Architectures and Middleware (Addison-Wesley). Since 2001, he has consulted and developed software applications for his own company.
Synopsis
End users are often dissatisfied with IT applications. Often, the problem isn't that those applications were badly implemented: rather, they may be performing the wrong task, or doing the right thing clumsily. Why do these failures happen? Often, the cause can be traced directly to problems with the way requirements were captured upfront. Designing the Requirements: Building Applications that the User Wants and Needs will help you get requirements right, by taking a professional, design-focused approach to them, as you build deeper, stronger relationships with all your project stakeholders.
Leading requirements consultant and software designer Chris Britton shows how to systematically detect inconsistencies, incompleteness, poor usability, and misalignment with business goals upstream, long before your development organization starts implementing the solution.
Britton also shows application designers and developers how to give stakeholders and users the guidance they need to clarify true needs, concerns, and tradeoffs - rather than simply giving them what they say they want, without adequate exploration. Just as those who are commissioning a new building need professionals' wisdom on avoiding floods and preparing for earthquakes, so too do software customers need your wisdom on software requirements and design: this book shows how to develop and offer that wisdom in ways that deepen and strengthen your relationships with every project stakeholder: end users, business managers and analysts, and other IT project teams.
- Part I explains why establishing requirements is a true design exercise, and illuminating the unique requirements and design problems of large applications.
- Part II explains how to capture high-value knowledge about what users want; why the business chose this project; constraints the society places on your design; challenges of integration with other IT projects and infrastructure; and key issues in project control and development.
- Part III addresses program design for functionality, security, performance, and the full program lifecycle (including testing, debugging, monitoring, and control)
Designing the Requiremens helps you systematically bridge the gaps between IT and your business, so your designers and developers can build software that really will delight the people who use and pay for it.
About the Author
Chris Britton has worked in many areas of the IT business. He started in IT in the 1970s programming COBOL and Algol and joined Burroughs (which after the merger with Sperry became Unisys) in 1976, quickly becoming a database specialist for large mainframe systems.
For a while in the 1980s he worked in the United States developing SIM, a semantic database product. Back in the UK and working in the European headquarters, he worked in variety of roles, often simultaneous, in systems support, marketing support, IT architecture, and management.
During the 1990s he increasingly worked on IT architecture and wrote the book IT Architecture and Middleware: Strategies for Building Large, Scalable Systems. In 2001 he left Unisys and worked in his own company doing consultancy and developing software applications.
Outside of IT, his main interest is classical singing. He sung in the choir when a student at Trinity College, Cambridge, and has sung in operas and choirs, large and small, ever since.
Table of Contents
Preface
Acknowledgments
About the Author
Chapter 1: Introduction to Context-Driven Design
Chapter 2: Hierarchy of Design
Chapter 3: Reusing Existing Methods and Practices
Chapter 4: The Problem of Large Applications
Chapter 5: The Relationship with the Business
Chapter 6: The Relationship with the Users
Chapter 7: The Relationship with Other Projects
Chapter 8: User Interface Design and Ease of Use
Chapter 9: Database Design
Chapter 10: Technical Design Principles
Chapter 11: Technical Design Structure
Chapter 12: Security
Chapter 13: The Future of Application Development
Appendix: Checklist for Context Design
Index