You have a client with a website. Client wants to add new feature or fix some bug.
-
Listen carefully what client needs
-
Describe current logic that we need to modify. If logic is complex draw scheme on the sheet of paper. Don't describe details yet, forget about table names, class' names on this step.
-
Describe new logic. Also you could draw a scheme.
-
Ensure that you and client understand the final state of software.
-
Find places in code that will be modified by you during feature implementation.
-
Draw detailed scheme of current logic. Don't hesitate to use names of classes, methods, variables there, draw connections between classes.
-
Look at the scheme and try to split it into independent blocks. This will help you to create independent code modules.
- Implement feature in code