It is the team, not individuals, that deliver business value. Focus on creating effective, stable and collaborative teams because nobody is better than everybody.
In software, the development team is the unit of delivery and a productive team is so much more than a talented group of individuals. This applies whether you are building your own software or working with a supplier. Technical excellence and commercial experience are valuable assets but they contribute little without effective teamwork. This does not occur randomly; it takes time to build a solid working relationship. A strong company culture can help to align everyone with a set of shared values.
Ideally, a team should have everything it needs to deliver its objectives – it should be independent and empowered. Feature teams are preferable to component teams – a team that focuses on features is able to deliver updates on a regular basis. As a client, you can see early and continual progress; early delivery means a quicker return for your investment.
It’s amazing what you can accomplish when you do not care who gets the credit. – Harry S. Truman
When finding a new software supplier, pay close attention to the way their people interact and how team members communicate and collaborate with each other. The best way to do this is during a site visit. Effective teams have no interest in individual egos or finger pointing. Everyone helps each other to do the best job that they can. When someone makes a mistake, everyone learns from the experience. When things go well, congratulations go to the whole team. As Harry S, Truman once said, “It’s amazing what you can accomplish when you do not care who gets the credit”.
Development teams benefit from stability. People that know each other work together more effectively. From a client perspective, you become better acquainted with the members of a stable team. It’s easier to communicate and collaborate with people that you know and are comfortable with.
When team members leave, they take their knowledge and experience with them. This takes time and effort to replace. A high attrition rate leads to higher instability and the associated costs can be significant.
Context switching is another important factor to consider. A team that works on multiple projects will lose focus when moving between them. Software development is a complex business. People that excel have a lot of information stored in their heads at any given time. This information is lost when they move onto a different work stream. It’s like squeezing a wet sponge – everything of value suddenly disappears.
Understand your supplier’s approach to team building. For all but the simplest and shortest tasks, team stability will improve productivity. Focus on securing dedicated resources when building a long term relationship.
The working environment
Research shows that the working environment for a development team has a profound effect on its productivity. People need a relatively quiet and comfortable place to work. There should be whiteboards or the ability to write on the walls. Break out areas allow people to get together without disturbing those that need a little time to themselves.
“The manager’s function is not to make people work, but to make it possible for people to work.” – Tom DeMarco It’s not just the physical environment that matters, you should examine the supplier’s management hierarchy. The way that managers interact with the teams will also influence that way that people work. As Tom DeMarco states, “The manager’s function is not to make people work, but to make it possible for people to work.”.
This is something that you can’t really appreciate when it’s written down. Visiting a supplier in their workplace is the best way to understand how people work together. For cases where suppliers work onsite at your premises, the same considerations apply. Build a comfortable working environment for your supplier’s team. You will soon discover how a relaxed team converts coffee and biscuits into productive outcomes.
Investing in people
The happiest people do the best work – it’s a simple yet powerful statement. You may feel that, since you are paying for your customer’s services, you deserve nothing but unfaltering commitment. Of course, professional people will act responsibly and generally do the best that they can. However, think back to a time when you worked for a boss you didn’t like. Without mutual respect and support, people will not be as committed to working quite so hard. Treat your suppliers with respect, as equals, and appreciate that they are helping you to address your business problems.
Ask your supplier’s views on training, employee support, R&D programmes and other staff development initiatives. You want to know that the people you are paying for are being looked after. Technology moves fast, it takes considerable effort to keep up. Software developers have a natural curiosity that helps to define who they are. They will tend to invest time into staying aware of new and emerging technologies. A good supplier will ensure that their teams receive the support they need to do a great job for you and your business.