- Rule 1: Know Thyself, Know Thy Stuff
- Rule 2: If It's Not in the Spec, It Doesn't Get Made
- Rule 3: Good, Fast, Cheap - Pick Two
- Rule 4: Coding Time = Testing Time
- Rule 5: Never Forget That You and the Client Are in It Together, for the Life of Your Code
- Conclusion
Rule 5: Never Forget That You and the Client Are in It Together, for the Life of Your Code
Do you believe that once your code is in production, you can move on from the client? You and your client have a relationship that will go on for as long as their code is in force. Your code is you. Your code lives on with the client long after your body has left its chair.
Nobody out there knows your code as well as you do. It's easier and cheaper for you to work on your code rather than to hire someone new to learn it and enhance it. Caring third-party developers understand this reality. Thus, treating the relationship with your client as long-term and making yourself available to the client to maintain and enhance code not only is good business; it's the right thing to do. Maintaining a relationship in which you're available and helpful will save your clients time and money, provide you with continuing business opportunities, and create good karma for everyone.
NOTE
If your relationship with your client is uneasy or adversarial in the beginning, there's a strong possibility that this will be the tenor of the relationship throughout the lifetime of your code. It's not unusual for relationships that start in conflict to end in conflict. Ask yourself this question: "If I'm in contention with my client at the beginning, do I want this sort of conflict in my professional life, for the life of my code?"