Well-designed code will is key to a good working software and also opens up a lot of doors in the future. But no amount of well-designed code will please your customer. Because what the customer want is for you to show them something working. Today we are going to talk about two ways to dive deeper into your software’s functionality, and give the customer that warm feeling in their in their chest that makes them say, yes, you’re definitely the right developer for this job!

All the tools and technieques you have been learing are terrific .. but none of them matter if you don’t use them to produce great software that makes your customer happy. And most of the time, your customer won’t care about all the OO principles and diagrams you created. They just want the software to work the wat that it’s supposed to.
But at the same time you don’t just do something just to how the client you have something, one of the most important part of software development is the analysis and design, which brings us to iterate deeper.
Iterate deeper
When it comes to developing software, there is more than one way to iterate into specific parts of your application. You have got to take on smaller spices of functionality, but there are two basic approaches to figuring out which small pieces to work on-and even what a “small piece” means in terms of your application.
You can choose to focus on specific features of the application. This approach is all about taking one piece of functionality that the customer wants,and working on that functionality until its compelete.
Feature driven development
Is when you pick a specific feature in your app, and plan, analyze, and develop that feature to completion
When you’re using feature driven development, you work on a single feature at a time, and then iterate, knocking off features one at a time until you’ve finished up the functionality of an application
Use case driven development
Is when you pick a scenario through a use case, and write code to support that complete scenario through the use case
With use case driven development, you work on completing a single scenario through a use case. Then you take another scenario and work through it, until all of the use case’s scenarios are complete. Then you iterate to the next use case, until all your use cases are working.
REFERENCES
Head first object-oriented analys and design – chapter 9
https://opensource.com/article/18/3/loop-better-deeper-look-iteration-python