You are on page 1of 5

National University of Singapore

School of Computing
Software Project Management (CS5212)

Critique Paper:
Software Development on Internet Time
Michael A. Cusumano
David B. Yoffie
Summary

In order to improve the productivity and reliability of software development on internet


time, this paper described the “synchronization and stabilization” model which works
well for rapid, flexible software development.

“Synchronization and stabilization” is the technique of developing software that repeat


periodically to build up program for synchronizing the design of each member with the
other members of a project and to practise integration test and stabilization test.

The authors revealed how Netscape and Microsoft use the above technique to manage the
flexible correspondence, programmer’s creativity exertion and customer intention during
the internet software development.

Critique

This paper is written in 1999 by Michael A.Cusumano. According to the survey for
software development practice in 2003 1, over 64% of internet software vendor used the
“synch-and stabilize” model. Thus, we believe this model is still relevant in today’s
context of internet software development.

The Microsoft programmers did not go through very detailed design phases but went
straight from a functional specification to coding; they did so to save time and not waste
effort writing specifications for features that teams might later delete. This might become
a more widely followed practice in the US 1.

The key to project success is collaboration; team work and team building 2. This is the
critical success factor for small teams effectively acts as one large team building large
scale software. The author did not mention how the teams exactly communicate and
negotiate with each other, even when many teams are involved in projects.

3Critique3.doc 1
It would be useful if the author could give more details on how Microsoft did the test,
trouble-shoot and resolve the technical errors. However, the author only mentioned that
even Netscape did not have the resources to go through buddy testers, run a quick
regression test; automated and manual testing in their daily-build testing.

The article shows that using synch-and-stabilize can increase the performance. But the
author did not clearly state increase or decrease in defect rate after using synch-and-
stabilize model.

The author should give further analysis of how to drive out the vision statement and
functional analysis. Developers appeared to write more code per day when they had a
more complete functional specification1.

The paper did not include the primary engineering technologies used in internet software
development3.

The author mentioned about branching of the source code when a different team is
working on the same code version to revise another version; however there is no mention
of how the code merging is managed before base lining it to the next version.

It will be more complete if the author could include the software maintenance process of
enhancing and optimizing the deployed software (software release), as well as remedying
defects for internet software.

It is mentioned on the lack of review policy on the Netscape team; however, there is no
mention of the problems of not having this policy in internet software development
process and how it would contradict to the “synch-and-stabilize” model.

3Critique3.doc 2
The study is conducted by the two of largest internet software firms, Microsoft and
Netscape in US. Therefore, the internet software development practice in this paper does
not necessarily mean that it will apply to other software industry in India, Japan, Europe
and others.

Suggestions to improve the paper

The result of this paper revealed that it is important to have the ability to adapt potentially
uncertain and evolving customer requirements in internet software development.

In today’s software development age, the “synch-and-stabilize” model is very similar to


V and incremental development lifecycle model. These models are not only used in
internet technology development, it is also adopted in some software application
development area in various situations. For example;
 When the requirements are unclear in the early stage and evolve at a later stage.
 When the project scope is very big, and impossible to complete the whole project
in a single release within the given time line, this will result in many separate
releases and the need to synchronize and integrate with previous releases.
The author can include how to develop the internet software by using the V and
incremental development model.

We do believe the following information should have been included in the paper
 Project performance by using “synch-and stabilize” model.
 The benefits versus drawbacks of using the model in internet technology.
 The flow and minimum required process of the model.
 The importance of document and code review in the software development
areas.
 How and when source code branching and merging are performed for the case
of different team working on the same code version, and the importance factors to
be checked before and after performing these.

3Critique3.doc 3
 The significant roles and responsibilities of configuration and release
manager.

Grading of the paper and why

Success or failure of the software projects greatly depends on the right software
development lifecycle model. In this paper, author described how to use “synch-and-
stabilize” model to develop the internet software.

Based on business sense, author highlights locking a project into a particular design early
on might not produce the best product in a changing market. Using early beta and
prototypes can get the early feedback from customer on a design and projects could make
early adjustments based on feedback. Moreover, running regression or integration tests
with each build and conducting design reviews can reduce the defects.

We rate the paper 7 out of 10 given its simple explanation of step-by-step “synch-and-
stabilize” software development life cycle for internet software. It is a good paper in
understanding how the Internet and PC software firms balance flexibility and speed with
professional engineering discipline.

Reference

1. Software development worldwide: The State of the Practice (Michael Cusumano,


Alan MacCormack, Chris F. Kemerer. Bill Crandall)

2. Project Management Consultant (Andrew A.L. Tan)

3. Web Development: Estimating Quick-to-Market Software (Donald J. Reifer)

3Critique3.doc 4

You might also like