Vous voulez voir cette page en français ? Cliquez ici.


or
Sign in to turn on 1-Click ordering.
More Buying Choices
Have one to sell? Sell yours here
Architecture-Centric Software Project Management: A Practical Guide
 
See larger image
 

Architecture-Centric Software Project Management: A Practical Guide [Paperback]

Daniel J. Paulish
4.5 out of 5 stars  See all reviews (6 customer reviews)
List Price: CDN$ 41.99
Price: CDN$ 34.58 & this item ships for FREE with Super Saver Shipping. Details
You Save: CDN$ 7.41 (18%)
o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o
In Stock.
Ships from and sold by Amazon.ca. Gift-wrap available.
Only 1 left in stock--order soon (more on the way).
Want it delivered Tuesday, May 29? Choose One-Day Shipping at checkout.

Product Details


Product Description

Book Description

Linking software architecture and project management- the key to successful software development.
Practical techniques that speed time to market, improve performance, enhance software quality, and reduce risk.
How to develop architecture-based cost and schedule estimates -- and use them as a framework for project management.
Based on lessons learned at Siemens, one of the worlds leading software development organizations. To fully leverage the value of software architecture in enterprise development projects, you need to expressly and consciously link architecture with project management. This book shows how, drawing on powerful lessons learned at Siemens, one of the worlds leading software development organizations. The authors offer insight into project management for software architects, insight into software architecture for project managers, and above all, insight into integrating the two disciplines to maximize the effectiveness of both of them. Learn how to develop cost and schedule estimates for development projects, based on software architecture; how to clarify architecture so projects can be more effectively planned and managed; and then how to use architecture to organize, implement, and measure the project iteratively as work progresses.
Daniel J. Paulish is a software project manager at Siemens with more than twenty years of experience in software engineering management. He has been an international lecturer on software project management, software process improvement methods and measurement. He is co-author of Software Metrics- A Practitioners Guide to Improved Product Development.

From the Inside Flap

As computer hardware provides more functionality at a lower cost, the need for new applications software is exploding. The world-wide-web is providing more information to more people at an ever-faster rate. Software products must be developed quicker, with increased functionality, performance, and quality. The pressure on the software engineers who are developing new products and maintaining existing products is increasing.

This book provides some support to the software project managers who are attempting to juggle the demands of meeting their schedule while delivering features with good quality. Our experience with observing and participating in many software development projects indicates that good design and project management skills go a long way in achieving successful projects. What is very clear is that it is unlikely that projects will be successful when the software architecture is not well designed or project management skills are missing. We have observed the connections between good software architecture and good project management on many projects, and we hope that some of the tips provided will result in better products.

Motivation

As an industry, we have not been very successful in managing successful software projects. Successful projects are those that meet their planned development schedule, provide the functionality promised, and deliver good quality software. From the 1995 Standish Group CHAOS report, their research on software projects reported that 16% of projects were completed successfully, 31% were cancelled outright, and 53% were substantially over budget and schedule and delivered less functionality than specified. By 1998, more projects were successful, with 26% completed successfully, 28% cancelled, and 46% over budget and schedule with less functionality Johnson 1999. Thus, things are improving, but we still have a terrible track record in our industry for successfully completing software development projects.

Background

The experience for writing this book was gained while managing software design and development projects in Siemens. As part of the Siemens Software Architecture R&D Program, a large number of Siemens projects have been investigated in order to capture how Siemens software architects design software systems. The knowledge gained from this research has been embodied within the four views architecture design approach described in the Applied Software Architecture book written by Christine Hofmeister, Rod Nord, and Dilip Soni Hofmeister 2000. As the four views approach was being developed, we had opportunities to participate as architecture design team members for new products being designed in various Siemens businesses. In some cases, we were also asked to plan and manage these new product developments and implement subsystems of components of the architecture. Thus, our project planning and management methods were developed in parallel with the four views design approach.

A concrete example of this correlation between architecture design methods and project planning methods is our architecture centered software project planning (ACSPP) approach described in chapter 2. We used this approach to develop cost and schedule estimates for the development projects, based on the software architecture. Since we were heavily involved with participating in software architecture design teams, we began to believe in the advantages to be gained when project planning was done in parallel with design. We were also called into Siemens companies as reviewers, from time to time, and we consistently observed warning flags for projects that either were not planned well or were missing a software architecture that could be easily communicated to the reviewers or the development team.

Over this same time period, the importance of software products and good development practices increased. We began to observe that our project planning and management methods were having a significant business impact in that they helped get software products to the market quicker and more predictably. Thus, our initial research interest was focussed more towards design methods and tools, but also we began to see the importance of good project management practices for meeting project goals.

As we became involved with real design and development projects, we realized that the key to effectively applying our methods rested with the working relationship between the project manager and the chief architect. These roles are described respectively within chapter 8 of this book and chapter 12 of Hofmeister 2000. When the chief architect and project manager work together as a decision making team, it's much easier to introduce and tailor the methods we describe herein within a specific development project. We also got to observe the problems that can arise when one individual tries to fulfill both of these roles for development teams that are bigger than a few people.

Not all the project management tips we present in this book are directly related to architecture design. But, enough of them are related, and we feel that a good software architect needs to understand some simple project management techniques in order to be successful within the chief architect/project manager leadership team. Good architects are primarily involved in making technical decisions, but they also appreciate the soft factors involved with leading projects. They often serve as sounding boards or critics of the project manager concerning any decisions that may affect the morale of the developers. Furthermore, we believe that project managers should provide a supportive environment to the chief architect and the entire development team, such that good design practices are consistently applied.

The biggest benefit of working within an industrial laboratory is that you have opportunities to do both research and development. In our case, we've had the opportunity to research methods such as the ones that are described in this book. But, we've also had the chance to apply the methods to real projects. As a result, the methods have been tweaked to be practical such that they are relatively easy to apply. Along the way, we've had the opportunity to design, plan, and develop Siemens software products that have been successfully sold in the market. We have attempted to conceal the real identity of these products in our examples and case studies, since we often describe real world problems that we have had to overcome. But, for the most part, the products that we have applied our design and project management methods to have been successfully developed and sold in the market.

The projects that we have worked on tend to be mid-sized projects. Typically, they have been in the order of ten to twenty software engineers. We cannot claim that our project management methods will work for very large or very small projects, since we have limited experience. Furthermore, since software development projects can last a year or more in duration, we have limited personal experience even for the types of projects that we have worked on. We will conveniently ignore these facts, and we will explain the various tips and methods as if they are great things that every project manager should do. However, there are no silver bullets within what we describe, although it may sound that way at times. A "leap of faith" will be required on the part of the reader to experiment with applying the methods we describe. Unfortunately, this is a persistent problem within most of software engineering since real experimentation is often very limited. Thus, our tips are mostly anecdotal in nature.

How to Use this Book

The primary audience for this book is software project managers. The secondary audience is software architects who must work closely with project managers. The third audience is software developers who are looking for insights on how to work within a project team, and who may be considering career changes to the first two groups. The book is mainly a collection of tips that could be used for software development projects. Each tip must be tailored to the unique circumstances of the project being worked on.

The tips are structured roughly in the sequence of planning, organizing, implementing, and measuring for which a project manager will be involved. However, there is no strict sequence of steps implied, since these management tasks will be iterated up until the product is released.

It's probably best to begin reading the planning Part II of the book, particularly the description of architecture centered software project planning (ACSPP) in Chapter 2. Once you understand the steps involved with estimating the schedule for your project, you can read the other chapters. The case studies in Part VI of the book should probably be read last. These may or may not be interesting to you, depending on the type of software that you develop. Examples from the case study projects are also included throughout the book.



0201734095P09052001

Tag this product

 (What's this?)
Think of a tag as a keyword or label you consider is strongly related to this product.
Tags will help all customers organize and find favorite items.
Your tags: Add your first tag
 

 

Customer Reviews

6 Reviews
5 star:
 (3)
4 star:
 (3)
3 star:    (0)
2 star:    (0)
1 star:    (0)
 
 
 
 
 
Average Customer Review
4.5 out of 5 stars (6 customer reviews)
 
 
 
 
Share your thoughts with other customers:
Most helpful customer reviews

4 of 4 people found the following review helpful
4.0 out of 5 stars Describes an ideal manager for software development, April 16 2003
By 
Charles Ashbacher (Marion, Iowa United States) - See all my reviews
(TOP 1000 REVIEWER)   
This review is from: Architecture-Centric Software Project Management: A Practical Guide (Paperback)
Constructing the appropriate team and environment for the creation of a software project is difficult because writing code is difficult. Many still object to the term "software engineering" because they feel, with a great deal of justification, that it is not yet stable enough to be a field of engineering. To them, a field of engineering has a set of formulas that define the rules for the use of raw materials. Engineers then construct their edifices by placing the proper numbers in the formulas and then building the structure using the results. Despite decades of effort to make it otherwise, software creation is still more art than engineering.
Paulish understands this and uses rules of thumb rather than formulas to describe the software construction process. It all starts with the software development plan (SDP), a description of the organizational structure of the process and the roles and responsibilities of all the members of the team. Short and primarily in outline form, it sets out the general format of how the goals are to be achieved. Experienced managers understand that this starts as a straw man, to be slowly solidified as all inputs are accepted and incorporated.
The hardest part of all software projects is the management of expectations, and it is the place where a manager can make the most difference. One of the quickest ways to poison a well functioning team is to allow unreasonable or inaccurate expectations to be inserted into the plan, either explicitly or by rumor. Paulish devotes chapter four to this, although it is too short. There is much more to this area than he lists in chapter four. Fortunately, this idea recurs in many other sections, so it does receive adequate coverage.
In the modern world, the management of a distributed workforce is fairly typical, and as anyone who has done it will tell you, in many cases the time differential is one of the smaller problems. Language difficulties also occur, but the real difficulties are the social and cultural differences. When you consider how difficult it is to communicate when you share the same cultural background, language, office space and are in proximity for eight hours a day, you realize how difficult it is to make yourself understood when you are separated by half a planet. Chapter 6 is devoted to this issue, but once again, not enough ink and paper are used to cover this critical area. The best piece of advice in the entire book is to undergo some form of focused multicultural training before embarking on an outsourcing project.
While there is a chapter devoted to metrics used to chart progress, it is largely devoid of formulas and expressions. Many of the metrics used are politely referred to as "controversial", which is often a euphemism for "widely disbelieved." Paulish firmly believes in leaving aside the firm tracking mechanisms and relying on hands-on efforts such as following the daily bug tracks and even working as an informal tester. This will give a manager a feel for the software that no other technique ever could.
One of the last chapters is also one of the best, where the simple question "What is a good job?" is asked and answered. This is critical, for software is one area where you can win the battle but lose the war. Many software projects deliver a functioning product and a team of dysfunctional members. The best managers reach the release date with a team that is tired and proud rather than just tired. Paulish rightly considers the staff turnover metric to be one of the key indicators of whether the project can be deemed a success.
Paulish describes a quality, maybe even an ideal manager, which is someone who absorbs a lot of the normal shocks of software development rather than amplifying them before passing them on. His ideas will work to make software development projects work over the long term and if you are in that group, then some of your attention should be focused on what he is saying.
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


2 of 2 people found the following review helpful
5.0 out of 5 stars Lynchpin of SEI's architecture and product-line material, Aug 15 2002
By 
Mike Tarrani "Jazz Drummer" (Deltona, FL USA) - See all my reviews
(REAL NAME)   
This review is from: Architecture-Centric Software Project Management: A Practical Guide (Paperback)
The ideal audience of this book includes anyone who works within, or who follows, SEI's (Software Engineering Institute's) extensive body of work on architecture and/or product line engineering, or who needs to develop a project management framework for software development. While the approach in this book is more suited for product-oriented development, it can also be used for major internal projects.

As the title implies, the focus on the project management framework is the architecture, and the key elements of the approach are planning, organizing, implementing and measuring. The latter element lends itself to continuous refinement and fits nicely into CMM level 4 and 5 organization, which is not surprising since the CMM is embedded in practically every guide produced by SEI.

What makes this book special, though, is the clearly defined approach that is systematically presented using case studies and frequent diagrams to orient you as you go through the book. More importantly, the author communicates a vision and shows how to put it into practice.

I like the approach because it lends itself to realistic project planning and estimation. By taking an architecture-centric approach it's easy to develop a complete work breakdown structure early in the planning phase, which provides a foundation for detailed estimating. I also like the way the approach separates, then integrates, team organization, requirements and strategy, risk management and release planning.

This is not another project management methodology, but instead, shows how to use architecture as the focal point of the project and use whatever specific PM methodology suits your organization to effectively define project deliverables and the final product. It's complete, realistic and will work in practice.

Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


2 of 2 people found the following review helpful
4.0 out of 5 stars Effective Software Project Management, Mar 9 2002
By 
Deependra Moitra (Bangalore, India) - See all my reviews
(REAL NAME)   
This review is from: Architecture-Centric Software Project Management: A Practical Guide (Paperback)
If you are a software project manager looking for ways to improve software development performance, then read this book. Architecture-Centric Software Project Management by Daniel Paulish is based on several years of real-life, industry experience and is full of practical advise for you to use and succeed with your software project. Software managers who have always wondered why their software teams don't/can't live up to their expectations should also find this book insightful.

Written in a simple straight-forward style, this books distills the practical wisdom gained for executing successful software projects. The essence of the book is Chapter 2 that captures the motivation for architecture-centered software project planning and outlines the core principles behind it. Organized in seven parts and divided in seventeen chapters, the book integrates in its presentation almost all the aspects of software project management while maintaining the architecture-centered view for executing software projects. Among its various chapters and topics the ones that particularly appealed to me are: Global Analysis (Chapter 3), Global Development (Chapter 6), Trade-offs and Project Decisions (Chapter 9) and Incremental Development (Chapter 10). In its part six, Paulish also presents two cases to illustrate the techniques described in the book.

With software projects becoming increasingly complex and globally distributed software development becoming a business necessity, Paulish's book should be of help to both the
seasoned and novice software project managers alike. After all, the most powerful ideas and techniques are those that are simple in nature but require a passionate and well thought-out implmentation, and this is what Paulish's book is about. Grab a copy of "Architecture-Centric Software Project Management" right away if you are looking for simple ways to be a effective software project manager and improve your project's
performance.

Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No

Share your thoughts with other customers: Create your own review
Want to see more reviews on this item?
 Go to Amazon.com to see all 6 reviews  4.5 out of 5 stars 
 
 
Most recent customer reviews




Only search this product's reviews



Listmania!

Create a Listmania! list

Look for similar items by category


Look for similar items by subject


Feedback


Amazon.ca Privacy Statement Amazon.ca Shipping Information Amazon.ca Returns & Exchanges