On the set of Star Wars George Lucas was often bemoaned for only saying one thing after each take; “Faster, more intense!” This apparently became quite the joke among the rest of the production crew, so much so that when Lucas lost his voice, the crew gave him a single sign to hold up with just those three words on it.
Developing software, whether for yourself, a client, or your company, comes with the same pressures of the outside world. The same pressures not unlike working for Lucas… develop “faster” and with “more intensity” or rather more features. The recent emphasis on API-First Development has provided a great way to not only build better quality applications but satisfy the Lucas mantra in the process.
It is always easier to assemble something than to build the pieces. I would never buy anything from IKEA if I had to cut the wood, melt and shape all the screws, weave the fabric, and staple the foam. Instead I get prebuilt pieces of furniture that not only assemble into a very nice couch but can also be made into a chair. Their focus on the connectivity of the building blocks transforms me from woodcutter into furniture assembler. Subsequently, I am sitting on said couch right now typing this blog rather than picking splinters from beneath my skin and wondering how long it will take me to dye the fabric to the color I want.
The same speed is being realized as the tech industry embraces API-First Development as a paradigm for application development. This is creating an industry focused on connectivity—both with an application and between systems. Developers can now connect to systems with highly defined public specs whether they are needing a payment system, email, or other feature. Within systems features are individually more stable and scalable while being significantly easier to bolt together. Between companies or different applications, data transfer is straightforward without larger development efforts to create custom linkages—work that slows even the most agile of teams to a halt.
More Intense (feature-rich)
There is a good argument to be made for focusing on a small core set of features or offerings for your customers. That said, the pressure to continually add, improve, or replace features can be overwhelming. Not just in shear number of features but in time needed to build, integrate, and deploy. Subsequently productive forward movement of an organization slows and A/B testing of new stuff can become infrequent and costly.
With API-First Development, applications become an amalgamation of components that connect easily through API. An API that was not built after the application and subsequently not custom to whatever you are trying to connect to. In this world feature additions and connections to your own application become more streamlined. The burden of testing new features and configuring your system lessens significantly. A/B testing of new modules requires less time as the modules now are created separately and connect as would any good API rather than as the result of significant code changes.
The original vision of lean startup is rapidly coming into focus. With API-First Development practice and frontend platforms like BowTie, developers now have the means to quickly and easily ship new ideas, deploy features, and expand the breadth of solutions available to the market. Take that George.