8.3. Summary

By establishing firm software contracts before beginning development, you can commit to an interaction model and a set of features without regard to how those features are implemented. That leaves you, as the developer, free to change the underlying implementation as circumstances require without changing the interface presented to callers. If you are free to make those changes, it will be easier to develop your application, and easier to maintain it over time.

Spend time up front thinking about the interface you present to callers and the data-storage requirements of you application. Those interfaces become the contracts that you establish both with callers and with your data-storage mechanism.

Get Code Leader: Using People, Tools, and Processes to Build Successful Software now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.