InterviewSolution
| 1. |
What are the challenges facing self-organising teams and how can I help reduce the impact of these challenges? |
|
Answer» There are many challenges facing self-organising teams which can be grouped into the following categories: Organisational inertia. In organisations that have been around for some time, the way that things are done have become habits; many supervisor and management personnel are reluctant to change from fear of their job changing significantly or disappearing altogether Individual Team members’ inertia. Individual Team members may have fears about:
A Scrum Master must be aware of these potential challenges to self-organisation, look for signs of them and help both the organisation and Teams to overcome them. Below are 3 typical challenges faced by teams and the possible help that a Scrum Master can give:
However, the time to address the UNDERLYING problem to do with estimating is during the Sprint Retrospective when the estimates for each Sprint Plan PBI should be compared to ‘actuals’ to see if there was any common reason for the estimates being inaccurate or if there were one or two ‘one-off’ estimating mistakes. If there was a common or systemic reason for inadequate estimates, the Team must re-estimate the Product Backlog in the light of the new evidence; if the errors were due to ‘one-off’ inaccuracies, the Team should re-estimate similar User Stories in the Product Backlog. Emphasise with the Team that nobody is expecting ‘perfection’ straight away; the importance is that they take time to learn from their experience and apply that learning going forward.
The programmers aim is for ‘clean’ and simple code but the temptation is to produce something that works now without considering future maintenance needs. The fact that the resulting code may not be ‘clean’ and simple is known as Technical Debt.
There are 3 suggested solutions that a Scrum Master can encourage the Team to adopt to address potential Technical Debt problems:
Do not let the Team wait until the end of the Sprint to do the code reviews, have them do it once the programmer believes that he/she has finished. In this way, there is the shortest time between ‘finished’ and any refactoring that may be needed.
With TDD, no line of production code is written before a test has been written to test it, the test is run and is expected to fail. Only enough production code is written to pass the test. See Test-Driven Development. Practicing TDD does require an Integrated Development Environment that supports it and to be successful, all programmers must have the discipline to use it. Initially, some programmers may be reluctant to use it because of the perceived extra work; however, when they see that the maintenance effort is reduced by more than the extra initial work, they come to accept the practice. Team Member Leaves: Each Team member has a list of responsibilities and capabilities including their own specialisation, DoD checking and contributing to work outside of their specialisation. The Scrum Master should keep a list of all these responsibilities and capabilities so that when a Team member leaves the Team for some reason, the REMAINING members can distribute the leavers responsibilities and capabilities amongst themselves. If it is not possible for any of the remaining Team members to take on any required responsibility or a required capability is not available, the Scrum Master must raise this as an issue with the Product Owner and management; a Team member training may be the resolution to the issue or an additional Team member may be introduced to the Team. In the latter case, the Scrum Master should monitor how the ‘new’ Team are managing their self-organisation. |
|