21 Aug 2008
Ditching Donkeywork and Empowering Clients
The owner, Tom, had a solid coding background but virtually no experience with CSS and semantic markup, but since the changes went live has added several major new features and successfully styled them with minimal assistance. When implementing the layout I tried to allow for growth and learning, and it’s been rewarding seeing that pay off.
Yes, it might have been more rewarding financially in the short term to omit the explanations and future-proofing, charging to assist with each change, but pursuing such donkeywork is a low-end dead end. Every company I’ve dealt with where managers tried to milk trivial tasks for all they’re worth has suffered a slow decline as savvy clients and demoralised staff jumped ship.
The kinds of things developers should be looking to do (and clients should expect) include:
- Encourage spending that reduces maintenance and gets the client involved (content management, automation, etc.).
- Explain simple tasks the client could do themselves (e.g. logging into a hosting control panel to download a backup).
- Try to allow for some future expansion (and explain which features will be easier to add as a result).
- Challenge any requirements/limitations that will harm the project’s long-term prospects.
- Propose flexible but clearly-structured scheduling and billing for any ongoing maintenance work.
- Avoid technology choices and development practices that lead to lock-in; find positive ways to make yourself indispensable.