How is software architecture decided in a scrum/agile project environment, if everyone is focused on just one small piece of the problem how is over all system design decided upon.

There doesn't seem to be a role where one person take ownership over the technical execution of the project so you could possibly end up in a situation where by everyone individually has done their job but the over all quality of the project isn't very good.

  • How did you come to this conclusion? Scrum/Agile is not void of upfront design. It just doesn't do as much as a waterfall project would, but it can still be fairly detailed and completed after the first sprint. You just never know. The goal is, to not do too much because it will probably change. – JeffO Jan 4 '17 at 13:50

Scrum does not differentiate the roles, but only knows developers. The team as a whole is responsible for design and architecture decisions.

From the scrum guide:

They are self-organizing. No one (not even the Scrum Master) tells the Development Team how to turn Product Backlog into Increments of potentially releasable functionality


Scrum recognizes no titles for Development Team members other than Developer, regardless of the work being performed by the person; there are no exceptions to this rule;


Individual Development Team members may have specialized skills and areas of focus, but accountability belongs to the Development Team as a whole.

  • 2
    I don't see how it is possible for a whole team to be responsible, if everyone is responsible then no one is responsible. – user1450877 Jan 4 '17 at 8:34
  • In the sprint planning the team may decide that a specific developer should take the resposibility for architectural decisions relevant in the current sprint, but there is no designated architect for the whole project. – Paul Kertscher Jan 4 '17 at 8:43
  • 1
    "if everyone is responsible then no one is responsible". This is classic nonsense beloved by those who want to know whom to blame... – David Arno Jan 4 '17 at 10:07
  • @David Arno I don't think accountability is nonsense. – user1450877 Jan 4 '17 at 12:40
  • @user1450877, It depends whether you are the sort of person that sees failure as the first stage in learning, or as something to ridicule and punish, I guess. – David Arno Jan 4 '17 at 12:49

How is software architecture decided in a scrum/agile project environment?

It's never "decided". You add features and refactor and eventually the team hits on a design that stops needing to change so much to add new features.

Agile doesn't mean you don't do a design. You do all the waterfall phases. You just do them in one sprint instead of six months to a year.

It means you get something in front of a product owner that isn't just a piece of paper.

Agile puts even more pressure on the design than waterfall does. Agile needs a flexible design because there is no guarantee that the requirements will be the same from sprint to sprint.

"Who decides" is whoever turns in code that follows a design that doesn't get refactored into another design.

I've checked up on projects years after I left them. I'm not nearly as proud of the ones where I happened to get to set the design as the ones where my design lasted more than 6 months of active development.

  • 2
    I think this point of view - though not wrong - is a little bit too simplistic. Some architectural decisions like "which programming language shall be used" cannot be reversed every second sprint. From the question, however, it is not clear what the OP has in mind when asking about architecture. – Doc Brown Jan 4 '17 at 13:51

Not the answer you're looking for? Browse other questions tagged or ask your own question.