Nate Duehr wrote: > The fact that Agile exists doesn't bother me, it's the amount of uptake > it has had in the industry -- a sure sign the software industry as a > whole hasn't really grown up yet and started to do real engineering. There are a few interesting ideas in the concept, and some of them can be used in other contexts, also. But there's one core concept that IME is one of the reasons for failure of the deal: frequent (and if needed deep) refactoring. Most programmers are scared to death to refactor code they haven't written -- but yet, that's one of the core necessities of Agile. Since there's not much architecture laid out at the beginning, programmers have to correct the course quite often -- which means quick and "agile" refactoring, often deep through the whole system. Having this ability is a great asset, and training it is a /very/ good thing IMO. But it's not easy to get a team of people who are all good at this... both at doing it, and at judging when is the right time to do it. Another problem with pure Agile is that IME it is a good thing to task people with tasks that play to their strengths. Keeps them motivated, and optimizes the results. This requires a certain amount of pre-planning and pre-architecturing, and separating the project tasks into individuals' tasks -- according to the individual strengths and weaknesses. That's kind of difficult when attacking the thing in an Agile manner. Other difficulties come up when you have systems that are made up of very different problem domains, and therefore are critical WRT the interfaces between them: mechanic and electronic hardware, firmware, PC interface software, or database backend, business layer, web server, browser frontend. The middle layer people usually don't like it if they have to rewrite code every other week because someone at the database backend didn't plan ahead and changes the table structure according to the growing needs every other week :) Gerhard -- http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist