Let's say I have my vision and now my product backlog of items. That part is in writing and ready to be used. I am about to create my sprint(s). I am curious. When does a programming team sit down and say "let's use this platform, this framework, and language" and things like "We need a class here," or "I see a way we can use an Interface with that" and so on. When is that kind of talk going on?
Are there meetings that come before the sprint where someone decides for all teams - "We are going to use Linux, MySQL, PHP and CodeIgniter" and then one of the teams has a sprint to implement that infrastructure, while other teams wait for completion to start the other sprints (team A2 build a ui or security model and the features of it from the product backlog)?
Is this also where tools like trac would be used at the team level, when the sprints first begin?
Sorry if I'm all over the place with this. I've just never seen it done and just when I think I understand it I think of a new question.
Also it's beside the point but what do you name your teams? Bob's team, Smith's team, something more colorful?
Thank you.
Short answer is "It depends" as for the first part there could be other teams that dictate those kinds of terms to some extent. For example, on my current project some things are almost a given,e.g. IDE=Visual Studio, Bug tracking=HP Quality Center, Version Control=Subversion, O/S for developers XP Professional,etc.
There can be a Sprint 0 where some infrastructural elements are handled like a CI server, wiki for the team, making sure everyone has accounts in SVN, and other administrative things to get handled.
Team names like code names can come up at anytime though they can have different meanings as what someone can use for a team name in one place may not be so good somewhere else,e.g. Team Voltron may not go over well for those completely unfamiliar with the term.