Around a decade ago now, I was spending most of my time with members of the United States Marine Corps. As an organization, the Corps invests significant time and energy maintaining a reputation as front-line warriors and instilling that mindset in new members. Marines so tightly couple their identity with being at the fore of the fight that they have a term specifically for any Marine who isn’t directly involved in combat: “POG” (pronounced: pogue). It’s a mild insult which means “Person Other than Grunt.” Essentially, there are front-line fighters (Grunts) and then everyone else (POGs).
In reality, those POGs make up a huge percentage of the USMC, and the work they do is invaluable in keeping the Grunts organized, supplied, connected, and alive.
While the stakes are very different, many professional services development teams project a similar attitude through the services they offer – which is to say they don’t offer any services except Code. We place Code on a pedestal
as the identity of our development team, as the only valuable thing we can do. In reality, there is a huge amount of valuable effort that goes into offering and subsequently delivering that Code that has nothing to do with the typing of the Code. There is planning and designing to roadmap the project; there is prototyping to de-risk difficult problems; there is collaboration and training to speed ramp-up time; there is assessment of existing functionality to identify opportunities for improvement; there is performance analysis to optimize user experience; there is documentation to ensure proper and valuable business outcomes as well as ease maintenance and hand-off efforts.
Yet the only service on offer to clients is Code. To stretch the analogy:
There is Code, and there are Services Other than Code (SOCs).
Leaving those SOCs unused or simply buried within a heap of Code is such a massive missed opportunity. There is value in helping a client define a project roadmap, even if you don’t end up implementing the project for them. There is value in de-risking an unknown by prototyping it, even if you don’t build the final version. There is value in identifying the cause of performance problems, even if the client then implements the fix themselves.
And where there is value to be had for your clients, there is opportunity for a profitable service you could offer that doesn’t involve months of protracted effort. Some of my favorite cozy SOCs:
- Performance Assessments
- Technical Roadmaps
- Technical Design Teardowns
- Customization Documentation
- Customization Prototypes
This list only scratches the surface of the value a highly capable development team could offer their clients if they just took Code off its pedestal. Each of these has value to the right client and is easier to scope, timebox, and deliver than a full Code implementation with fewer resources. Instead of presenting the classic binary choice to potential clients: “Either pay us a bunch of money to write Code or don’t work with us”, incorporate some SOCs and offer them several layers of your involvement at different price points. Change the client’s question from “Should I work with you or not?” to “How can I best work with you?”
What SOCs have you left stuck in the dryer? I’d be willing to bet that if you looked closer and gave it some careful thought, there are several portions of your Code service that you could break out and re-package as valuable services on their own.