Untitled Document
www.expresscomputeronline.com WEEKLY INSIGHT FOR TECHNOLOGY PROFESSIONALS
24 March 2008  
Untitled Document
Sections

Market
Management
Technology
Technology Life

Columns

Between The Bytes

Events

Technology Senate
Technology Sabha

Specials

HMA Bankbiz
UPS Batteries

Services
Subscribe/Renew
Archives
Search
Contact Us
Network Sites
CIO Decisions
Exp.Channel Business
Express Hospitality
Express TravelWorld
feBusiness Traveller
Express Pharma
Express Healthcare
Express Textile
Group Sites
ExpressIndia
Indian Express
Financial Express

Untitled Document
 
Home - Management - Article

Business Accent

The Free Cycle Development Model

Principles of open source and grid computing can be applied to increase business profitability says Vikas Mujumdar

The first part of this article appeared in our previous issue


Vikas Mujumdar

The Open Source Approach

Once it has been established that there are available free cycles, a model similar to that employed for open source software development must be adopted to harness those free cycles.

The figure below depicts how this might be accomplished.

Projects A, B, and C have resources with free cycles. These are utilized by Project D. Project managers for each of these projects collaborate with each other to enable the free cycle development model (FCDM). In this scenario, for the sake of simplicity, only one project is shown to be using free cycles from other projects. It is conceivable that there is a give and take of free cycles across projects.

To make this work well, excellent project management skills will be required along with a robust mechanism of effort estimation (under variable circumstances), dynamic work allocation, tracking, re-allocation, and validation, verification and merging.

There are several unusual situations a project manager will have to factor in when planning for and estimating schedule and effort in such a model:

Free cycles from a particular resource are not guaranteed and can vary through the course of the assignment.

Task re-allocation across resources will be much more frequent than in a dedicated group.

Time and effort will have to be budgeted for merging the deliverables from various resources in the grid.

Face-to-face interactions may not always be possible and hence written communication and documentation has to be detailed and unambiguous.

If working with fixed deadlines, the project manager will have to be able to reasonably accurately predict and track free cycle availability and utilization.

Nature of Primary Work
Work Assigned During Free Cycles
Production Support Coding, Reviews, QA, Documentation
Requirements Analysis Reviews
Design Reviews
Development Reviews
System Testing Reviews, QA, Documentation
UAT Support Coding, Reviews, QA, Documentation

What can be accomplished

It is conceivable that any work that an individual engages in during his primary work cycles, may be assigned to the individual during the free work cycles.

The list of activities that can be assigned to an individual to utilize the free cycles is almost the same as the complete list of activities an individual may be expected to be engaged in during regular course of business:

  • Coding
  • Reviews (Requirements, Designs, Architectures, Code, Documentation)
  • QA / Testing
  • Production Support
  • Documentation

Of course, it would be unrealistic to expect a software programmer to work on multiple complex development projects to utilize free cycles. Or to expect an individual engaged in QA to test multiple complex applications. Hence, a reasonable combination of work must be determined based on the qualifications and experience of the individual and the nature of the primary project.

The table below lists feasible combinations of work assignment.

Some Essential Ingredients

There are some essential ingredients in the recipe for a successful approach to the Free Cycle Development model. These are explained below.

  • Collaborative and adaptive project management

Typically, project managers are extremely possessive about the resources assigned to their project teams. This is understandable, since one of the key performance indicators for project managers is the delivery of a project within schedule and budget.

In this model, project managers will have to learn to share their resources to benefit other projects, while at the same time ensuring that their own projects are not adversely impacted.

The model itself, and hence the people and processes, must be highly adaptable and flexible. Even projects that follow the simplest model, the Waterfall model, do not always follow the plan. In the FCD model, there are many more variables, and quickly adapting the plan to realign with the new variables will ensure success. Hence, more intensive project monitoring and tracking is essential.

  • Collaborative development

Similarly, developers are very possessive about the code they write. Suggestions for improvement or modifications to their code are not very well received.

Developers must learn to understand their own limitations and accept the wisdom of others to achieve a deliverable of impeccable quality. This should also be taken as an opportunity for on-going learning.

  • Technical excellence

Every deliverable that leaves an individual’s workstation must be of the highest quality possible, limited only by the individual’s capability. At the same time, the resource must be open to the fact that anything can always be improved upon and embrace collaborative development.

  • Choice of architecture and technology

Some types of architecture, clearly those closer to what is referred to as “loosely coupled” architectures will lend themselves best to this model. The Service Oriented Architecture (SOA), which is the future wave, is one of the best examples of an architecture that is suitable for the FCDM.

  • Development processes and standards

Clear and uncomplicated processes must be defined for all activities in this model. Remember that this model assumes a group of distributed and only moderately homogeneous resources. Even more importantly, standards, preferably industry rather than proprietary, must be defined and adhered to when creating any deliverable in this model.

Some of the concepts of Agile programming, described in the Agile Manifesto, may be quite useful here.

  • Simplicity

Everything in this model, from processes and standards to design and architecture to the management approach, should be kept simple. The model inherently introduces a fundamental complexity and every other aspect of the operating framework for the model should be kept as simple as possible.

Benefits of the FCD Model

The benefits of a well-executed FCD model are many.

  • Increased throughput

The same number of total resources will deliver more work in this model by simply putting their free cycles to effective use.

  • Faster time-to-market

Because of this, not necessarily each and every project, but the set of projects as a whole, will be delivered faster than in the traditional approach.

  • Higher utilization

Each individual could potentially be utilized to 100% capacity, thus giving a higher return on investment.

  • Better quality

Due to the process of “harnessing collective intelligence” every deliverable will be of a quality that surpasses that which otherwise would have been limited by the capability of an individual or a relatively smaller group of individuals.

  • Increased resource motivation and challenge

Although a soft benefit, its value cannot be underestimated. In this model, every resource will be able to contribute across a variety of projects that utilize their time, skill and potential to the maximum. In such an environment, resources are bound to remain motivated, much more than if they were to feel trapped in a project that may or may not utilize their potential to the maximum.

Resource motivation and interest in this model could be further enhanced by a reward mechanism where an individual could get a bonus for free cycles put to good use for another project.

  • Higher profitability

All of the above is going to translate into what matters most to any business – increased profitability. Especially in the case of Fixed Price projects, if a project can be delivered ahead of schedule by simply using free cycles that cost nothing, there is going to be a significant increase in profitability since the price charged to the customer is fixed. Alternately, some of the resultant savings could be passed on to the customer, thus resulting in highly competitive pricing and increasing the chances of getting new business and revenue.

One would not be wrong in dismissing this as an Utopian concept. Cross-location project execution and global delivery management are still challenges that many companies are trying to overcome. This model requires significantly greater discipline and skills, both technical and managerial.

However, there are very few options left for software development companies to differentiate themselves and enhance their profitability. Shying away from a solution because it requires a greater skill or poses a bigger challenge would be a defeatist approach and would only speed up the progress to mediocrity.

This model will not help improve productivity, quality or any of the other attributes used to measure the efficiency of a software development firm. Some of the limitations inherent in the human resources employed will remain and other solutions must be found to overcome those problems.

Those who get the implementation right are going to be able to survive the tough times ahead.

The author has 15 years of experience in software development and is currently a Senior Delivery Manager with the PrimeSourcing division of i-flex solutions ltd. based in Mumbai. The views and ideas in this article are entirely his own and do not in any way reflect the views or ideas of i-flex solutions ltd.

 


Untitled Document

UNSUBSCRIBE HERE
Untitled Document
© Copyright 2001: Indian Express Newspapers (Mumbai) Limited (Mumbai, India). All rights reserved throughout the world. This entire site is compiled in Mumbai by the Business Publications Division (BPD) of the Indian Express Newspapers (Mumbai) Limited. Site managed by BPD.