Successfully leading software teams
Software Developers are a unique breed of people. We combine the discipline of science, the design of engineering, the creativity of an artist, to turn abstract ideas into reality. We live for the challenge of taking wild and crazy suggestions and making them work. The harder the problem is to solve, the bigger the rush when we solve it!
Over the length of my career at RIM and Mabel’s Labels I have had the honour to lead some extraordinary development teams. Every team has performed incredible tasks; made many an astounding invention, changed lives, broke barriers that were deemed impossible to break, and changed perceptions of what was possible. Most importantly of all – we had fun doing it. Every day I wake up I am eager to go to work and have more fun. I hear from many of my former teammates who passionately recall the days we were together. Many attribute to me that as their leader I set the tone, the environment, and the enthusiasm and spirit.
One of the most important characteristics about being a leader of any kind is to be true to who you are. Recognize and acknowledge your strengths, the things you do really well. Be aware of your weaknesses, the things you do not like to do. Understand the way you solve problems.
Building a team is about constructing an organization that works together. They must all be active and willing participants in sharing your vision. Whatever the goals are; if they are shared and everyone plays a role in bringing the goals to fruition, then everyone pulls together.
At RIM when we were developing the very first two-way interactive devices (the RIM 800 and 900) a team of four of us were working on the radio protocol, connection management and battery management software for the 800. This device was for use on the DataTAC network in USA and Canada. One of our goals was to improve battery life and still maintain the high responsiveness of our product. We put a proposal together and submitted to the carrier in the USA. This proposal was sent on to Motorola, who built the network and the “best” devices on the network at the time. They said there was no way that the new algorithm would work as we outlined. Talk about waving a red flag in front of a bull! We pulled together, solved some extraordinarily tough problems, and made it work – In just under 2 weeks! When we proved that the algorithm worked as we expected, the major consumers at the time dropped Motorola and bought our product. The team was dismissed en masse from Motorola. I was asked about hiring some of these folks – I said no. Their attitude did not fit the culture of our team – “nothing is impossible, we can do anything”. We proved it time and time again.
The team members must have skills of course. They must be able to do the technical work and possess problem solving skills and a “can-do” attitude to crack those tough problems. The members of the team have to be able to support each others weaknesses through complimentary skills. Your job as the leader is to allow them to develop their skills, to learn from each other, and to showcase their abilities. Each member of the team has value, their contributions may not be the same, but they must feel as though their work and their effort are as important to the overall success as everyone else on the team. This starts with you; your attitude, and your enthusiasm for all aspects of everyone’s work is infectious. The rest of the team will pick up on the values you place on each member and hold their colleagues equally high.
My leadership style is based on Hersey-Blanchard’s Situational Leadership theories. The basic theory is that you lead according to task and motivation level. If a person has high skill and motivation for a task, a leader needs to set the task, set goals, deadlines, and clear obstacles. Then let the person do what they do best. If that same person has low skill or low motivation for the task, then I am there to coach, motivate, and organize the person, to help them succeed. The less skilled and motivated the person for that task, the more structure and coaching is required.
At Mabel’s Labels the IT/IS team has grown from 3 to 8 over the past 2 years, with growth continuing as the company grows. By delivering excellent service to IT’s customers (production, marketing, sales, finance, customer service) we have become an integral part of every project. The six developers have strong coding skills and are highly motivated to produce software that wows IT’s customers. We both are confident that the job will get done well, and if issues arise, we will discuss in a mature manner. On the other hand, putting together a presentation to describe a piece of technology they find interesting for the rest of the company, is a task that they are less confident about. Some are motivated to expand their skills, others – not so much. This task requires much more coaching on my part, motivational, structural (how to perform the task), and how to have fun doing it. As the individual gains experience (but not necessarily motivation) to make presentations, the coaching style changes.
Another key aspect to leading Mabel’s IT/IS team is to understand the right amount of “software development process” to put in place; how to introduce and gain acceptance – and to make it fun. Last year we began adopting an agile methodology for development. We have introduced the concept slowly, with a fun angle at all times. Our daily scrums are fifteen minutes long, if someone is late there is a fine ($1). If I am late, the fine is $10. If our VP is late, the fine is $20. The fine money collected is used for a barbeque lunch, during which we invite other departments for team building. During the scrum we encourage free speech; all of us (including myself and our VP) are treated as peers. No judgement is passed; we all can share our difficulties and new discoveries and look to each other for help. Our sprints are three weeks long; the final Friday afternoon is free time to work on fun projects. Hand-writing out the stories for a sprint is painful, so various people have taken it upon themselves to automate this task. We have gone from manual calligraphy to using a touch screen. Over time we have added a page of documentation required to help with end of year reports. Cake is a reward for on-time submissions.
When you lead a team, understand and support the differences in everyone. Learn who they are, what each one is passionate about, what they are motivated by, what frightens them – share who you are with them. Be open, be honest. Listen. With your ears and your heart. Share your experiences, share your spirit; embrace their passions. Have fun and encourage fun. Let each person know how important they are to you and that their success is more important than anything else. Respect them. Understand that respect is earned not bestowed by a title. Earn their respect, trust them, and they will trust you back. Show them and tell them that you believe in them. Hold them up, and they will fly to unexpected heights.