Scrum is not a simple thing. Many people ask me questions on different Scrum topics. I will publish my answers here.
What are the two essential features a Scrum Team should possess?
- It should choose how best to accomplish their work, rather than being directed by others outside the team
- It should have all competencies needed to accomplish the work without depending on others not part of the team
- It should use tools, processes and techniques approved by the Organization
- It should be flexible enough to complete all the work planned for the Sprint even if some team members are on vacation
Though the explanation mentions 1 &2 as the answer for this but shouldn’t option 3 also be the answer for this question. Development team should be using tools, process and techniques approved by organization and if there is any hindrance the scrum master should notice this as impediment and talk to respective stakeholders?
Mikhail: For me #3 looks like a contradiction to #1. As long as the team creates increments according to the DoD, it can use any techniques, tools, etc.
Mikhail: I think, Scaled Scrum does not prescribe any particular architecture. It only says the dependencies between teams should be minimized and we should inspect and adapt frequently. So, it is an ongoing process. Evaluating the current architecture and suggesting ways to improve it is a part of every Sprint.
As I remember, the open Scaled Scrum quiz contains only the following topics:
Q: A system is decomposed into elements like workflows, features, capabilities, etc. How it affects Scrum Teams on a scaled project?
A: It will be reflected in the implementation.
Q: Two ways how Dev Teams can ensure a good application architecture?
* Architecture is an ongoing discussion
* The DT should have a set of architecture principles and follow them
Q: How to start a big complex project?
A: Form 1-2 teams of best developers for implementing the core, add more teams later.
You see, there are no any specific architectural questions. So, nothing to read about this. 🙂
However, the exam contains references to SOA (service-oriented architecture). It is worth to get a high level view of SOA, or at least read its definition. For example at Wikipedia: https://en.wikipedia.org/wiki/Service-oriented_architecture
Mikhail: The idea is simple. All the other options are Scrum Events. Any event in Scrum is an opportunity to inspect and adapt. Sprint is not an event. It is just a time frame.
Mikhail: The Scrum Guide says: “The Development Team of the Scrum Team must define a definition of “done” appropriate for the product.” So, the correct answer is the Development Team.
From my point of view, DT owns DoD on behalf of the whole Scrum Team. So, it is possible to say “Scrum Team creates DoD”, however “Development Team creates DoD” is more precise.
Mikhail: The Product Owner is responsible for this.
In the Scrum Guide you can find that the PO is responsible for:
* Ensuring that the Product Backlog is visible, transparent, and clear to all, and shows what the Scrum Team will work on next;
At the Sprint Review:
* The PO explains what Product Backlog items have been “Done” and what has not been “Done”;
* The entire group collaborates on what to do next, so that the Sprint Review provides valuable input to subsequent Sprint Planning;
The Product Owner is the Lead Facilitator of Key Stakeholder Involvement. The PO is responsible for identifying the key stakeholders for the product and involving them as necessary throughout the development effort.
Mikhail: Of course, the team can proceed. Right, PB is the single source of requirements for any changes to be made to the product. If the Scrum Team does not understand what should be done next, it means the PB needs to be refined. The Product Owner should put his product vision as backlog items, maybe with help of the Development Team.
A product backlog item should contain everything necessary to be understood by any member of the Scrum Team. So, if a new UI markup needs to be developed, it should be a part (task) of some item (story) in the PB. When the markup is ready, it should be attached to the item.
So, the answer is not a simple “yes/no”. I would carefully look at the wording of the suggested answers to be maximally close to the point I described above.
Mikhail: I would say the PO should not usually do this. The PO must be the arbiter of product value and how it is represented to the team. Frequently key stakeholders do not know exactly what they want and how it can be achieved. This is a job for the PO to understand their needs, decide how they can be fulfilled with the maximum value.
Probably, in rare cases a key stakeholder can be invited as a domain expert to a product refinement session. However, the PO should have the final word.
Mikhail: No. The Scrum Glossary gives the following definition for Product Backlog: “It is an ordered list of the work to be done in order to create, maintain and sustain a product.” So, Scrum is not specific about exactly what a Product Backlog Item is or how it should be expressed. It is just “work to be done”.
The Scrum Guide gives a bit more details about a PBI: it should have the attributes of a description, order, estimate, and value. However, it does not change the “work to be done” definition much. For example, a Product Backlog can contain knowledge acquisition tasks, prototyping, technical chores etc.
However, there is one important moment: a Product Backlog should contain items that the Product Owner cares about, in the sense that they add clear business value and can be ordered by him or her. If there are some “Developer Stories”, i.e. removing technical debt, they can be introduced by the Development Team into their own Sprint Backlog, if they think such stories are necessary in order to help mitigate a technical risk.
Mikhail: The Scrum Guide says that everyone in the Scrum Team must understand what “Done” means. So, the PO should be definitely aware of the DoD.
However, only the Development Team is in a position to define the DoD, because it asserts the quality of the work that *they* must perform.
The quality asserted must be appropriate for the Product, which implies that the PO must be consulted. Failure to consult the PO may result in an Increment not being accepted, as the DoD would not then be shared.
So, the answer is a kind of “yes”. Formally the approval is not required, but practically the DT and the PO should agree on the DoD. Otherwise the PO may not accept the Increment. For example, the PO can find that the Product is too buggy, slow, hard to use, etc.
Mikhail: The Scrum guide says:
The Product Owner is the sole person responsible for managing the Product Backlog… The Product Owner may do the above work, or have the Development Team do it. However, the Product Owner remains accountable.
Creation of a PBI relates to PB management. So, certainly the PO is responsible for this. However, he can delegate this work to the Development Team.
If the Scrum Master combines his role with the Developer role (the most common situation), he is a part of the Development Team and can create PBIs when it is agreed with the PO. Otherwise, I think, he should not do it.
In my quizzes I have a similar question: who can change the PB? The answer is “The PO and the DT with permission of the PO.”
Mikhail: Non-functional requirements describe qualities of the system being developed. E.g. the system should be secure, extensible and have acceptable performance. The only way to meet such requirements is to have them as a part of the DoD and check every Increment against these criteria.
From my side I would mention that if some non-functional requirements relate only to a part of the Product (i.e. to some feature), most likely the requirements should be processed as a sub-task within this feature instead of the DoD.
Mikhail: The DoD helps to reveal the work necessary to complete a PB item. So, it helps to estimate how much time it will take. With better estimations the Development Team can better plan which items can be completed in the upcoming Sprint.