1. Read and understand the problem to be solved.
2. Apply knowledge, experience, sound management and commitment.
3. Solve problem - using C++ skills.
4. Present results on time, to the standard required after extensive testing.
5. Provide ongoing maintenance.
6. Present appropriate invoices.