You’re working with a new client. They want you to add some cool new functionality to their app. As your development team reviews the project, some disagreement arises about doing the coding in-house or turning to an SDK that already contains all the necessary tools. It is an important decision, and one that every development team has to carefully consider.
An SDK (Software Development Kit) is a broad term interpreted differently depending on the audience; yet it is generally understood as a set of software development tools that assist developers and software engineers in creating software programs and applications.
Choosing a Code Library
In a perfect world, developers could generate and control their own code and be entirely independent. But in reality, there are often times when it is smart, and necessary, to turn to a third-party technology vendor for help.
Two of the most common reasons:
- The team doesn’t have the coding expertise for this specific functionality
- The team doesn’t anticipate continual maintenance to the functionality implemented
Ben Brooks from the software design and development firm MartianCraft writes about unknown bugs “down the road,” and notes that using tools outside of your control makes you “inherently less reactive than you can be without your own code (e.g. adopting new OS features of standards).” Yet he is also clear there are often significant time and expense savings from using third-party libraries.
The Value of a Single Source
If a developer decides to turn to an SDK, particularly an all-in-one SDK, there are immediate and tangible benefits of working with one third-party, technology vendor. The most significant is certainty that the vendor controls all the components, and that software updates will come from one source and generally on a schedule, helping you to streamline processes and eliminate the headache of inconvenient update times.
Software developer Matt Behrens at Atomic Object has written about what developers should look for in third-party code. The vendor should:
- Take into account API stability by avoiding unnecessary breakage of code
- Value code quality by clearly documenting features and references
- Test its code well and provides detailed reports of its testing processes
- Carefully considers new features that provide general value and do not conflict with pre-existing code in the SDK
Retails Goes High Tech
As technology adoption becomes more and more common in previously low-tech industries, developers will increasingly be called on to work with clients in new and unexplored fields. Margins in retail and grocery, for example, are so tight that brick and mortar operations must find ways to leverage technology and gain a competitive advantage.
If a large retail chain, for example, wants to build a shopping app that allows for a variety of different in-store functions: scanning barcodes, providing price comparisons, initiating pharmacy reorders or checking in-store inventory, going with an SDK vendor with all the requisite development tools would eliminate the need to code from scratch or try to piece together code from different libraries.
For more information on the role of developers in the future of retail, download a free white paper on the evolution of mobile engagement technology and how it will reshape the retail experience.