You do not need an internal software development platform

Posted by Alan Barr on Sun 15 December 2019

Do you need an internal software development platform?

If you think you need a specialized platform for your business you are wrong. Delay building a specialized platform for as long as possible. Leverage the commodity infrastructure products such as public clouds along with a person to govern those resources for your teams. You want your business to feel the pain distinctly and there will be many other opportunities to pursue before it makes sense to have staff dedicated to internal tooling. Where leadership can shine is explaining the reasoning to not overextend the existing platforms either through tool sprawl or specialized team creation. It is unlikely there will only ever be one platform. Thoughtworks five pillars are a great starting place to think about what components of your software architecture you want to offer. Before you hire a team for this, ask yourself, do you have alignment within the Information Technology organization? If you do not have general alignment then the success of a platform team is going to be difficult or narrow. If your business has communication issues you will suffer because automation and code will be created to work around friction in communication. Years later your business may still be cleaning this up instead of scaling and pursuing new business ventures.

Platform Owner

Internal platforms require a leader with a strong sense of delivering value to the business. This person has the ability to craft meaningful relationships and alliances. An internal platform will be succesful if there is internal alignment, a clear goal from leadership on what difficult problems need to be solved and at least a year long roadmap for work to be done. The person in this role acts as organizational glue and as a diplomat to represent and understand all parties interests. This person is a filter of ideas and may do some discovery to find latent needs but in general the demand must exist. Will Larson's writings are incredibly valuable in how to communicate the challenges and potential value these platform teams offer. Otherwise traditional product owner/manager techniques should apply just as well here. Based on some experts I asked, Clement Kao and Matt LeMay, this position is unique to every business and this person needs to continually champion the external customers. Overcommunication is key and if senior leadership is unclear on the roadmap direction this person cannot be successful.

My Experience

Overcommunicating a "What's in it for me?" message is required for purposefully changing an organizational culture. I facilitated the writing of vision statements to create alignment across departments and interests, as well as narratives, business cases, and project posters to more intentionally share my thinking and direction on what will make a difference to the enterprise. It is easy to buy products and to build any random thing an internal audience asks for. The market will not reward these activities and though it may be satisfying to operate and offer a kubernetes; external customers do not know or care about this. The market will reward hard-won lessons and thought expended to solve real business problems. It takes signifcant amounts of coordination and communication with many people to make an internal platform successful and without this support this team can be setup to become a costly failure.