Summary

We've looked at a few different practices that specifically target increasing our confidence when using an incremental delivery approach.

Refactoring helps us keep our software in a healthy and easy to maintain state. Using the analogy of the field, it's essential that we keep the weeds down because before we know it, we may be dealing with thickets or bushes. To do this, we regularly garden our code as we enhance or add to existing areas of functionality.

We can think of Test-Driven Design (TDD) or specification driven approach because it changes our thought processes regarding how we write software compared to a test-after pattern.

Refactoring and TDD support an emergent approach to designing our software. So, although we still require some architectural design upfront, we require less big-design thinking overall.

Also, the resulting TDD automated test suite helps us verify and validate our software is still working as intended throughout its development life cycle. 

Finally, CI, Continuous Delivery, and Continuous Deployment allow us to avoid the significant integration and deployment issues that plague waterfall projects.

All of these practices for building software keep our focus on delivering small increments of working software. They help us avoid the perils of Water-Scrum-Fall.

In the next chapter, we're going to look at how we incorporate lean thinking into our product development life cycle to help us deliver what our customer needs sooner.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.143.254.90