We at FCS believe in providing Full value to our customers
investment. Measuring and improving our programmer productivity
helps us achieve this objective. We try to create a measurement
culture in the software development teams.
Creating a Measurement Culture:
Fear is often a software practitioners first reaction to
a new metrics program. People are afraid the data will be
used against them, that it will take too much time to collect
and analyze the data, or that the team will fixate on getting
the numbers right rather than building good software. To avoid
this we started the Daily Build program. That helped us move
forward in the right direction.
Apart from this, we defined the daily deliverables for each
individual. He / she is fine, if they deliver their daily
deliverables. If the whole organization is delivering each
days output as planned, the whole team is going to reach
the goals.
Table 1. Appropriate Metrics for Software Developers, Teams,
and Organizations.
| Group |
Appropriate Metrics |
| Individual Developers |
- Work effort distribution
- Estimated vs. actual task duration and effort
- Code covered by unit testing
- Number of defects found by unit testing
- Code and design complexity
|
| Project Teams |
- Product size
- Work effort distribution
- Requirements status (number approved, implemented,
and verified)
- Percentage of test cases passed
- Estimated vs. actual duration between major milestones
- Estimated vs. actual staffing levels
- Number of defects found by integration and system
testing
- Number of defects found by inspections
- Defect status
- Requirements stability
- Number of tasks planned and completed
|
| Development Organization |
- Released defect levels
- Product development cycle time
- Schedule and effort estimating accuracy
- Reuse effectiveness
- Planned and actual cost
|
To help our team overcome the fear, we have educated them
about the metrics program. Tell them why measurement is important
and how you intend to use the data. Make it clear that you
will never use metrics data either to punish or reward individuals
(and then make sure that you dont). A competent software
manager does not need individual metrics to distinguish the
effective team contributors from the slackers.
Respect the privacy of the data. It is harder to abuse the
data if managers dont know who the data came from, Classify
each data item you collect into one of these three privacy
levels:
- Individual: only the individual who collected the data
about his or her own work knows it is his or her data, although
it may be pooled with data from other individuals to provide
an overall project profile
- Project team: data is private to the members of the project
team, although it may be pooled with data from other projects
to provide an overall organizational profile
- Organization: data can be shared among all members of
the organization.
|