- Create general design for the class
- Design specific responsabilities
- Define "secrets"
- Determine if to derive from another class
- Or if another class will be derived from it
- Identify key public methods
- Iterate through all these steps
- Construct each routine within the class
- Determine major routines, then create them
- This usually unearths more routines that need to be made
- Review and test the class as a whole
- Test each routine
- Test whole class as stand alone unit