I'm confused. Aren't you FDD/TDD/Agile guy? Doesn't the
design emerge from eliminating duplication during
refacotring? Why do you need an Architect? That sounds
like upfront design to me?
Bob: Even with evolving design there's room for upfront
architecture work, especially when requirements state
specific performance/robustness/scale requirements. Even
with Evolving design there's need for someone who knows
architecture, even if that knowledge will be applied
ad-hoc or pre-implementation.
There is no one right way (silver bullet). It depends a
lot on company, politics, team, project and million
other factors. I've seen project do no upfront design
whatsoever and projects that have CMMI style managements
with lots of design work upfront - all succeeding with
various Agile practices thrown in the mix in various
points in time.
>There is no one right way (silver bullet).
No doubt. I've found this is true. Trying to make me and
my team more agile but I always have nagging question
about how to inject architecture and use design
patterens if people just jump in a code features and
then refacotr them. I see bad and good in both.