When you start a new project, it's tempting to use the tool you know well. Conversely, sometimes it's tempting to use a new project as an excuse to learn a new tool. I present a number of questions you should ask yourself to help guide you balance using the right tool for the right job versus the constraints of real world projects.
6. Developer as
Knowledge Worker
• You’re paid for your knowledge
• Part of that knowledge is what
technical approach to take
• They may not take your advice
• You don’t know until you try
Musketeers.me
8. Don’t leave a
mess
If the client has a bunch
of .NET servers, giving them
a Rails app is kind of mean.
You can try to talk them into
outsourcing hosting, but...
Musketeers.me
9. What does it mostly
do?
• Manage text content?
• Social network?
• Specialized application?
Musketeers.me
10. What does it mostly
do?
• Manage text content? - CMS
• Social network? - Framework/DIY
• Specialized application? - Framework/
DIY
• But wait...
Musketeers.me
11. What will it
do
tomorrow?
Specialized application?
More content management?
Become the next Twitter?
Musketeers.me
12. Don’t force it
Just because you could
build Twitter with WordPress
doesn’t mean it’s a good
idea.
Musketeers.me
13. Whaddaya
know?
Don’t take on a plumbing
project if you’re a carpenter.
Musketeers.me
14. When’s it
due?
Short timeline + new tool =
unhappy client.
Short timeline = more need
for bootstrapped code
Musketeers.me
16. Ask yourself:
• What does the client expect?
• What does the client have/know?
• What does it mostly do?
• What will it do in the future?
• What do you know?
• When is it due?
Musketeers.me