Addison-Wesley / Prentice Hall
My Instructor Resource Center : Log in or request access
Managing Iterative Software Development Projects
Kurt Bittner
Ian Spence
ISBN-10: 032126889X
ISBN-13: 9780321268891
Publisher: Addison-Wesley Professional
Copyright: 2007
Format: Paper; 672 pp
Published: 06/27/2006
Status: Instock
Suggested retail price: $54.99 Buy from myPearsonStore
Suggested retail price: $54.99
Buy from myPearsonStore
Net price: $34.64 (What's this?)
Iterative processes help software developers reduce risk and cost, manage change, improve productivity, and deliver more effective, timely solutions. Now, there’s a practical, easy guide to planning, organizing, estimating, staffing, and running any iterative project: Managing Iterative Software Development Projects. Kurt Bittner and Ian Spence introduce a proven approach that improves both agility and control, satisfying developers, managers, and the business. Their techniques can be used with any iterative methodology, and scaled from the smallest projects to the very largest. For everyone involved in iterative projects: team leaders, program managers, project managers, developers, sponsors, and user representatives alike.
Foreword xix
Preface xxiii
Acknowledgments xxxiii
PART I THE PRINCIPLES OF ITERATIVE PROJECT MANAGEMENT 1
Chapter 1 What Is Iterative Development? 3
Chapter 2 How Do Iterative Projects Function? 43
Chapter 3 Controlling Iterative Projects 77
Chapter 4 Are You Ready for Iterative Project Management? 123
PART II PLANNING AND MANAGING AN ITERATIVE PROJECT 157
Chapter 5 A Layered Approach to Planning and Managing Iterative Projects 159
Chapter 6 Overall Project Planning 203
Chapter 7 Evolution and Phase Planning 243
Chapter 8 Iteration Planning 291
Chapter 9 Iteration, Phase, and Project Assessments 339
Chapter 10 A Scalable Approach to Managing Iterative Projects 393
Chapter 11 Getting Started with Iterative Project Management 429
PART III APPENDICES 455
Appendix A A Brief Introduction to Use-Case Driven Development 457
Appendix B Outlines, Templates, and Checklists 481
Appendix C Examples 541
Index 601
View a Sample Chapter PDF:/samplechapter/032126889X.pdf
Kurt Bittner works for IBM on software development solutions strategy. In a career spanning 24 years, he has successfully applied an iterative approach to software development in a number of industries and problem domains. He was a member of the original team that developed the IBM Rational Unified Process and is a co-author with Ian Spence of Use Case Modeling, published by Addison-Wesley in 2002.
Ian Spence is a chief scientist and principle consultant at Ivar Jacobson Consulting, specializing in the adoption of the Unified Process and the iterative, use-case driven approach that it recommends. He has more than 20 years of experience in the software industry, including more than 10 years of experience in managing and participating in iterative projects. He is currently involved in the development of the next generation of lightweight software development processes and is a co-author with Kurt Bittner of Use Case Modeling, published by Addison-Wesley in 2002.
The Practical, Start-to-Finish Guide to Planning and Leading Iterative Software Projects
Iterative processes have gained widespread acceptance because they help software developers reduce risk and cost, manage change, improve productivity, and deliver more effective, timely solutions. But conventional project management techniques don’t work well in iterative projects, and newer iterative management techniques have been poorly documented. Managing Iterative Software Development Projects is the solution: a relentlessly practical guide to planning, organizing, estimating, staffing, and managing any iterative project, from start to finish.
Leading iterative development experts Kurt Bittner and Ian Spence introduce a proven, scalable approach that improves both agility and control at the same time, satisfying the needs of developers, managers, and the business alike. Their techniques are easy to understand, and easy to use with any iterative methodology, from Rational Unified Process to Extreme Programming to the Microsoft Solutions Framework.
Whatever your role–team leader, program manager, project manager, developer, sponsor, or user representative–this book will help you
Whether you are interested in software development using RUP, OpenUP, or other agile processes, this book will help you reduce the anxiety and cost associated with software improvement by providing an easy, non-intrusive path toward improved results–without overwhelming you and your team.
This title is a member of the The Addison-Wesley Object Technology Series Series, which also contains the titles below . You can also visit the
Addison-Wesley Object Technology Series Series page.

Guidance, advice, and a real-world case study teach the reader how to successfully implement the Rational Unified Process (RUP). The reader will find a management-perspective description of the RUP, and details on the effects that the RUP has on projects. In exploring an actual implementation, the authors present a definition of goals and metrics, advice on selecting strategies, and steps toward the development of an implementation plan. A discussion of implementation best practices and proven strategies is included. The book ends with descriptions from actual implementations, and a comparison of the content of the book with what can be found regarding this subject in the RUP itself.






Use case analysis is a methodology for defining the outward features of a software system from the user's point of view. Applying Use Cases, Second Edition, offers a clear and practical introduction to this cutting-edge software development technique. Using numerous realistic examples and a detailed case study, students are guided through the application of use case analysis in the development of software systems.
This new edition has been updated and expanded to reflect the Unified Modeling Language (UML) version 1.3. It also includes more complex and precise examples, descriptions of the pros and cons of various use case documentation techniques, and discussions on how other modeling approaches relate to use cases.



Aspect-oriented software development is emerging as a proven approach for
allowing the separate expression of multiple concerns, along with "weaving"
technologies for knitting together these separate expressions into coherent
systems. In other words, it offers great promise as an approach to simplifying
the development of complex modern software systems. Many expert observers
view AOSD as a worthwhile successor to the popular object-oriented paradigm
that is prevalent in contemporary software engineering. In this new book,
AOSD experts Clarke and Baniassad apply proven theory to the practical realm
of real-world development. The result is an applicable and easy-to-digest
methodology for simplifying and optimizing the development of thoroughly
modern software systems.

Aspect orientation promises to be the next big wave in software engineering,
following on the heels of the object-oriented paradigm. Proponents tout the
value of aspect orientation in providing the ability to add extremely useful
mechanisms such as security, logging, persistence, debugging, tracing,
distribution, performance monitoring, and exception handling. To state it
simply, it makes programming and programs more efficient.
This highly-anticipated new book demonstrates how to apply use cases and
aspect orientation in building robust and extensible systems. The authors show
you how to identify, design, implement, test, and refactor use case modules and
how to extend them. The book also demonstrates how to design use case
modules with UML including some enhancements made in UML 2.0 to better
support the modeling of use case modules.



Applying the object-oriented paradigm to the development of software requires individuals and teams to think and act differently than when designing procedural projects. While proponents of the object paradigm often say identifying objects is a simple and intuitive process, experienced developers know that this is not always true. The solution is the CRC (Classes, Responsibilities, Collaboration) Card method, a proven technique for identifying classes and visualizing and testing different class-based models during the design phase.
The CRC Card Book covers the CRC method from start to finish, illustrating its application in three different in-depth case studies which supply tips and pointers drawn from real world experience. The case studies are presented in the engaging style of a novella to demonstrate how personalities and organizational culture come into play when using the CRC technique. C++, Java, and Smalltalk experts provide implementation examples in each language. The CRC Card Book demonstrates how to: - Discover classes through team brainstorming
- Refine project requirements
- Test the conception of the system and evaluate potential paths of collaboration using role play.
- Manage an object-oriented project.
- Implement a CRC design in C++, Java, and Smalltalk; all source code is available via the World Wide Web.
Includes language implementation examples from such noted experts as:- Java: Cay Horstman, San Jose State University
- Smalltalk: Larry Smith, IBM Corp.
- C++: Jeremy Raw, Interactive Software









In Effective COM, the authors, Don Box, Keith Brown, Tim Ewald, and Chris Sells, offer 50 concrete guidelines for creating COM based applications that are more efficient, robust, and maintainable. Drawn from the authors' extensive practical experience working with and teaching COM, these rules of thumb, pitfalls to avoid, and experience-based pointers will enable you to become a more productive and successful COM programmer.
These guidelines appear under six major headings: the transition from C++ to COM; interfaces, the fundamental element of COM development; implementation issues; the unique concept of apartments; security; and transactions. Throughout this book, the issues unique to the MTS programming model are addressed in detail.
Readers will gain a deeper understanding of COM concepts, capabilities, and drawbacks, and the know-how to employ COM effectively for high quality distributed application development. A supporting Web site, including source code, can be found at http://www.develop.com/effectivecom.






Iterative processes help software developers reduce risk and cost, manage change, improve productivity, and deliver more effective, timely solutions. Now, there’s a practical, easy guide to planning, organizing, estimating, staffing, and running any iterative project: Managing Iterative Software Development Projects. Kurt Bittner and Ian Spence introduce a proven approach that improves both agility and control, satisfying developers, managers, and the business. Their techniques can be used with any iterative methodology, and scaled from the smallest projects to the very largest. For everyone involved in iterative projects: team leaders, program managers, project managers, developers, sponsors, and user representatives alike.

This Second Edition of the popular text Managing Software Requirements focuses on this critical cause of failure and offers a practical, proven approach to building systems that meet customers' needs on time and within budget.
Using an approachable style, their own war stories and a comprehensive case study, the authors show how students can effectively identify requirements by applying a variety of techniques, centered on the power of use cases. The book illustrates proven techniques for determining, implementing, and validating requirements.






The previous editions of this book have taught tens of thousands how to apply the concepts and ideas behind object technology to design successful software applications. This revision will bring the book up to date with the many changes in technology that have happened since the second edition was first published in 1994. New topics covered in the third edition include the Unified Software Development Process, UML, Patterns, Java, and Components.

In the Second Edition of his award-winning book, Grady Booch draws upon the rich and varied results of the hundreds of projects which have applied the notation and method presented in the First Edition to offer improved methods for object development-including a unified notation. The winner of the Jolt Cola book award in both editions, Object-Oriented Analysis and Design with Applications has been a major force in moving object technology into the mainstream of software development. With numerous examples, now implemented in C++, the Second Edition illustrates essential concepts, explains the method, and shows successful applications in a variety of fields. It also offers pragmatic advice on a variety of issues-including classification, implementation strategies, and cost-effective project management.


This book teaches the student how to use objects, frameworks, and UML notation to design, build, and reuse component-based software. Catalysis is a rapidly emerging UML-based method for object- and component-based development. It provides a clear meaning of and systematic uses for the UML notation. "The Catalysis Approach" explains how patterns can be characterized as model frameworks. Through the application of frameworks in requirements, specifications, architectures, and designs, students will find that all models contain recurring patterns of structure, behavior, and refinement. This opens the way to building models and designs rapidly by adapting and composing both generic and domain-specific modeling frameworks.





This book is a comprehensive guide to modern software development practices, as embodied in the Rational Unified Process, or RUP. The Rational Unified Process Made Easy will teach students the key points involved in planning and managing iterative projects, the fundamentals of component design and software architecture, and the proper employment of use cases. Students will learn that the RUP is a flexible, versatile process framework that can be tailored to suit the needs of development projects of all types and sizes.

The Rational Unified Process, Third Edition, is a concise introduction to IBM's Web-enabled software engineering process. Rational Unified Process®, or RUP®, Lead Architect Philippe Kruchten quickly and clearly describes the concepts, structure, content, and motivation that are central to the RUP. Readers will learn how this approach to software development can be used to produce high-quality software, on schedule and on budget, using the Unified Modeling Language (UML), software automation, and other industry best practices.

The two previous editions were written as easy-to-read introductions to the UML, and how to apply its notation and semantics to the unique requirements involved with the development of real-time and embedded systems. This third edition is no exception. Although the book's emphasis is on UML, it is also about capturing the requirements, structure, and behavior of real-time systems. The most significant change in this revision will be it's integration throughout the book of UML 2.0, and all indications are that UML 2.0 is even more accepting of the unique aspects of real-time and embedded systems development.


Refactoring is about improving the design of existing code. It is the process of changing a software system in such a way that it does not alter the external behavior of the code, yet improves its internal structure. With refactoring you can even take a bad design and rework it into a good one. This book offers a thorough discussion of the principles of refactoring, including where to spot opportunities for refactoring, and how to set up the required tests. There is also a catalog of more than 40 proven refactorings with details as to when and why to use the refactoring, step by step instructions for implementing it, and an example illustrating how it works The book is written using Java as its principle language, but the ideas are applicable to any OO language.

In this comprehensive introduction to Ada programming, programmers learn how to maximize the potential of this powerful language using an object-oriented methodology. Grady Booch and Doug Bryan combine their expertise to explain how to create large-scale Ada systems using good software engineering principles. Five large-scale Ada programming examples build upon these principles using an object-oriented methodology while illuminating topics such as database systems and generic tree packages. The Third Edition also incorporates more small-sized code examples, exercises based on the programming applications, a new chapter on Ada's impact on the software crisis, and an appendix on Ada 9X.

This book provides a clear and provocative discussion of the economics, metrics, and management strategies necessary to plan and execute a software project successfully. Royce discusses, with refreshing candor, some of the fads, follies, and excesses of the software industry, clearly differentiating proven techniques and obsolete methods. Paired with this insightful examination are compelling arguments for new management approaches that are sure to stimulate debate. The relative impacts of these new techniques are quantified through simple economic analyses, common sense, and anecdotal evidence. The resulting framework strikes a pragmatic balance between theory and practice that can be readily applied in today's challenging development environment. An extensive case study analysis of a large-scale, million-line project deployed successfully on schedule and under budget using these methods further illustrates their application.


This thoroughly revised second edition is based upon the authors' successful
training courses, and gives the reader a quick, focused tour through a proven
object-oriented analysis and design process. It introduces and explains the
need-to-know concepts and key elements of both Unified Modeling Language
(UML) and the Unified Process (UP). The book allows the reader to get up to
speed on successful techniques that can be immediately applied. The structure
of the book aims to give the reader as clear and uncomplicated a guide as
possible. It takes the reader through an introduction to UML, an introduction
to the UP, then covers the basics of software requirements and use case
modeling. The key aspects of the analysis and design stages are covered in stepby-
step detail, finishing off with implementation.

Series: The Addison-Wesley Object Technology Series
The long-awaited third edition of the best-selling UML book on the market; fully-updated and compliant with UML 2.0. This eagerly-anticipated third edition gets students thinking about efficient object-oriented software design using the latest version of the industry-standard for modeling software: UML 2.0. The author has retained the book's convenient, concise format that has made it an essential resource in courses introducing UML. The book describes all the major UML 2.0 diagram types, what they are intended to do, and the basic notation involved in creating and deciphering them. A true treasure for the software engineering community.



The latest version of the Unified Modeling Language–UML 2.0–has increased its capabilities as the standard notation for modeling software-intensive systems. Like most standards documents, however, the official UML specification is difficult to read and navigate. In addition, UML 2.0 is far more complex than previous versions, making a thorough reference book more essential than ever.
In this significantly updated and expanded edition of the definitive reference to the standard, James Rumbaugh, Ivar Jacobson, and Grady Booch–the UML’s creators–clearly and completely describe UML concepts, including major revisions to sequence diagrams, activity models, state machines, components, internal structure of classes and components, and profiles.



This landmark book provides a thorough overview of the Unified Process for software development, with a practical focus on modeling using the Unified Modeling Language. The Unified Process goes beyond mere object-oriented analysis and design to spell out a proven family of techniques that supports the complete software development life cycle. The result is a component-based process that is use-case driven, architecture-centric, iterative, and incremental. The Unified Process takes full advantage of the industry-standard Unified Modeling Language. This book demonstrates how the notation and process complement one another, using UML models to illustrate the new process in action. The authors clearly describe the semantics and notation of the different higher-level constructs used in the models. Constructs such as use cases, actors, subsystems, classes, interfaces, active classes, processes, threads, nodes, and most relations are described in the context of a model. Object technology practitioners and software engineers familiar with the authors' past work will appreciate The Unified Software Development Process as a useful means of learning the current best practices in software development.



Fully updated and revised, Visual Modeling with Rational Rose 2002 and UML is a comprehensive introduction and tutorial that shows how to use a tool (Rational Rose 2002), a process (the Rational Unified Process), and a language (the UML) to successfully visualize, specify, document, and construct a software system. This timely new edition, written by the UML Evangelist at Rational Software Corporation, breaks the technology down to its essentials and provides clear explanations of each element. The book follows a simplified version of the Rational Unified Process from project inception through system analysis and design. The popular sample case study from the previous editions (a registration system for a fictional university) has been retained and updated, now better illustrating the iterative development process in practice, the UML in action, and the proper application of Rational Rose 2002. Newly updated appendixes demonstrate code generation and reverse engineering using Rational Rose 2002 with the C++, Visual C++, and Visual Basic programming languages. In addition, a handy glossary defines key object technology and software modeling terms.
Pearson Higher Education offers special pricing when you choose to package your text with other student resources. If you're interested in creating a cost-saving package for your students contact your Pearson Higher Education representative.
Copyright © Pearson Education, All rights reserved. Legal Notice | Privacy Policy | Permissions