About This Book

   

In this book, Leffingwell and Widrig have taken a pragmatic approach to describing the solution to the rock problem. They have organized the book into eight parts . The Introduction provides some of the context, definitions, and background that you'll need to understand what follows . Chapter 1 reviews the systems development "challenge." The data shows that some software project failures are indeed caused by sloppy programming, but a number of studies demonstrate that poor requirements management may be the single largest cause of project failure. And though I've described the basic concept of requirements management in a loose, informal fashion in this foreword, the authors will define it more carefully in Chapter 2, in order to lay the groundwork for the chapters that follow. Chapter 3 provides an overview of some of the software development models in use today and concludes with a recommendation for an iterative process, one that facilitates additional requirements discovery along the way. Chapter 4 provides a brief introduction to some of the characteristics of modern software teams so they can relate the team skills that will be developed to the team context, wherein the skills must be applied.

The book is structured on the six requisite team skills for effective requirements management.

Each of the next six major parts is intended to help you and your team understand and master one of the six requisite team skills for effective requirements management .

  • To begin, of course, you will need a proper understanding of the problem that's intended to be solved with a new software system. That is addressed in Team Skill 1, Analyzing the Problem.

  • Team Skill 2, Understanding User and Stakeholder Needs, is also crucial.

  • Team Skill 3, Defining the System, describes the initial process of defining a system to address those requirements.

  • Team Skill 4, Managing Scope, covers that absolutely crucial and often ignored process of managing the customer's expectations and the scope of the project.

  • Team Skill 5, Refining the System Definition, illustrates key techniques that you will use in order to elaborate on the system to a level of detail sufficient to drive design and implementation, so the entire extended team knows exactly what kind of system you are building.

  • Team Skill 6, Building the Right System, discusses the processes associated with building a system that fulfills the requirements. Team Skill 6 also discusses techniques you can use to validate that the system meets the requirements and, further, to help ensure that the system doesn't do anything malevolent to its users or otherwise exhibit unpleasant behaviors that are not defined by the requirements. And, since requirements for any nontrivial application cannot be frozen in time, the authors describe ways in which the team can actively manage change without destroying the system under construction. Team Skill 6 concludes with a chapter that suggests ways in which the requirements gathering process can improve the quality of the overall project. Special emphasis is given to the iterative nature of modern program development processes and how this yields substantial opportunities for an ongoing quality assessment.

After these descriptions of specific requirements management techniques, the authors briefly review the evolving methods of Extreme Programming and Agile Methods and demonstrate ways of integrating effective requirements management practices into the framework of these software development methods . Finally, in Chapter 31 the authors provide a prescription that you and your team can use to manage requirements in your next project.

I hope that, armed with these newly acquired team skills, you too will be able to build the perfect rock or marble. However, it will never be easy; even with the best techniques and processes, and even with automated tool support for all of this, you'll still find that it's hard work. Moreover, it's still risky; even with these team skills, some projects will fail because we're "pushing the envelope" in many organizations, attempting to build ever more complex systems in ever less time. Nevertheless, the skills defined in this book will go a long way toward reducing the risk and thereby helping you achieve the success you deserve.

   


Managing Software Requirements[c] A Use Case Approach
Managing Software Requirements[c] A Use Case Approach
ISBN: 032112247X
EAN: N/A
Year: 2003
Pages: 257

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net