Forums

By posting on our forums you are agreeing to our Terms of Use.

Please note that the first and last name from your Scrum.org member profile will be displayed next to any topic or comment you post on the forums. If you have left the first and last name fields blank on your member profile, your email address will be displayed instead.

All user-submitted content on our Forums may be subject to deletion if it is found to be in violation of our Terms of Use. Scrum.org does not endorse user-submitted content or the content of links to any third-party websites.

Emergent architecture: possible inconsistency in Developer Open questions
Last Post 04 May 2016 02:57 AM by Sanjay Saini. 16 Replies.
  •  
  •  
  •  
  •  
  •  
Sort:
PrevPrev NextNext
You are not authorized to post a reply.
Author Messages
Ian Mitchell
Veteran Member
Veteran Member
Posts:1676
Ian Mitchell

--
05 Sep 2013 11:28 PM
    I recently did the Developer Open test. There were a couple of questions which seem to establish a contradictory position regarding how architecture develops.

    First question: When is a system's architecture decided?

    A) In the beginning of the project, during Sprint 0.
    B) Throughout the project, as understanding emerges and the Development Team learns more about the project.
    C) Whenever the assigned architect can join the Development Team.
    D) It is designed along with the vision, before the first Sprint.

    The correct answer is listed as B. That's fair enough. An emergent architecture is reasonable proposition in an agile way of working.

    Second question: What are two (2) ways a Development Team can ensure a good application architecture?

    A) The Development Team plans a Sprint 0 at the beginning of a project with the objective of developing an architecture model used during the following Sprints.
    B) A Development Team doesn't need an architecture model in Scrum. The architecture emerges automatically as the Development Team adds functionality.
    C) The Development Team should have a set of guiding architecture principles that every Development Team member understands and follows when writing code.
    D) The Development Team should assign someone to the role of software architect whose job it is to makes sure a consistent architecture is developed.
    E) The Development Team plans some time each Sprint to discuss the architecture needed for the features planned in that Sprint.

    The correct answers are listed as C and E. This means that having guiding architectural principles (C) is considered a more appropriate answer than having an emergent architecture (B). The position established therefore seems to be inconsistent with that of the previous question.
    Bhuvan Misra
    New Member
    New Member
    Posts:21
    Bhuvan Misra

    --
    06 Sep 2013 02:26 AM
    "Automatically" may be a crucial factor. The Development Team need to work towards it.

    --Bhuvan.
    Charles Bradley
    Basic Member
    Basic Member
    Posts:411
    Charles Bradley

    --
    06 Sep 2013 06:49 AM
    I think Bhuvan hit the nail on the head. That answer implies that good arch happens magically or without forethought, and that is not the case. There is forethought, but we try to avoid "BIG UPFRONT FORETHOUGHT". Instead, we do it incrementally, not "automatically"
    Gunther Verheyen
    New Member
    New Member
    Posts:23
    Gunther Verheyen

    --
    17 Sep 2013 07:14 AM
    Assuming that the first question is clear, I'd like to add to the second question that an emergent architecture still needs guiding principles and agreed guidelines. We'll think about rewording answer B but it does hint at the team not paying specific attention to it, as if it 'automatically' (i.e. magically) comes into place. The first question states that architecture is being decided upon, whereas option B of the second question assumes it does not need a conscious decision.
    So, overall an architecture is not designed upfront, as the actual implementation of it emerges, but emergence is better against guidelines and agreed principles.
    Ian Mitchell
    Veteran Member
    Veteran Member
    Posts:1676
    Ian Mitchell

    --
    18 Sep 2013 12:13 AM
    Hi Gunther

    Perhaps:

    B) A Development Team doesn't need an architecture model in Scrum. The architecture emerges without fail as the Development Team adds functionality.

    I remain slightly uncomfortable with the use of the word "automatically". When I took the test, it left me thinking "OK...so what does scrum.org mean by 'automatically'. Obviously it can't be really automatic, because there's no button to press that would subsequently take care of the architecture. Hmm, perhaps they just mean that architectural emergence happens in a continuum, which it does".

    Gunther Verheyen
    New Member
    New Member
    Posts:23
    Gunther Verheyen

    --
    18 Sep 2013 07:04 AM
    Ian, thank you for the suggestion! Highly appreciated.
    Derek Davidson
    New Member
    New Member
    Posts:9
    Derek Davidson

    --
    04 Nov 2013 01:57 AM
    I suppose, to be even clearer (and as some correspondents noted), you could change the answer to read:

    B) A Development Team doesn't need an architecture model in Scrum. The architecture emerges magically as the Development Team adds functionality.

    nb: I realise I'm being pedantic about English language. But with so many non-native English speakers taking the assessments, I think we have a responsibility to be totally clear on questions.
    Gunther Verheyen
    New Member
    New Member
    Posts:23
    Gunther Verheyen

    --
    04 Nov 2013 02:01 AM
    Derek, you are absolutely right. It should be about assessing knowledge on Scrum, not on English. Thank you.
    Soumya Das
    New Member
    New Member
    Posts:25
    Soumya Das

    --
    09 Sep 2015 01:42 AM
    I am struggling with this architecture topic recently and scrum guide does not cover this topic. Please help me with below question. I have already checked the forum for this question and the correct answer is A.
    Just want to know why option “C” cannot be the correct answer. I remember in a forum I read we should not isolate architecture and the development team.


    1. You are part of a group of 500 developers that is responsible for building a large enterprise product. How should the architecture for the product be defined in order to effectively support this many developers working on the same product at the same time?
    a) A team should design and build architectural and platform structures that define how the functionality from each set of Scrum Teams must deliver and work with each other.

    b) Perform Subsystem Design. Teams should volunteer to develop specific areas of sub-system responsibility.

    c) The architecture will emerge during development through early Product Backlog items

    d) An architectural backlog should be created to ensure that architectural concerns are addressed in the product development process.


    Ian Mitchell
    Veteran Member
    Veteran Member
    Posts:1676
    Ian Mitchell

    --
    09 Sep 2015 10:32 AM
    > I have already checked the forum for this question and the correct answer is A. 

    Can you clarify where you saw this exactly, and how was the answer "A" evidenced?
    Soumya Das
    New Member
    New Member
    Posts:25
    Soumya Das

    --
    09 Sep 2015 07:36 PM
    https://www.scrum.org/Forums/aft/1340/afpg/2

    Also this question comes up in scaled scrum open exam. I got this one wrong.
    Soumya Das
    New Member
    New Member
    Posts:25
    Soumya Das

    --
    09 Sep 2015 07:36 PM
    https://www.scrum.org/Forums/aft/1340/afpg/2

    Also this question comes up in scaled scrum open exam. I got this one wrong.
    Ian Mitchell
    Veteran Member
    Veteran Member
    Posts:1676
    Ian Mitchell

    --
    09 Sep 2015 11:14 PM
    There's nothing in the thread you referred to that validates option A.

    I would again question the assertion that A is the right answer:

    > a) A team should design and build architectural and platform structures that define how the
    > functionality from each set of Scrum Teams must deliver and work with each other.
    >
    > If you chose option A, when would sprinting begin, and how would value be evidenced to the Product Owner?
    Soumya Das
    New Member
    New Member
    Posts:25
    Soumya Das

    --
    10 Sep 2015 02:43 AM
    Hi Ian,

    Thanks for your help.

    In the above link you can find

    Gabriel Pereira Borges>

    "Folks, I just completed an assessment where I scored 100% and this question about how architecture is handled in a large enterprise product was in. The correct answer is:

    "A team should design and build architectural and platform structures that define how the functionallity from each set of Scrum Teams must deliver and work with each other."

    Also I just took the scaled Scrum assement I came across same question. And the correct answer is

    "A team should design and build architectural and platform structures that define how the functionallity from each set of Scrum Teams must deliver and work with each other."
    Ching-Pei Li
    Basic Member
    Basic Member
    Posts:143
    Ching-Pei Li

    --
    10 Sep 2015 04:06 AM

    Posted By Soumya Das on 10 Sep 2015 07:43 AM
    "A team should design and build architectural and platform structures that define how the functionallity from each set of Scrum Teams must deliver and work with each other."


    I go for this answer.


    Minimizing dependencies between teams is the most important concern for scaled Scrum team when they are working from the same Product Backlog.

    A team should design and build architectural and platform structures to minimize the dependencies between team.

    An normal emergent architecture is not sufficient for a Scaled Scrum.

    The teams could implement the architectures during the Sprint, but the shared understanding structures that defined how the functionality from each set of Scrum Teams must deliver and work with each other should be designed.

    The design work may occur during the Product Backlog Refinement events.

    Ian Mitchell
    Veteran Member
    Veteran Member
    Posts:1676
    Ian Mitchell

    --
    10 Sep 2015 01:11 PM
    > a) A team should design and build
    > architectural and platform structures that
    > define how the functionality from each set of
    > Scrum Teams must deliver and work with each other. 

    Just to clarify, the exam does indeed assert that the above answer is correct.

    However, I question if this is the best answer, for two main reasons:

    1. In Scrum it is up to each Development Team to decide how functionality will be delivered, or indeed if it will be delivered by them at all. No other team can decide this for them, whether in-the-small or at scale. Nor can any one team define how self-organizing teams must work with each other.
    2. If another team designs and builds "architectural and platform structures" that define how other teams will then deliver their functionality and work with each other, how will that structure-building team evidence value to the Product Owner? In Scrum (including Scaled Scrum) each team must always deliver useful functionality, no matter how small. Delivery cannot be deferred to other teams.
    Sanjay Saini
    Basic Member
    Basic Member
    Posts:156
    Sanjay Saini

    --
    04 May 2016 02:57 AM

    I will go for option C if they change the word 'Early' with 'Every'

    c) The architecture will emerge during development through early Product Backlog items
    You are not authorized to post a reply.


    Feedback