Build and Deployment Process for Web Applications


build of this configuration was able to use the build parameters already a part of the progressively more automated build process.

Leading e-Service Impacted the Trailing e-Service
The service LServe depended upon MServe. MServe implemented new utilities as it was supporting another web application. The new utilities at times caused build failures.

Did we meet our goals?
We achieved most of our goals—clean build, simple tools, build on demand, build and deploy together, and automation. It was a diligent approach to develop the build and deploy process in small steps. The approach resulted in a single script for both developers and the build miesters. A big bang approach normally is not goal oriented and takes a longer time to build a satisfactory process. The process revealed that the open source environment does require more attention and communication is the key to avoiding build failures.

The author would like to acknowledge Mark Dovi, Software Development Engineer, who actively participated in the implementation of this process. The later development was carried out by Petar Obradovic, Software Development Engineer, who is still enthused about making further refinements. The author greatly appreciates their support in preparing this manuscript and accompanied presentation.


  1. Steve McConnell, Daily Build and Smoke Test, Best Practices, IEEE Software. Vol. 13, No. 4, July 1996. 
  2. Michael Cusumano and Richard W. Selby, Microsoft Secrets, The Free Press, 1995
  3. Sanjay Mahapatra , Benefit from platform-independent builds, Java World, August 2000
  4. Michael Cymerman, Automate your build process using Java and Ant, Java World, October, 2000
  5. Bhushan B. Gupta and Steve Rhodes, Adopting a Lifecycle for Developing Web Based Application, Software Quality Week, San Francisco, June 2000
  6. Alan MacCormack, “Product Development Practices That Work: How Internet Companies Build Software,“ MIT Sloan Management Review, Winter 2001

About the author

Bhushan Gupta's picture Bhushan Gupta

Bhushan Gupta has nineteen years of experience in software engineering, nine of which have been in the software industry. Currently a Process Engineering Architect at Hewlett-Packard, he joined the company as a software quality engineer in 1997 where he was responsible for identifying key process areas to reduce rework. Based upon Hewlett-Packard's quality parameters, he has developed quality goals, quality plans, and software validation strategies for several products. In his current position he has promoted the iterative lifecycle, contributed to software validation planning and execution processes, carried out project retrospectives, and software process improvements. He has worked on use cases and their adoption for development of requirements and test cases. From 1995-97 he worked as a Systems Analyst at Consolidated Freightways where he contributed to the design and development of a Windows based logistic management system. During his ten years tenure (1985-1995) at the Oregon Institute of Technology Bhushan Gupta developed, planned, and taught numerous software engineering courses. He served as the curriculum coordinator for five years and resigned from his duties as an associate professor.

AgileConnection is one of the growing communities of the TechWell network.

Featuring fresh, insightful stories, is the place to go for what is happening in software development and delivery.  Join the conversation now!