Chapter 2. Spotting Hidden Dependencies in Incremental Changes
Imagine that you work for a product company that is known for their massive knowledge base of high-quality documentation.
The business is fortunate enough to have very dedicated customers, many
of whom also write their own blog posts and articles to share helpful
ideas on how to get the most out of your company’s products.
To encourage the ongoing development of community-based learning
materials, you’ve been asked to build a public wiki that will
be hosted alongside the official knowledge base website.
You would prefer to implement this functionality as a standalone
project, but for strategic reasons that haven’t been fully explained,
your product manager expects you to integrate the new wiki features into
the existing knowledge base. The wiki will live in its own area, but it’ll share the same codebase and infrastructure.
The challenge will be to bring the wiki online without having any
negative impact on the existing website. On the surface this seems easy
because no old code will need to be modified to support the new
features, but deeper issues lurk below the waterline.
In this chapter…
You will learn about the many issues that can crop up whenever a
production codebase is gradually extended to fit a new purpose.
There’s no such thing as a standalone feature
You spend a couple days building out a minimal wiki, and the features you build end up looking quite similar to what exists within the knowledge base system. ...
Get Programming Beyond Practices 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.