× close Kiandra IT Logo Kiandra IT
Back to blog

The Business of Managing a Software Development Team

I have an apology to make and it’s to my previous employer… sorry but I could have been better at my job – I know this now with the gift of hindsight.

I was employed as an IT manager responsible for the software applications used by the company. The company had invested heavily in developing their own software suite thus creating significant competitive advantage. The justification for investing in custom developed software and the business benefits this approach usually provides I wholeheartedly agree with, but it was the way that the software was developed that I now realise could have been better.

I have to admit that when I first started in the role I, albeit very briefly, thought about outsourcing the team. Having heard horror stories of poor quality and lack of ownership from offshore development teams I quickly discounted the idea and continued on with what I knew best – hiring my team. After putting in some significant effort I managed to assemble a competent software development team, we were good at what we did and created some really important software for the company.

At peak times there were 20+ people on my team all busily coding, testing and providing technical support. I honestly felt that I was doing the right thing for the company. In my haste to do great things I lost sight of an extremely important fact, which was … the company was not an IT company, and I was unknowingly distracting it from its core business.

With the noblest of intentions and without really knowing I had inadvertently created a makeshift software development company. It wasn’t what I had set out to do. The environment I had created was good but had several shortcomings:-

  • I wasn’t able to truly invest in training for my team, partly due to budget and partly due to the constant pressure of project delivery. It is a fact that technology changes and at an ever increasing rate. Not investing in technology is like not servicing your car, eventually it will catch up with you and cause problems in the future.
  • Having to manage the technology preferences of so many people ultimately led to an unfortunate sprawl of programming languages. This led to higher support costs and the need to have specialist developers for a specific programming language. While I made attempts to standardise the technology we used I found it extremely difficult and challenging to have the team commit to a consistent technology stack and stick with it.
  • Keeping up to date with the latest industry trends. I remember thinking at the time that the continual flow of industry trends were just a fad, coming and going every year. At the time I didn’t realise or acknowledge that the latest industry trends could provide significant productivity and collaboration benefits – potentially reducing costs. Now show me a business that doesn’t want to reduce its costs and I will eat my hat.

My makeshift software development company fell short of what it really needed to be, and what you find in a true software development company. Having spent the last three years at a consultancy that has a core business of software development I now have a far better perspective on what a high performing team continually delivering value looks like, what it takes to manage one and how I would do things differently if I had my time all over again knowing what I know now. With my newfound knowledge here is what I would do differently:-

Instead of employing a software development team and creating an environment suitable for software development I would instead focus on the core business activities and the outcomes the company desired. I would partner with a company that specialises in building and supporting custom developed software, allowing me to spend more time aligning outcomes with the core business activities.

Even though I’ve said that in hindsight I could have delivered more business value by using a specialist software development partner it was probably a good idea that I didn’t because I had no real baseline on how to evaluate and compare each of their offerings. If you’re unsure like I was then here are five tips that you can use to help choose a suitable partner.

  • First and foremost is business alignment – Partner with a local vendor that has a core business which meets your company needs. If you need a technology partner that can deliver advertising campaigns then go with a local creative agency that has a strong technology presence and team. If you need a technology partner that you want to collaborate closely with and build a solution then go with a local partner who has a successful track record of delivering innovative solutions in a collaborative way. When evaluating a partner don’t be afraid to ask for references, making sure to validate statements that they make.
  • Secondly is passion – The technology partners you choose should be passionate about what they do and how they do it. The team at Kiandra are passionate about software development and we (non-developers) joke that the development team would code in their spare time after getting paid to code all day at work, the funny part is that almost all of them actually do.
  • Thirdly is user experience – Technology partners that use the right technology to put conversations and tasks together, and focus on simplicity, clarity and ease-of-use to create intuitive solutions that people want to use are more often than not going to yield you the best possible results.
  • Fourthly is security – Find a technology partner that understands, lives and breathes the current security landscape. Software should be developed with the peace of mind that the software solution is in the most hardened state possible at that time and has been rigorously tested prior to going live.
  • Finally is reputation – Find a partner that has a good culture and good reputation, having won several industry awards.

An incredible aspect about working in the technology sector is the opportunity to constantly learn. Whether it’s learning a new programming language, technique, architectural pattern or whether it is learning about yourself and how you can be better at your job. I know that I’ve learnt a lot in the past few years, especially about myself and the role technology can help in supporting in a business, and I hope to keep learning more.