PSD Open Assessment Question - need clarity
The question: When a Continuous Integration build fails, who ideally ensures the build is repaired?
The sugested answer: The person who broke the build
The confusion: Currently it suggests that each individual has some particular 'ideal' responsibility in the team. It may not have beenas confusing even if it satted who 'usually' fixes the build instead of 'ideally ensures' - because itis most likely the developer who made the last change would be the first to notice it.
PS: I would have personally preferred highlighting collective ownership - saying whoever in the development team first noticed it as broken fixes it - if required with help from the person who last made a change that led the build to break.
Any thoughts on how I should understand this or any light you can throw on something that I may have misunderstood.
In CI where the code is built after each commit, when the build is failed, it is but obvious that the last change broke it. The quickest way to restore it is to revert that one change (commit). And this can be done by the person who committed it last. Hence the answer, the person who broke it.
You're right in saying it is collective ownership. And that will come in picture where the person is unable to implement the required code on his own. That is where other team members will come for help.
As a team member (specifically developer), every one is disciplined enough not to break the build.
> The sugested answer: The person who broke the build
Strictly speaking that would be the wrong answer (i.e. an incomplete one), because it is the Development Team that broke the build. In Scrum this is not a role which is sub-divided and so the associated responsibilities are always collective ones.
Admittedly that isn't very helpful. It doesn't provide guidance as to how a team should frame its response and self-organize to resolve the problem. To do that you need to think about how to apply specific practices within the Scrum Framework. For example:
- Impediments should be resolved as close as possible to the *time* at which they occur. This implies that the team member who first spots the breakage must take action, even if it is just to notify the person who broke it.
- Impediments should be resolved as close as possible to the *place* at which they occur. This implies that the team member who checked in broken code will also be involved in providing a fix.
- Action should always be taken to ensure that the problem does not re-occur. This implies that the whole team must be involved in inspecting and adapting the team process.
- In Scrum, the Scrum Master is responsible for the removal of impediments. This implies that the Scrum Master will coach the team to self-organize in the above manner, and will facilitate their efforts as needed.
Thanks Ian for the response. And that was precisely my understanding and the reason for the question as well.
Why is open assessment suggesting an answer that individually treats a team member who broke the build as a separate entity. Just to clarify: The 'suggested answer' here is as shown in the correct answer on the quiz - not what I was suggesting. And my recommendation is the PS note on my query - very similar to what you have mentioned.
Would wait on this forum to hear other points of view on what cold be the rationale for the pointof view - other than the basic understanding that we all have - that Manish has also mentioned - .usually the first one to find out is also the person who checked in last / broke the build - but using that in a quiz and call it out as 'ideally' makes we feel we are somehow diluting some of the agile values of one team approach and forward looking thinking.
You have to choose the best answer of those available. If collective ownership isn't an option then you need t
o work through those that *are* in fact offered. Can you recall the other possible answers that were presented?
I've found the original question and the answers provided:
When a Continuous Integration build fails, who ideally ensures the build is repaired?
A) The person who broke the build
B) The person assigned to the configuration management role within the team
C) The tester responsible for validating builds
D) The next person who needs the build to complete successfully
Of these available answers, I'd agree that the suggested answer (the person who broke the build) is in fact the best choice. B can be rejected on the grounds that there is no CM role within the team; C can be rejected on the grounds that there is no tester role; and D can be rejected because it fails to resolve the problem at the earliest opportunity.
I'd definitely agree however that positioning answer A as an "ideal" one is contentious. It doesn't value whole-team collaborative ownership of development problems and their resolution. It's just the least-worst of the options actually provided for this question.
Thanks Ian for taking your time to give detailed responses.