Tools: Enablement or Control
I've used a lot of tools during my software development career and it seems they fall primarily into two categories - tools that seek to control and tools that seek to enable.
Enabling Tools
So I prefer enabling tools over controlling tools - I'd much rather trust people and be flexible than constrain both people and the process.
Enabling Tools
- Concentrate on addressing one key issue rather than the whole development life cycle
- Don't dictate a particular work flow or way of working
- Are often written by people who use them
- Require a degree of trust between end users (so someone can ignore the agreed approach if they want)
- Tend to be quick and easy to use
- Are open and easy to integrate with other tools
- Are adaptable to many situations and ways of working
- Leading to: The ability to adapt to changing situations and constantly refine process leading to incremental improvements in productivity over time
- Come with a built in vision on how a whole series of activities should be done
- Dictate work flow and the ordering of activities
- Assume no trust between end users (you must follow the tool's defined approach)
- Tend to be complex and hard to use
- Only work in one situation, you change to work their way or you spend all your time fighting the tool
- Are often closed, proprietary and hard to integrate with other tools
- Leading to: A lack of flexibility and consequently much frustration when trying to respond to changing circumstances, ultimately this constrains the productivity of the team
So I prefer enabling tools over controlling tools - I'd much rather trust people and be flexible than constrain both people and the process.


0 Comments:
Post a Comment
<< Home