Custom development at a product company

Located in: Product
Status: 🌿 Budding

Custom development is most likely an internal team or an external agency treated as an internal team. But it shouldn't stay that way. Custom development should be thought of as a first step towards an external ecosystem of value added partners. The architecture, team, and systems around custom development needs to consider how third parties would do it.

We do this because the end goal is to have a ecosystem of external development partners that build these integrations or custom apps. This is similar to Shopify, Salesforce, or Looker with their certified partner program. These partners could build custom apps or integrations for specific customers, or build niche-apps used by many customers (marketplace).

Important to note: The custom development team should act and behave more like a development agency than a product team.

Custom development vs professional services

I call this team/initiative custom development to make a clear distinction between it and professional services. To me, professional services is focused on activities like:

  • Implementation - Working with a new customer to configure and launch the product
  • Training - Working with a customer to train their team on how to use the product
  • Configuration - Expert setup or configuration of the product to complete a certain initiative

The folks on professional services are technical but not at the developer level. They are more expert/power users of the product and are unable to dive into the source code.

When to use custom development?

When our customers are large enterprise companies and are demanding one-off features or integrations that are disrupting the team from accomplishing their product work.

Custom development shouldn't be frictionless

The custom development team does not mean the organization is going to accept all custom work that comes in. You need to add some friction to the process so customers have to be absolutely certain it is something they want. Some ways to add friction:

  • Charge for the services - A lot of these teams charge around $250/hour/person for the work, this is on the higher end of fees for development agencies.
  • Have a fixed "menu" - Limit the services you offer to a fixed menu. You can always do off menu work if needed, but it shouldn't be the starting point.

Default to specific not generic solutions

The first iteration of this work should be specific to a customer to optimize for time to value/revenue and customer satisfaction. After a few more requests for the same functionality, the team should know enough how to generalize the solution and what should be configurable.

Resources

https://productschool.com/blog/product-management-2/improve-professional-services-product-first-companies/ https://www.linkedin.com/pulse/4-ways-build-services-business-offering-your-saas-startup-child https://bothsidesofthetable.com/how-to-make-sure-professional-services-don-t-take-over-your-software-company-8afdbb91d3b0 https://bothsidesofthetable.com/one-of-the-biggest-mistakes-enterprise-startups-make-270d4d5fc30