Process Patterns

Building Large-Scale Systems Using Object Technology

Cambridge University Press/SIGS Books, July 1998   ISBN#: 0-521-64568-9

Scott W. Ambler + Associates
 
    Home  |  Articles  |  Books  |  IT Surveys  |  Podcasts  |  Contact Us  |  Announcements  |  Site Map
Order now!  

 

Overview

Organizations have moved beyond the pilot project stage and are now using object technology to build large-scale, mission-critical business applications. Unfortunately they are finding that the processes which proved so successful on small, proof-of-concept projects do not scale very well for real-world development. Today’s organization needs a collection of proven techniques for managing the complexities of large-scale, object-oriented software development projects, a collection of process patterns. A process pattern (see An Introduction To Process Patterns White Paper) describes a collection of general techniques, actions, and/or tasks for developing object-oriented software. An important feature of a process pattern should be that it describes what should be done but not the exact details of how it is done.

The object-oriented software process (OOSP) presented in this book is a collection of process patterns that are geared toward medium to large-size organizations that need to develop software that support their main line of business. I have chosen to describe the OOSP as a collection of process patterns that have been proven in practice: they are not the theoretical musings of an ivory-tower academic who has never built an application. The OOSP provides a framework which addresses issues such as how to:

 

The Strengths of Process Patterns

1. Describes the Initiate and Construct phases of software development.
2. Satisfies the demands of large-scale, mission-critical software.
3. Geared towards the development of business applications.
4. Provides proven advice based on experience, not academic theory.
5. Indicates how the entire object-oriented software process (OOSP) works together.
6. It is written by a software developer for software developers.
7. It is written in straightforward, easy to understand language.
8. Uses the industry standard Unified Modeling Language(UML) for all models.
9. Provides a significantly more comprehensive view of the software process than the Unified Process, providing techniques which can be easily adapted to extend and complete the Unified Process.


A Closer Look at Process Patterns

This book, along with More Process Patterns, actively attacks several myths of the object industry. First, the belief that object development is a purely iterative process is questionable at best. Although this might appear to be true for small pilot projects using OO technology, the reality for large-scale, mission-critical applications is that the OO development process is serial in the large and iterative in the small, delivering incremental releases over time.

Second, this book also disproves the myth that you can do less testing when you use OO technology. The reality is that the exact opposite is true, you need to do more. One of my fundamental beliefs, a belief shared by the vast majority of professional software engineers, is that testing and quality assurance should be performed throughout the entire development process, not just at the end of it. Furthermore, the reality of incremental development is that you need to perform more regression testing than with single-shot, "big-bang" development.

Third, this book disproves the myth that we only need to be concerned with development issues while building an application. The reality is that the concerns of maintenance and support are just as important, if not more so, than those of development. The OOSP explicitly includes both maintenance and support as part of the project life cycle, so as to put it in the face of everyone involved in the development process. There is a saying in the computer industry: A good developer knows that there is more to development than programming, a great developer knows that there is more to development than development. The Maintenance and Support phase is discussed in detail in More Process Patterns.

Fourth, I hope that this book disproves the myth that processes only result in needless paper work. My experience has been that process patterns, when applied intelligently, increase the productivity of developers. My experience has also been that when process patterns are applied less-than-intelligently, that when the paper pushers have too much influence in an organization, can decrease your productivity. The process patterns presented in the book have been proven to work in practice, how you choose to implement them will determine how successful you are. Organizations that keep the end goal in mind – that of developing, maintaining, and supporting software that fulfills the needs of their user community – will be successful with process patterns. Those that follow processes simply for the sake of following processes are likely to fail.


So what does this book cover? First of all, it is organized by the first two serial phases of OO development: Initiate and Construct. Second, each phase is then divided further into its iterative stages. As a result, the book is organized into the following chapters:

As I describe each serial phase and iterative stage throughout the book I address a series of project and cross-project tasks that are crucial to your success. These tasks are:


Who Should Read Process Patterns?

For the most part this book is geared towards senior object developers, project managers, information technology executives. Senior object developers will find that process patterns provide a framework for organizing their work and for increasing their productivity. Project managers will find this book an excellent reference for managing a large-scale development effort, and information technology executives will find it an excellent source of insight as to how to make long-term development successful.


What Will You Learn In Process Patterns?

By reading Process Patterns you will gain a thorough understanding of how the entire object-oriented development process works. Furthermore you will gain a detailed understanding of the Initiate and Construct phases of OO development, the phases where software is built, in a coherent and consistent manner.


How to Obtain Process Patterns

Amazon US

Amazon UK

Amazon Canada

Order now!

Order now!

Order now!

Other:



Reviews of Process Patterns

1. Five stars. The feature that sets this book apart is the way established OO principles and methods are seamlessly integrated into a complete and coherent development process. Chris Neatby-Smith, Computer Bulletin.
2. ComputerWorld Canada Review

 

Found a Typo?

I maintain a list of typos of all my books so that they can be addressed in future reprints. I'd really appreciate hearing about anything that you find.

 

Related Resources

UML

 

Let Us Help

We actively work with clients around the world to improve their information technology (IT) practices, typically in the role of mentor/coach, team lead, or trainer.  A full description of what we do, and how to contact us, can be found at Scott W. Ambler + Associates

 


Disciplined Agile Delivery: The Foundation for Scaling Agile Agile Modeling: Practices for Scaling Agile Agile Data: Practices for Scaling Agile EnterpriseUP: Agility at Scale AgileUP: Towards Disciplined Agile DeliveryAmbysoft Inc. Software Development Practices Advisor Scott Ambler + Associates Follow @scottwambler on Twitter!


Copyright 1998-2012 Scott W. Ambler

This site owned by Ambysoft Inc.