Discovering Requirements


Book Description

"This book is not only of practical value. It's also a lot of fun to read." Michael Jackson, The Open University. Do you need to know how to create good requirements? Discovering Requirements offers a set of simple, robust, and effective cognitive tools for building requirements. Using worked examples throughout the text, it shows you how to develop an understanding of any problem, leading to questions such as: What are you trying to achieve? Who is involved, and how? What do those people want? Do they agree? How do you envisage this working? What could go wrong? Why are you making these decisions? What are you assuming? The established author team of Ian Alexander and Ljerka Beus-Dukic answer these and related questions, using a set of complementary techniques, including stakeholder analysis, goal modelling, context modelling, storytelling and scenario modelling, identifying risks and threats, describing rationales, defining terms in a project dictionary, and prioritizing. This easy to read guide is full of carefully-checked tips and tricks. Illustrated with worked examples, checklists, summaries, keywords and exercises, this book will encourage you to move closer to the real problems you're trying to solve. Guest boxes from other experts give you additional hints for your projects. Invaluable for anyone specifying requirements including IT practitioners, engineers, developers, business analysts, test engineers, configuration managers, quality engineers and project managers. A practical sourcebook for lecturers as well as students studying software engineering who want to learn about requirements work in industry. Once you've read this book you will be ready to create good requirements!




Discovering Real Business Requirements for Software Project Success


Book Description

While a number of books on the market deal with software requirements, this is the first resource to offer you a methodology for discovering and testing the real business requirements that software products must meet in order to provide value. The book provides you with practical techniques that help prevent the main causes of requirements creep, which in turn enhances software development success and satisfaction among the organizations that apply these approaches. Complementing discovery methods, you also learn more than 21 ways to test business requirements from the perspectives of assessing suitability of form, identifying overlooked requirements, and evaluating substance and content. The powerful techniques and methods presented are applied to a real business case from a company recognized for world-class excellence. You are introduced to the innovative Problem Pyramidtm technique which helps you more reliably identify the real problem and requirements content. From an examination of key methods for gathering and understanding information about requirements, to seven guidelines for documenting and communicating requirements, while avoiding analysis paralysis, this book is a comprehensive, single source for uncovering the real business requirements for your software development projects.




Exploring Requirements


Book Description

Negotiating a Common Understanding. Ways to the Get Started. Exploring the Possibilities. Clarifying Expectations. Greatly Improving the Odds of Success.




Requirements-led Project Management


Book Description

Requirements are a crucial ingredient of any successful project. This is true for any product--software, hardware, consumer appliance, or large-scale construction. You have to understand its requirements--what is needed and desired--if you are to build the right product. Most developers recognize the truth in this statement, even if they don't always live up to it. Far less obvious, however, is the contribution that the requirements activity makes to project management. Requirements, along with other outputs from the requirements activity, are potent project management tools. In "Requirements-Led Project Management, " Suzanne and James Robertson show how to use requirements to manage the development lifecycle. They show program managers, product and project managers, team leaders, and business analysts specifically how to: Use requirements as input to project planning and decision-makingDetermine whether to invest in a projectDeliver more appropriate products with a quick cycle timeMeasure and estimate the requirements effortDefine the most effective requirements process for a projectManage stakeholder involvement and expectationsSet requirements prioritiesManage requirements across multiple domains and technologiesUse requirements to communicate across business and technological boundaries In their previous book, "Mastering the Requirements Process, " the Robertsons defined Volere--their groundbreaking and now widely adopted requirements process. In this second book, they look at the outputs from the requirements process and demonstrate how you can take advantage of the all-important links between requirements and project success.




Mastering the Requirements Process


Book Description

“If the purpose is to create one of the best books on requirements yet written, the authors have succeeded.” —Capers Jones Software can solve almost any problem. The trick is knowing what the problem is. With about half of all software errors originating in the requirements activity, it is clear that a better understanding of the problem is needed. Getting the requirements right is crucial if we are to build systems that best meet our needs. We know, beyond doubt, that the right requirements produce an end result that is as innovative and beneficial as it can be, and that system development is both effective and efficient. Mastering the Requirements Process: Getting Requirements Right, Third Edition, sets out an industry-proven process for gathering and verifying requirements, regardless of whether you work in a traditional or agile development environment. In this sweeping update of the bestselling guide, the authors show how to discover precisely what the customer wants and needs, in the most efficient manner possible. Features include The Volere requirements process for discovering requirements, for use with both traditional and iterative environments A specification template that can be used as the basis for your own requirements specifications Formality guides that help you funnel your efforts into only the requirements work needed for your particular development environment and project How to make requirements testable using fit criteria Checklists to help identify stakeholders, users, non-functional requirements, and more Methods for reusing requirements and requirements patterns New features include Strategy guides for different environments, including outsourcing Strategies for gathering and implementing requirements for iterative releases “Thinking above the line” to find the real problem How to move from requirements to finding the right solution The Brown Cow model for clearer viewpoints of the system Using story cards as requirements Using the Volere Knowledge Model to help record and communicate requirements Fundamental truths about requirements and system development




Getting and Writing IT Requirements in a Lean and Agile World


Book Description

WHAT IS THIS BOOK ABOUT? Communicate Business Needs in an Agile (e.g. Scrum) or Lean (e.g. Kanban) Environment Problem solvers are in demand in every organization, large and small, from a Mom and Pop shop to the federal government. Increase your confidence and your value to organizations by improving your ability to analyze, extract, express, and discuss business needs in formats supported by Agile, Lean, and DevOps. The single largest challenge facing organizations around the world is how to leverage their Information Technology to gain competitive advantage. This is not about how to program the devices; it is figuring out what the devices should do. The skills needed to identify and define the best IT solutions are invaluable for every role in the organization. These skills can propel you from the mail room to the boardroom by making your organization more effective and more profitable. Whether you: - are tasked with defining business needs for a product or existing software, - need to prove that a digital solution works, - want to expand your User Story and requirements discovery toolkit, or - are interested in becoming a Business Analyst, this book presents invaluable ideas that you can steal. The future looks bright for those who embrace Lean concepts and are prepared to engage with the business community to ensure the success of Agile initiatives. WHAT YOU WILL LEARN Learn Step by Step When and How to Define Lean / Agile Requirements Agile, Lean, DevOps, and Continuous Delivery do not change the need for good business analysis. In this book, you will learn how the new software development philosophies influence the discovery, expression, and analysis of business needs. We will cover User Stories, Features, and Quality Requirements (a.k.a. Non-functional Requirements – NFR). User Story Splitting and Feature Drill-down transform business needs into technology solutions. Acceptance Tests (Scenarios, Scenario Outlines, and Examples) have become a critical part of many Lean development approaches. To support this new testing paradigm, you will also learn how to identify and optimize Scenarios, Scenario Outlines, and Examples in GIVEN-WHEN-THEN format (Gherkin) that are the bases for Acceptance Test Driven Development (ATDD) and Behavior Driven Development (BDD). This book presents concrete approaches that take you from day one of a change initiative to the ongoing acceptance testing in a continuous delivery environment. The authors introduce novel and innovative ideas that augment tried-and-true techniques for: - discovering and capturing what your stakeholders need, - writing and refining the needs as the work progresses, and - developing scenarios to verify that the software does what it should. Approaches that proved their value in conventional settings have been redefined to ferret out and eliminate waste (a pillar of the Lean philosophy). Those approaches are fine-tuned and perfected to support the Lean and Agile movement that defines current software development. In addition, the book is chock-full of examples and exercises that allow you to confirm your understanding of the presented ideas. WHO WILL BENEFIT FROM READING THIS BOOK? How organizations develop and deliver working software has changed significantly in recent years. Because the change was greatest in the developer community, many books and courses justifiably target that group. There is, however, an overlooked group of people essential to the development of software-as-an-asset that have been neglected. Many distinct roles or job titles in the business community perform business needs analysis for digital solutions. They include: - Product Owners - Business Analysts - Requirements Engineers - Test Developers - Business- and Customer-side Team Members - Agile Team Members - Subject Matter Experts (SME) - Project Leaders and Managers - Systems Analysts and Designers - AND “anyone wearing the business analysis hat”, meaning anyone responsible for defining a future IT solution TOM AND ANGELA’S (the authors) STORY Like all good IT stories, theirs started on a project many years ago. Tom was the super techie, Angela the super SME. They fought their way through the 3-year development of a new policy maintenance system for an insurance company. They vehemently disagreed on many aspects, but in the process discovered a fundamental truth about IT projects. The business community (Angela) should decide on the business needs while the technical team’s (Tom)’s job was to make the technology deliver what the business needed. Talk about a revolutionary idea! All that was left was learning how to communicate with each other without bloodshed to make the project a resounding success. Mission accomplished. They decided this epiphany was so important that the world needed to know about it. As a result, they made it their mission (and their passion) to share this ground-breaking concept with the rest of the world. To achieve that lofty goal, they married and began the mission that still defines their life. After over 30 years of living and working together 24x7x365, they are still wildly enthusiastic about helping the victims of technology learn how to ask for and get the IT solutions they need to do their jobs better. More importantly, they are more enthusiastically in love with each other than ever before!




Executable Specifications with Scrum


Book Description

Most books about specifications still assume that requirements can be known up front and won’t change much during your project. In today’s “real world,” however, you must specify and build software in the face of high and continuing uncertainty. Scrum and other agile methods have evolved to reflect this reality. Now, there’s a complete guide to specifying software in agile environments when prerequisites are unclear, requirements are difficult to grasp, and anything about your project could change. Long-time agile coach and enterprise architect Mario Cardinal shows how to create executable specifications and use them to test software behavior against requirements. Cardinal shows how to trawl requirements incrementally, step-by-step, using a vision-centric and emergent iterative practice that is designed for agility. Writing for analysts, architects, developers, and managers, Cardinal makes a strong case for the iterative discovery of requirements. Then, he moves from theory to practice, fully explaining the technical mechanisms and empirical techniques you need to gain full value from executable specifications. You’ll learn to connect specifications with software under construction, link requirements to architecture, and automate requirements verification within the Scrum framework. Above all, Cardinal will help you solve the paramount challenge of software development: not only to solve the problem right, but also to solve the right problem. You will learn how to • Establish more effective agile roles for analysts and architects • Integrate and simplify the best techniques from FIT, ATDD, and BDD • Identify “core certainties” on which your project team should rely to ensure requirements discovery • Manage uncertainty by discovering stakeholder desires through short feedback loops • Specify as you go while writing small chunks of requirements • Use storyboarding and paper prototyping to improve conversations with stakeholders • Express stakeholder desires that are requirements with user stories • Refine your user stories, and plan more effective Scrum sprints • Confirm user stories by scripting behaviors with scenarios • Transform scenarios into automated tests that easily confirm your software’s expected behavior as designs emerge and specifications evolve • Ensure higher-quality software by specifying nonfunctional requirements




Continuous Discovery Habits


Book Description

"If you haven't had the good fortune to be coached by a strong leader or product coach, this book can help fill that gap and set you on the path to success." - Marty Cagan How do you know that you are making a product or service that your customers want? How do you ensure that you are improving it over time? How do you guarantee that your team is creating value for your customers in a way that creates value for your business? In this book, you'll learn a structured and sustainable approach to continuous discovery that will help you answer each of these questions, giving you the confidence to act while also preparing you to be wrong. You'll learn to balance action with doubt so that you can get started without being blindsided by what you don't get right. If you want to discover products that customers love-that also deliver business results-this book is for you.




Agile Software Requirements


Book Description

“We need better approaches to understanding and managing software requirements, and Dean provides them in this book. He draws ideas from three very useful intellectual pools: classical management practices, Agile methods, and lean product development. By combining the strengths of these three approaches, he has produced something that works better than any one in isolation.” –From the Foreword by Don Reinertsen, President of Reinertsen & Associates; author of Managing the Design Factory; and leading expert on rapid product development Effective requirements discovery and analysis is a critical best practice for serious application development. Until now, however, requirements and Agile methods have rarely coexisted peacefully. For many enterprises considering Agile approaches, the absence of effective and scalable Agile requirements processes has been a showstopper for Agile adoption. In Agile Software Requirements, Dean Leffingwell shows exactly how to create effective requirements in Agile environments. Part I presents the “big picture” of Agile requirements in the enterprise, and describes an overall process model for Agile requirements at the project team, program, and portfolio levels Part II describes a simple and lightweight, yet comprehensive model that Agile project teams can use to manage requirements Part III shows how to develop Agile requirements for complex systems that require the cooperation of multiple teams Part IV guides enterprises in developing Agile requirements for ever-larger “systems of systems,” application suites, and product portfolios This book will help you leverage the benefits of Agile without sacrificing the value of effective requirements discovery and analysis. You’ll find proven solutions you can apply right now–whether you’re a software developer or tester, executive, project/program manager, architect, or team leader.




Tradeoff Decisions in System Design


Book Description

This textbook is about three key aspects of system design: decision making under uncertainty, trade-off studies and formal risk analyses. Recognizing that the mathematical treatment of these topics is similar, the authors generalize existing mathematical techniques to cover all three areas. Common to these topics are importance weights, combining functions, scoring functions, quantitative metrics, prioritization and sensitivity analyses. Furthermore, human decision-making activities and problems use these same tools. Therefore, these problems are also treated uniformly and modeled using prospect theory. Aimed at both engineering and business practitioners and students interested in systems engineering, risk analysis, operational management, and business process modeling, Tradeoff Decisions in System Design explains how humans can overcome cognitive biases and avoid mental errors when conducting trade-off studies and risk analyses in a wide range of domains. With generous use of examples as a common thread across chapters this book. “This book provides an excellent road map for designing and producing competitive products.”