Custom software development requires a strong team. In fact, few software products exceed quality expectations without a good one. Team dynamics diagrams cover the walls of my office, and I have lectured many a young developer about the “Unreliable Ferrari”. This story is condensed in this question. “What would you rather drive to work; a Ferrari that only starts every so often; or a well-used 1974 Pontiac Firebird that always starts and gets you to work on time every day?” Regardless of technical skill, without reliability over time those skills mean nothing to the team, the software product and ultimately the customer.
Software development is meant to be a team-sport. A gifted solo developer can often produce work equal or exceeding that of a small team, but he will always reach physical limits. Ironically, this usually happens quickly if he produces superior work and is in high demand. Everything about the craft of software development is meant to multiply the power of a few, to handle bigger opportunities than one person could handle alone.
My friend Topher Morrison says it best in his latest book co-authored with John Spencer Ellis:
Essentially, you want to collaborate with the people and the businesses that share your common values and goals, and complement your skills, so you can offer each other mutual support and growth in your respective industries. Put simply, a collaboration economy is 1 + 1 = 3 (or even more).
We strive to communicate and hold ourselves accountable for including every client on the “team”. That is essential to the “custom” part of “custom software development”. You would never build a custom house without reviewing plans and visiting the construction site, with consistent involvement to ensure you get the dream house you want. This is also why we take special care to get to know our clients wants and needs.
…there are some universal lessons to be gleaned: Chemistry matters. So does having a common goal. And while there is no one way to build strong teams, you can not build a successful company without them.
Some of the best software development companies in the world actively seek team-players and partnerships, knowing that it provides unique opportunities to leverage strengths for a greater goal. The quality of the team is quickly becoming core to what separates the good from the excellent.