I was involved in a yammer question today and I get to this response. Nice one to add as a reminder to myself.
I think we must start to unlearn “old ways” and start to change the way we work. In the “old days” we used to have this nice DSLs to make a cool abstraction of our domains and they usually are smart enough to generate a great part of our solutions. Also, we have a “good defined dev process” from the requirements phase to the “judgement day” and its cover most of the steps and roles for our dev team.
Today there is a complete different way to work. We don’t need DSLs, and process; we need “smart people”, “professionals”. I mean, people who is intelligent enough to dedicate a part of their work time, to learn new stuff and later apply this knowledge into their projects. A practical example of this is the hated “architecture” (I never liked the term, I hated most the “architects”) In example: A good team let’s that architecture emerges as the software is built.
If you know your tools, and your domain; for sure you’ll start with GIT and a basic “let’s do something to add value” and a couple of sprints later you’ll add some CI (TFS, Team Build, or Team City), some DevOps (Release management, HP ALM, etc) or … whatever your development solution requires. If we go from scratch with a “full stack of products” we can probably add more issues than advantages to the team 😉
Greetings from Madrid