Thursday, June 3, 2010

The Software Team Structure

In India, Software organizations are mushrooming everywhere. With diversity in resources, skill sets and quick obsolescence of technology, structure team has become a crucial issue.

Mantei suggested three generic team structure.

1. Democratic Decentralized (DD)

This team structure is driven by group cohesiveness in making group decisions and solving problems with consensus. There is no group leader as such. A task coordinator is chosen for short duration based on skill or experience level. On completion of task, the coordinator may replaced by other.

2. Controlled Decentralized (CD)

Unlike DD, here team has a specific leader whose primary task is to divide the project into tasks and assign groups to accomplish them. He may choose a task coordinator for each group. The communication in group will be horizontal and between groups, communication will be vertical. Here groups and individuals are involved for decision making and problem solving.

3. Controlled Centralized (CC)

The structure is almost similar to CD, but communication and involvement differs. Communication is always vertical. Decision are made by top level management people. There is very little or no involvement of groups in decision making.


In the image, direction of arrow shows low to high transition. CC encourages less innovation compared to DD. Similarly decision speed is higher in CC compared CD.

Mantei suggested following factors for considerations before structuring a team

  • Difficulty of the problem
  • Size of the resultant program(s) in lines of code or function points
  • Team lifetime
  • Degree of Modularization
  • Required Quality and System Reliability
  • Rigidity of the delivery date
  • Degree of communication required for the project
Because a centralized structure completes tasks faster, it is the most adept at handling simple problems.

Decentralized teams generate more and better solutions than individuals. Therefore such teams have a greater probability of success when working on difficult problems.

Since the CD team is centralized for problem solving, either a CD or CC team structure can be successfully applied to simple problems. A DD structure is best for difficult problems.


Read more...

Umbrella Activities

The software engineering work can be carried out in three phases.

Definition Phase

It focuses on
What. In this phase, key requirements of the system are identified. A software engineer talks about Information to be processed, Constraints, Users, functions, performance etc. Broadly, it involves three activities

  • Information Engineering
  • Software Project Planning
  • Requirement Analysis
Development Phase

It focuses on How. This phase is all about implementation. It involves designing the system, deciding programming languages and architecture, writing code, designing database models etc. Broadly this phase is performed by following three activities.
  • System Design
  • Coding
  • Testing
Support Phase

It focuses on Change. It reapplies preceding phases on existing software. The change can be of following types.
  • Corrective Maintenance - changes to resolve defects.
  • Adaptive Maintenance - changes to accommodate new external environment.
  • Perfective Maintenance - extends the functional requirements
  • Preventive Maintenance - changes the software to reduce the deteriorate due to other type of changes
All these phases are complemented by a number activities like reviews, tracking, risk management, document preparation etc. These activities are called Umbrella activities.

Read more...

Monday, May 31, 2010

The paradox of Water & Diamonds

Human beings cannot even survive without water, whereas diamonds were mere ornamentation. Yet water had a very low price, and diamonds a very high price.

Adam Smith explained the paradox by arguing that value had two different meanings: One is called 'Value in Use'; and another, 'Value in Exchange'.

The things which have the greatest value in use have frequently little or no value in exchange;

On the contrary, those which have the greatest value in exchange have frequently little or no value in use.

Read more...

Followers

  © Blogger templates Psi by Ourblogtemplates.com 2008

Back to TOP