Wednesday, February 23, 2005

Agile or Fragile?

Another nice podcast from IT Conversations. I'm about 2/3 the way through this long podcast but already I definitely agree that it's well worth the 4 star rating.

Scott blends metaphors well when talking about software development and tools. Would you do software development with only one vendor's toolset? That's like using only one brand of tools in your toolbox. I think Paul Graham in his Great Hackers talk mentioned how the best hackers have a passion for great tools. A good hacker/developer/however-you-wish-to-be-called is particular about using the correct tool for the job, and is passionate about trying new tools and acquiring them for his or her personal development toolbox.

Another interesting discussion is around the idea of how would you build a project team? With generalists or specialists?

  • With generalists, no one has sharp enough skills to actually implement requirements.
  • With specialists, each person has their own domain-specific language and artifacts need to be handed off between different members of the team. Pretty soon you're tracking deliverables and maintaining way more documentation than necessary.

Of course the solution is to bring on folks that feel comfortable in multiple disciplines. Ambler calls these "generalized specialists". Since everyone on the team has at least a solid baseline in software development processes, a common (ubiquitous to use Eric Evans' term) language can sprout forth easily. Of course these folks will generally be more experienced and sharper all around (and be more expensive), but you get what you pay for. So as always, the philosophy of hire the best is manifested in some shape or form.


9:10:57 PM      comment []  trackback []