The Toolkit for Increasing Productivity of Software Teams
Sep 13th, 2010 | Concepts, Management, Practices, Productivity
Seasoned project managers will tell that delivery of software is result of many trade offs. The main trade off is between Time (when project will finish) and Scope (how much will be done). This post will show that using right tools you could gain improvement for both variables.
While it is possible to create orderly step-by-step process for increasing productivity of software teams, it will never be ideal – too many variations and situations will hinder it usefulness. I believe in set of useful tool that could be combined to craft custom optimal solution.
Strategies
There are several strategies that lead to increase in productivity – how many units of scope software team can produce within fixed time.
- Increase Capacity (Capacity) – increase capacity by hiring more people or increasing work hours
- productivity is increased as result of more resources and hours available
- Improve Value Stream (Value) – increase added business value on each step and reduce waste and overhead
- productivity is increased as result of optimized delivery of value
- Adaptat to Reality (Adaptation)– learn from practice and mistakes, validation of ideas by reality, adapt to changing situation
- productivity increased as result of early corrections and improving how things are done
- Empower Individuals (Individuals) – boost people knowledge, skills, morale and focus
- productivity is increased as result of higher individual performance and motivation
- Enhance Communication (Communication) – improve communication and mutual understanding inside and outside of the team
- productivity is increased as result of availability of necessary information, clarity of what should be done and exchange of ideas for implementation
- Organize Better (Organization) – structure team and assign roles for better coordination and decision making
- productivity is increased as result of better decisions and focus on important areas
- Expand Expertise (Expertise) – increase range of skills and services offered by team
- productivity is increased as result of better execution of necessary project activities
- Scale Externally (Externality) – outsourcing and involvement of external communities
- productivity is increased as result of involvement of more people outside of team
- Tame Complexity (Design) – manage complexity and provide simple and well designed solutions
- productivity is increased as result of reducing complexity burden on software development
- Preserve Quality (Quality) – use defensive tactics to ensure high quality
- productivity is increased as result of preventing system flaws and reduced effort to fix bugs
- People-oriented – people are the creators of software and have major effect on output
- Process-oriented – the way how people work has significant impact on outcome
- Development-oriented – development practices and approach to the system implementation matters a lot