Chapter 8. Adding New Features

Now that we have discussed all of the nuances of preparing a product backlog that is suitable for continuous deployment, it is time to finally get our hands dirty with implementation. In this chapter, we will keep following the Groceroo example to learn the ins and outs of developing features with the granularity of small, continuous deployments.

My recommended workflow when picking up new user stories under continuous deployment has a 1:1 correspondence to the structure of this chapter. First, we will have a thorough look at the user story and all of its acceptance criteria, ensuring that we can point to the area where the changes should be made. Then, we will dive into the existing code surrounding that area, to form a mental image of the status quo and the existing application architecture. Finally, we will form another mental image: that of the target state of our codebase, or our intended design for the new feature. What would the codebase look like after this feature is finished and released? How is the existing architecture impacted? Are today’s abstractions adequate, or do they need to be challenged?

Once we have a status quo and a target state that we can compare, that’s when the interesting work happens, and we can capitalize on the techniques discussed in earlier chapters. We need to plan out small and continuous deployments of our incomplete code to get from status quo to target state smoothly, leaving production unaffected.

During implementation, ...

Get Continuous Deployment 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.