Читать книгу Agile Transformation in IT-organizations - - Страница 4

CHAPTER 3. IMPLEMENTING AGILE APPROACH IDEAS INTO PRACTICE. LET'S BREAK DOWN THE INSTRUMENTS AND TECHNIQUES

Оглавление

Let’s look at frameworks that are used to implement Agile Approach ideas into real practice, but first let’s explain what a framework is.

Framework is a ready-made set of tools that helps the developer to create a product quickly: a website, an application, an online store, a CMS system.

Imagine that you decided to assemble a toy car: it should drive and look almost like a real one. Obviously, there are several ways to solve this problem:

the car can be assembled independently, from scratch: create all the parts manually or with machining equipment, do electronics and electrics, paint everything. So you can control the whole process, but it will take a lot of time;

a similar car can be assembled from ready-made kits: body parts, engine, electronics will become modules that are important to choose and connect correctly. If desired, you can improve any module, but generally this is not necessary, everything will work right out of the box.

The framework is the same ready-made set, only for the developer. It saves the time and effort of a specialist who would have spent on creating basic things and correcting simple mistakes.


The most common Agile framework is Scrum.


Scrum is a set of rules allowing the team to establish a flexible workflow. Development is carried out in iterations, the goals of each iteration and the tasks of each team member are clearly outlined. Due to Scrum, companies can apply the principles and values of Agile and work on projects of any complexity. Agile and Scrum concepts are regularly confused, considering that Agile and Scrum are the same.


The difference lies in the scale of two approaches: Agile is a special way of thinking, a mindset. Scrum is an instruction for use. A clear plan describing each step of Agile implementing in product development. This is a methodology with specific stages, in which roles and events are clearly defined.


Scrum is based on empiricism and lean thinking.

EMPIRICISM asserts that the source of knowledge is experience, and decision-making is based on observations. Lean thinking reduces losses and focuses the main.

Scrum uses an iterative-incremental approach to optimize predictability and risk

management. It involves groups of people who collectively possess all the skills and experience to do the job, to share knowledge and acquire the necessary skills as needed.

Scrum combines four formal events for inspection and adaptation into a container event – Sprint. These events work well because they implement the empirical pillars of Scrum: transparency, inspection and adaptation.

TRANSPARENCY: the emerging process and work should be visible both to those who do the work and to those who get results. Important decisions in Scrum are based on an assessment of the state of three formal artifacts16. Artifacts with low transparency can lead to solutions that reduce value and increase risk. Transparency makes inspection possible. Inspection without transparency is misleading and is a waste.

INSPECTION: to identify potentially undesirable deviations and problems, it is necessary to regularly and thoroughly inspect Scrum artifacts and progress towards achieving agreed goals. To help with the inspection, Scrum provides a cadence17 in the form of five events.

Inspection makes adaptation possible. Inspection without adaptation is considered meaningless. Scrum events are designed to provoke change.

ADAPTATION: if any aspects of the process go beyond acceptable limits, or if the final product is unacceptable, the process used or materials produced must be adjusted. The adjustment should be made as soon as possible to minimize further deviation. Adaptation becomes more difficult when people involved do not have authority or are not self-governing.

A Scrum Team18 is expected to adapt the moment it learns something new during an inspection.


SCRUM VALUES

The successful use of Scrum depends on how much people share its five values: commitment, focus, openness, respect and courage.

A Scrum Team is committed to their goals and supporting each other. Their most important focus in working at Sprint is the maximum possible progress in achieving goals. The Scrum Team and stakeholders are open to discussing work and challenges. Scrum Team members respect each other as professionals and independent people, and in the same way they are respected by the people they work with. Scrum Team members have the courage to do the right thing and work on solving complex problems. These values set the direction for the work, actions and behavior of the Scrum Team. The decisions taken, the steps taken, and the way Scrum is used should reinforce these values, not weaken or undermine them. Scrum Team members comprehend and discover these values while working with Scrum events and artifacts. When these values are brought to life by Scrum Team members and the people they work with, the empirical pillars of Scrum – transparency, inspection and adaptation – come to life, building trust.


SCRUM ROLES19: TEAM (DEVELOPERS)

The main unit of Scrum is a small team of people, a Scrum Team. A Scrum Team consists of one Scrum Master20, one Product Owner21 and Developers. There are no subcommands or hierarchy inside the Scrum Team. This is a close association of professionals focused on one goal at any time given – Product Goal.

Scrum Teams are cross-functional22, meaning their members have all the skills needed to create value in each Sprint. They are also self-governing, that is, they decide who does what, when and how. A Scrum Team is small enough to stay agile, and large enough to do significant work during a Sprint – usually consists of no more than 10 people. Overall, we found that small teams communicate better and are more productive. If Scrum Teams become too large, participants should consider reorganizing into several cohesive Scrum Teams, each focused the same product. Therefore, they must have the same Product Goal, the same Product Backlog23, the same Product Owner.

A Scrum Team performs all product activities: cooperation with stakeholders, verification, maintenance, operation, experiments, research, development and all that may be required. They are structured and empowered by the organization to manage their own work. Working in Sprints at a steady pace improves the focus and consistency of the Scrum Team.

The whole Scrum Team is responsible for valuable and useful Increment creation in every Sprint. Scrum defines three responsibility zones in the Scrum Team: Developers, Product Owner and Scrum Master.

Developers are the people in the Scrum Team who are committed to creating any aspect of a ready-to-use Increment in every Sprint. The specific skills needed by Developers depend on the subject area of the work being done and can be very different. However, Developers are always responsible for:

creating a plan for Sprint - Sprint Backlog24;

striving for quality through compliance with the Definition of readiness (Definition of Done)25;

daily adaptation of your plan to achieve the Sprint Goal;

mutual accountability to each other as professionals.


SCRUM ROLES: PRODUCT OWNER

A Product Owner is responsible for maximizing the value of the product resulting from the work of the Scrum Team. The ways to achieve maximum value can be very different and depend on organizations, Scrum Teams and specific people. The Product Owner is also responsible for the effective management of the Product Backlog, including:

Product Goal developing and accurate communicating;

Product Backlog elements creating and explaining;

Product Backlog elements organizing;

Product Backlog transparency, accessibility and understanding providing.


A Product Owner can do this work himself or delegate it to other persons. However, Product Owner remains responsible for it. In order for Product Owners to succeed in this, the entire organization must respect their decisions. These decisions are reflected in the content and order of the Product Backlog elements, as well as in the Increment being inspected during the Sprint Review26. A Product Owner is one person, not a committee. The Product Owner can reflect the needs of many stakeholders in the Product Backlog. Those who want to change the Product Backlog can do this by trying to convince the Product Owner.


SCRUM ROLES: SCRUM MASTER

A Scrum Master is responsible for applying Scrum in accordance with Scrum Guidelines. They do this by helping everyone understand Scrum theory and practices, both within the Scrum Team and organization. The Scrum Master is responsible for Scrum Team effectiveness, helping the Scrum Team improve their working methods within the Scrum framework. Scrum Masters are true leaders who serve the Scrum Team and entire organization.

A Scrum Master serves the Scrum Team in several ways, including:

advising team members on self-management and cross-functionality;

helping the Scrum Team focus on creating Increments with high value that meet the Definition of readiness;

helping to eliminate obstacles that hinder the progress of the Scrum Team;

making sure that all Scrum events occur, are positive, productive and do not go beyond the time limits.

A Scrum Master serves the Product Owner in several ways, including:

helping to find techniques for effective Product Goal detection and Product Backlog management;

helping the Scrum Team realize the need for clear and concise Product Backlog elements;

helping to apply empirical product planning in a complex environment;

facilitating interaction with stakeholders upon request or if necessary.

A Scrum Master serves the organization in several ways, including:

directing, training and advising the organization in Scrum application;

planning the transition to Scrum and advising on Scrum application within the organization;

helping employees and stakeholders understand and apply an empirical approach to complex work;

removing barriers between stakeholders and Scrum Teams.


SCRUM EVENTS


Sprint is a container for all other events. Every event in Scrum is a formal opportunity for inspection and adaptation of Scrum artifacts. These events are specially designed to provide the necessary transparency. Failure to conduct any of the Scrum events in accordance with the description leads to a loss of opportunities for inspection and adaptation. Events are used in Scrum to create regularity and minimize the need for meetings not defined in Scrum. A good practice of reducing complexity is to hold all events at the same time, in the same place.

SPRINT


Sprints are the pulse of Scrum, where ideas turn into value. This event has a fixed duration of no more than one month to ensure consistency. A new Sprint starts immediately after the completion of the previous one. All the work needed to achieve the Product Goal, including Sprint Planning, Daily Scrum27, Sprint Review and Sprint Retrospective28 events, is done within Sprints.

16

This is the information with which the Scrum team and stakeholders describe in detail the product being developed, as well as the actions to create it and the activities within the project.

17

An Agile cadence is a reliable series of events and activities that occur on a regular, predictable schedule.

18

This is a small group of people, within which there is no hierarchy, mini-teams or leader and all participants work on the same goal.

19

A Scrum team participants’ roles.

20

A Scrum role which does not imply anything other than the correct Scrum process conduction. Thus, the Scrum master is the server-leader of the team.

A Scrum role, a person responsible for the product creation and

management. (S)he monitors its development process, records the necessary

metrics and is responsible for the result.

21

A Scrum role, a person responsible for the product creation and management. (S)he monitors its development process, records the necessary metrics and is responsible for the result.

22

A team that has all the skills necessary to do the job and is independent on those who are not part of the team. Cross-functional Teams are more flexible, creative and productive than teams where people are specialized in one competence to do their job.

23

An ordered set of elements, a queue of tasks, a list of all the functions that you want to get from the product. This list contains brief descriptions of all the product features desired.

24

A list of specific tasks to implement the product backlog selected elements.

25

This is a list of process and increment conditions under which the backlog item can be considered done.

26

The meeting at the end of each sprint intended to present the product developed by the team during the sprint.

27

This is a Scrum meeting, one of 5 Scrum events, that lasts no longer than fifteen minutes and is held every working day in the same place at the same time.

28

This is a workshop which is held to discuss how to improve the workflow.

Agile Transformation in IT-organizations

Подняться наверх