Similar to the functioning of ecosystems in nature, a developer ecosystem is a virtual ecosystem of members that collaborate, depend, and sometimes compete on the same platform, technology, or API. The ecosystem is intended, and encouraged, to help enhance the value of a digital platform. The developer ecosystem is synonymous with the digital ecosystem, and these ecosystems should provide seamless interoperability between platform, software, and end-user device.
By enabling third-party development, developer ecosystems have proven able to accelerate innovation and develop new features and offerings much faster than companies that do not cultivate ecosystems. This has seen an increase in the popularity of developer ecosystems to the point that they have been more often seen as a critical platform component.
As mentioned above, a developer ecosystem offers accelerated innovation and increased opportunities for customers and partners. This has driven companies, such as Huawei, to work to build developer ecosystems. In the case of Huawei, this was done with an incentive of $1.5 billion, which was announced to invest in the development of the ecosystem. However, money does not bring developers to an ecosystem. Instead, building a developer ecosystem strategy can help inspire developers to create new products and help grow the utility value and user adoption of those new products.
The development of such a digital strategy includes a variety of questions. For example, with the developer ecosystem revolving around a closed-source software-as-a-service model, an open-source software model, or is the ecosystem intended to be a mix of both open and closed source, such as the one developed by Adobe. Further, the developer ecosystem needs a set of tools that exists to help developers through the stages of development they go through, including education on the development platform, favored commercial software, programming languages, and technologies to help create more value from the developer ecosystem.
Developers in a developer ecosystem have come to expect some of these resources, regardless of if the platform is a startup or an established household-name vendor:
- Self-service access to developer materials, such as API documentation
- Developer programs available at all times
- Lots of sample code that is simple to try out
- Quality of tech support with quick turnaround by various media
Aso, companies working to build a developer ecosystem can offer computer-based and classroom training and/or face-to-face developer gatherings where developers can help each other, collaborate, and socialize. This can help enforce and strengthen the community of an ecosystem.
Similar to this, the personal and interpersonal experiences developers have when engaging with developer platforms can influence how the ecosystem grows. Especially as there are more platform choices, attracting and recruiting developers to write software depends more and more on the community of developers and providers telling a strong story for users. Creating teams and support structures are integral components of building a developer program. And treating third-party developers as an extension of a company's product can be critical, especially as 68 percent of executives have said that developer ecosystems are the only way to innovate quickly and meet customer demands.
There are a variety of ways a company can provide support, tools, and work to create an actual community around a developer ecosystem. Some of those best practices, at a technical level, can include offering simple ways for developers to integrate their software with a platform. This can include creating easy and obvious ways for developers to get their software into customers' hands by creating app stores, helping with marketing, creating awareness, and by selling a lot of devices or host apps. A company has to offer technical and business reasons to commit to a platform.
As well, a company has to market their platform to developers they want to attract. This can start with clear communication about what a developer ecosystem offers, and what a developer can expect to be able to do in that ecosystem. This is not the same as marketing to customers. Developers are not a business model, and they do not pay to the developer ecosystem. Rather, the platform developer pays the developers.
There are a variety of other best practices, learned from early developer ecosystems:
- Commit to developers—which can mean stop restricting access to a platform or API. Developers want to try these things out before they commit to an ecosystem, and providing full access for free can increase the likelihood those developers will adopt an ecosystem. This can include building a developer center and investing in building tools for developers, from software development kits (SDKs) and how-to guides and sample applications. As well, ecosystems should be open to feedback from developers and their experience.
- Invest in the experience—developers tend to want easy, low-friction technology that enables them to get software running quickly. This means a developer ecosystem that can make a self-service experience, from offering a developer edition or full featured "sandbox" to providing API plans.
- Make content shine—this is key, and developers expect a platform to be well-documented, which can be helped by offering sample code in languages developers care about and cover common use cases. Content should also be easily discoverable, such that engineers can find what they need without asking.
- Build out evangelism and support teams—evangelism can be crucial in developer relations, and for those developing an ecosystem hiring someone dedicated to it who can focus on developer marketing can help grow the ecosystem. Further, a support team should also include an in-house expert that can support a developer ecosystem, and can ensure there are robust self-service support options.
- Measure success—however it is done, measuring the success of a developer ecosystem, whether through recurring revenue, numbers of sandbox accounts, or numbers of active developers, or any combination of metrics, can be important to understand how successful the community is, where revenue is generated, and what is most valuable from a revenue perspective.
Developers in an ecosystem do not require just platform technologies to create digital products, integrations, and apps; they also require a means to distribute the value they create to consumers. Developer ecosystems can use platform marketplaces to bring a digital economy and product ecosystem to consumers. As well, offering a developer marketplace as part of a developer ecosystem includes offering assets made by other developers—such as models, images, meshes, plugins, audio, video, or related assets—in a single place where they can be found and used. Sometimes these assets are purchased, and some assets are provided to the developer ecosystem for free.
Often these marketplaces are developed alongside the developer ecosystem as a support mechanism for the ecosystem and to help enable the ecosystem to be self-sufficient and strong. Third-party tools and interactions in this marketplace, and from outside the marketplace, further increase the value of the developer ecosystem. And providing such a marketplace, despite upfront costs, allows third-parties to cater to users and helps the developer ecosystem continue to grow and develop new products. This can further reduce the bottleneck of growing an ecosystem and developing new products with in-house built third-party integrations, and instead puts that development into a living marketplace ecosystem that allows third-parties to build and offer products and developers to continue to create, manage, and support integrations for the marketplace.
A platform and a developer marketplace are often two pieces of the same development strategy. Often a platform is thought of in layers, with each layer built on the other with interfaces at the boundaries, which means a developer ecosystem often forms on top of a platform or creates combinations in a platform. Sub-ecosystems can also form that can develop connections with multiple technical platforms and can develop their own, unique, fractal view of the world.
The difference can also be expressed in the approach taken by a company, with a developer ecosystem offering a community of interacting entities, with members in the ecosystem being organizations, businesses, and individuals that create value for one another in some way—often by producing or consuming goods and services. While a platform is the way a particular community or ecosystem is organized to interact with one another and create value. A platform is typically focused on bringing the ecosystem and reducing friction for interactions to take place.
The approach taken by a company can depend on the platform strategy chosen by that company, often expressed in two major platform strategies: the "product/service platformization" and the "ecosystem orchestration" strategies. The first strategy is when a user takes some particular data, activity, knowledge, or a more specific capability, turns that capability into a product, and builds an ecosystem around it.
The second strategy is when the goal is to mobilize an ecosystem through the removal of a friction or hurdle that makes the ecosystem suboptimal, in place of where the previous strategy seeks to commoditize a capability.