Thinking Agile - Part 2
Today I wanted to my continue my article on Agile Thinking with providing an additional list of things companies can look at outside of their development processes to keep more agile:
Employee Time Tracking
Unless you track your engineer’s time for client billing purposes, I honestly can’t think of a good reason for companies wanting to do this. While I have no doubt that there is a multitude of good data that can be received from employee time tracking, the truth is it's likely to frustrate the engineers more than anything else and as a result, they are unlikely to use it properly, thereby making any data gained from it fairly meaningless.
Focus simply on whether your engineers are delivering on their expected targets rather than on how they using their time. If you are doubtful that your engineers are working on the right thing, then you have a hiring or engagement problem, not a process management issue. Rather focus your effort on fixing this than on any form of time tracking.
IT Infrastructure and Tools
This might sound like an expensive option for companies to face, but find out what works best to make your team work optimally. For many roles in a team, having more than 2 monitors helps to improve their efficiency. Additionally, having engineers working with old or failing hardware is not only going to frustrate them but prevent them from working at their optimal level.
Same goes for tools. While it’s nice to reduce costs on your tools, you need to first ensure that your engineers have the right set of tools to maximize their delivery. Whether this is investing in better licensed proprietary software or taking the time out to allow them to develop something in-house which would better do the job would be something for you to look into and prioritize. Whatever you choose though, ensure that cutting costs on tools doesn’t cut costs on engineering productive.
I think companies should constantly review the amount of money they spend on IT Hardware and tools and be shrewd in the way they use their money. These decisions should never come at the cost of productivity though and sometimes companies actually spending more in this department can find incredible gains in delivery output and profit elsewhere.
I mentioned in the last article that a certain amount of bureaucracy is inevitable and at most times required. What is needed though to ensure maximum engineering though as reduced approval and accountability chain. The more management loops that changes and decisions require approval for, the slower the team is likely to operate. While you may face concerns that the team or their direct supervisor is going to mess things up, it’s an inefficient way to separate and like with my first point, is more of a hiring or engagement issue than something your company org structure is going to fix. Empower your team to succeed and make decisions and they will reward you with not only better productivity, but better quality too.
Agile is all about embracing change and if you have big management overhead, you're less likely to change at the pace which will keep you competitive.
Prioritize your quality
One of the barriers that many development teams struggle with as they move to becoming more agile is that of quality. It’s a known truth that pursuing absolute quality adds to your development timeline and companies looking to get updates out quickly and effectively will often look to invest less time on their quality to get things out early instead.
The long term effects of poor quality, both in fixing defects and customer satisfaction though is costly and companies should ensure that quality is never compromised for the sake of efficiencies. You can still become agile if you build efficient and reliable automation frameworks that can suitably test your application quickly and effectively. This might require additional investment in establishing the right framework and even mean hiring more engineers to focus on your quality – but it’s something to consider as you pursue agility in your company.
In order to pursue agility, keep thinking out the box. There is no predefined silver bullet that will help your company become more agile. Be willing to try things, reinvent your processes and look at every part of your company to find ways that can help you move in a more agile and responsive manner.