During summer holiday in school days, we cousins used to play around with water a lot. We used to get toy water guns, water filled balloons and use a water hose as our weapons. It was always and almost the person with the water hose hits the targets all the time. All the rest were having scarce resources and tracing the trajectory with guns and balloons was hard to hit moving targets.
Why am I talking about this, because it is the same in software development. The team with the water hose wins, this means whichever team is equipped to deliver any commit to production at will, is the one that will be able to deliver desired results and beat other teams.
So much has been talked about agile development but I have not seen it practiced in true spirit. It is usually about sprints, backlogs and masters; instead of building high performing, long running, well equipped teams.
Signs of teams that will meet business goals often and with precision
- The managers let work happen by setting direction, instead of managing work and allocation
- The teams know the financial & business impact and is able to take decisions that can help achieve it instead of decisions being top down
- Tests are first class citizens, there are safety nets at all levels from units to systems to overall, no compromise on tests
- 1, 2 & Automation. Automation is at all levels, removing any scope for repeated laborious tasks
- Power and ability to operate the production environment by the team themselves
- Well staffed and sustainable working schedule
- Equal respect for one another, no heroes or heroines.