Agile Software Development, Scrum part 2
In the previous article we talked about an Agile development history, its famous manifest and some Scrum appearance history. Today we will talk about Scrum itself, how it looks like from the inside, how it works also. As it had shown in a previous part of our article, Agile development is a bit more focused on a market needs and stakeholders’ interests comparing with some technologies like waterfall, for example (it does not mean that this technology is bad anyway). So as we had seen through the manifest – an Agile principles focused on delivering working software frequently, in short periods, also, on giving the development tasks to some self-organized teams. So let’s look at Scrum work process a bit closer:
Scrum teams themselves choose how to do a better job and do not wait for guidance from people who are not part of them. Cross-functional teams have all the necessary skills to do the job and do not depend on those who are not part of the team.
Command model Scrum is designed to optimize flexibility, creativity and productivity.
The Product Owner represents the product’s stakeholders and the voice of the customer. The Product Owner writes customer-oriented items (usually user stories), ranks them and add priority. Than he adds them to the Product Backlog. Product Owner is responsible for maximizing the value of the product and the work that performed by development teams. Product Owner is the only person in the team who responsible for Product Backlog.
Product Backlog management includes:
- Clear definition of the Product Backlog elements.
- Streamlining of the Product Backlog elements to optimize the achievement of goals and objectives.
- Optimization of work value of performed by development teams.
- Ensuring the visibility, transparency and clarity of the Product Backlog, as well as the display of the requirements on which the Scrum team will be working in the near future.
- Responsibility for the Product Backlog claims understanding by development team Backlog on the appropriate level.
Responsible for it remains on the owner of the Product. The owner is always one person.
All decisions of the Product Owner can be seen through the contents and order of the Product Backlog.
No one can force the development team to work on the other requirements.
Communication is a main responsibility of the Product Owner. To move product development in the right direction he must has ability to convey priorities and have understanding with team members and stakeholders. As the face of the team to the stakeholders, here are some communication tasks of the Product Owner towards stakeholders:
- demonstrates solutions to key stakeholders which were not presented;
- defines and announces software releases;
- broadcasts team status;
- organizes milestone reviews;
- educates stakeholders in the development process;
- negotiates priorities, scope, funding, and schedule;
- ensures that the Product Backlog is visible, transparent, and clear.
Development Team consists of professionals working for the development of a potentially “ready” for release product Increment in Each Sprint.
Increment is creating only by members of the development team.
The team consists of no more than 8, and no less than 3 people.
Development Team organizes its work itself. The resulting synergy is increasing the productivity and efficiency of the development team.
Teams have the following characteristics:
- They are self-organized.No one (even the Scrum Master) may point to the team with how to create a finished version of the product.
- Development Team is Cross-functional, have all the skills that needed to develop the product’s Increment.
- Scrum recognizes no other positions in the development team, just the Developer, regardless of the type of work performed by a man, this rule is no exception.
- Development Team has no subcommands, which would perform certain functions, such as, for example, the testing team, or business intelligence.
- Individual members of the development team can possess specialized knowledge in various areas, but the responsibility for the development lies on a whole team.
Scrum Master is responsible for ensuring that Scrum has been understood by all participants and works properly.
Scrum Master ensures that this rule is performed, watching that all team members adhere to the theory, practices and rules of Scrum.
Scrum Master is a servant and a leader for the Scrum Team, not usual project manager. He is some kind of buffer between development team and any distracting influences Scrum Master also helps people who are not members of the Scrum Team to understand which interactions are useful for Scrum Team, and which not.
Scrum Master responsibilities relative to the Product Owner helps Product Owner in many ways, for example:
- Find effective methods of Product Backlog management.
- Helps Scrum Team to create clear and laconic Product Backlog elements.
- Understands long-term planning in an empirical environment.
- Ensures that the Product Owner knows how to organize Product Backlog in order to maximize the Value.
- Understands and practices flexible methods development and management.
Scrum Master responsibilities relative to the development team:
- Conducts coaching to the development team to improve self-organization and cross-functionality.
- Helps team to create products with high value.
- Eliminates the interferences that prevents Team to work.
- Promote (facilitate) Scrum events if it’s needed.
Team coaching, where Scrum is not yet fully adapted and understood. Responsibilities Scrum Masters in such a teams:
- Adapts the organization for Scrum.
- Plans Scrum implementation stages in the organization.
- Helps employees and stakeholders to understand and run Scrum principles and empirical development.
- Initiates changes that increase the productivity of the Scrum Team.
- Works together with other Scrum Masters to increase the efficiency of using Scrum in organization.
Here we’ve looked a bit closer to the Scrum team elements. For the first view Scrum team structure looks interesting and for some people new, but it represents strong, command company structure, based on one center of decision-making (which works fine in most of the cases), but also has some democratic elements, such as self-organized team. As we know, even this democratic and creative element should be formalized (in it’s own way in every team) to reach some important job-process goals such as: one man management, tasks distribution, labor discipline, progress reports e.t.c. Strict way of organization showed it is viability over the centuries, so making this old practices in some modern and creative way it is always exciting and interesting, and productive also.
In the third part of our article we will look closer on the Scrum process elements, that cause Scrum effectiveness.
We are looking forward to meeting you on our website soshace.com