What is the point of software consultancies?
A highly desirable software development team is one that is in-house, where a stable and consistent culture can be promoted that spans job roles, where managers, sales-people, analysts and developers are all pulling in the same direction. If people can invest themselves into the long term, then they will be able to attain a deeper contextual consciousness, able to reach a higher level of productivity and decision making.
I manage at a software consultancy, and a large part of the rationale has always been to create a happy and productive software development team, highly valued by the businesses we serve. How do we reconcile the value proposition of a development team that is effectively an outsourced agency, against the merits of one that is in-house?
Software is a difficult business
For a development team to function at a high level, it requires a culture of innovation with a license to make mistakes, a place where developers can feel safe and compensated in their careers, leaders who champion openness and humility, knowledge sharing and a sense of playfulness. The business will need an excellent standing in the developer community to attract new hires and be able to scale.
Dysfunctional development teams are easy to find - be it bloated costly projects dependent on cycling in freelancers, or tightly micro-managed hierarchies that follow process dogma. It is still commonplace to find organisations where talented developers are referred to as the 'techies', to be pushed down below the architects and scrum masters.
Software development is an expensive and difficult business to get right.
The point of consultancies
Consultancies can bring prefabricated order into the primordial chaos. They can land in a vetted team with an established leadership model in place, an existing culture, and a mass of project experience to mine from. One of the hardest aspects of building a development team is the team dynamics and making it through the storming phase. Consultancies are brought in to hit the ground running.
Once the boat has been put safely out to sail, with the choice of technologies bedded in, then honourable consultancies can help the client to grow their own long-term team, paving the way for the best of all worlds.
Technologist, System Architect, Engineering Leader & Engineer
7 年Great article, Jon :-) I think that outside help can be really valuable in many different stages of a company's life, and in many different disciplines, software being one of the ones where really I am sure that it can. A cohesive team that is always pushing boundaries and drawing on a much wider experience horizon can offer an internal team some really exciting and powerful approaches, and as long as the internal team is nurtured and supported by the consultants __and__ their own company I think that the process can be really beneficial. I would absolutely hire in a good / recommended consultancy either to get a project moving while hiring happened in the background, or to break out of bad cycles of practices and dogma that were clearly not helping, or indeed if other reasons presented themselves.
This is exactly the decision I faced when I hired Juxt! I had to put together a team of top quality devs in a hurry but we didn't have time to interview or scout for talent and we didn't have an existing culture that would attract the kind of people we needed. Juxt had already done the hard work for us and could supply highly skilled people with a shared set of principles and approaches. The key for me is to work with a consultancy that takes a partnership approach and is adaptive to your needs rather than trying to dogmatically impose structure, process and people that you don't need.
Interesting dichotomy - well articulated.