Kenniscentrum

Getting energy out of Scrum, Brainport Talentbox, May 2017

Eric Elich
terug naar
overzicht

Getting energy out of Scrum, Brainport Talentbox, May 2017

Eric Elich (53) is Agile Consultant at Improve Quality Services, a subsidiary company of the Dutch ICT Group for training, consultancy and interim services in the area of IT quality. Eric is specialized in Scrum, a software development framework that is known for its iterative, flexible character and self-organizing, cross-functional teams. He guides companies during the implementation of Scrum, holds assessments and coaches Scrum teams. “If you implement it well, Scrum results in effective software development and everyone involved gets a lot of energy out of it.”

Improve Quality Services offers IT training, consultancy and staffing of agile testers and agile coaches. Since 2008 the company is part of the Dutch ICT Group in Brainport Eindhoven. Eric Elich has worked for the company for several years. “After I got my Bachelor of Science I started working as a software developer,” Eric explains. “Later I became project leader and also worked as an integration manager. My work was all about the quality of the product and the development process and that appealed to me. Since 2008 I work as a test manager at Improve Quality Services in Eindhoven. Next to being a test manager I have been a Scrum master for four years and an agile coach for over a year.”

Agile approach of software development

“Since I started working about thirty years ago, things have changed in the field of software development. As an agile coach I train and guide Scrum teams at several large companies. Agile can be best described as a mindset. It was introduced by a couple of independent software practitioners from the west in 2001, among whom were Jeff Sutherland, Ken Schwaber and Martin Fowler. They had written the Agile Manifesto aimed at developing software in a pragmatic way in close cooperation with the business. They had positive experiences with rapid software development practices and translated this into 4 values and 12 principles. The agile mindset was born.”

Fast delivery in short cycles

“The Agile mindset is about developing well-functioning pieces of software within short periods of time by learning and adapting quickly. Scrum is a practice which is in line with the agile mindset. It is all about fast delivery in short cycles with direct feedback from the customer and direct response to change. And what is also very important, in this process developers and testers communicate directly with business representatives in order to specify, translate and adjust demands.”

Able to adjust product or process quickly

“In contrast to waterfall or linear software development you have the chance and ability to quickly adjust the product or process. If people in the business know exactly what they want, then Scrum is not necessarily the right approach but most of the time they do not know exactly what the outcome should be. Then Scrum is the approach you should embrace. It is an iterative process in which a real product is delivered in small steps which is potentially shippable to the customer. Since it is visible and usable it leads to less misinterpreting or misunderstanding. In this way valuable feedback is gathered much faster than in a traditional way of development where in the beginning you only have some documents or prototype of the product.”

Short iterations

“Another reason for using Scrum is when developers are not sure about what the business’ demand is. In short iterations the development team asks feedback to ensure that the delivered product has the correct and expected value. These short iterations are more predictable than complete product developments, that can take up to a year or more. What is planned in the iteration is predictable, but what will be delivered after several iterations depends on the adaptations made by the business after analyzing the feedback.

Scrum Framework

“When you work according to the Scrum Framework, you plan software development sprints that vary from one to four weeks. After those weeks you deliver a potentially shippable product that complies with the acceptance criteria that everyone involved has agreed upon. During a sprint the team has several meetings: a daily stand-up, a refinement session, a review, planning and a sprint retrospective for evaluation purposes.”

Scrum team

“A Scrum team consists of a Product Owner who represents the business, a Scrum Master who guides the Scrum process and a development team. The development team is cross-functional and should contain all skills needed to create the potentially shippable product. It mostly consists of 7 people. The Product Owner represents the business and has a mandate to fill the product backlog with user stories. This backlog contains all changes and wishes that the business wants and all technical changes that are needed to create those wishes. Think of new features, bug fixes, building a new platform and wishes for functionalities that are not quite clear yet.”

Work together closely

“Each day the Scrum team has a stand-up, a short session during which topics are discussed like: ‘what have you done yesterday?’, ‘what are you going to do today?’ and ‘what obstacles are in your way?’. To be able to deliver a product in time the members of a team need to work together continuously. Therefore, all team members must be willing to help each other. The sprint goal is a team effort, not a set of individual tasks. This requires team values. Developers sometimes have a tendency to keep the software for themselves till the end of the sprint, but now they have to involve the testers right from the beginning.”

Specific set of skills required

“During a refinement session the development team sits together with the Product Owner to refine the highest prioritized user stories. Or in other words the Product Owner explains the demand for functionalities as a user would describe them. The development team must gain enough information to understand why, what and how it must be developed. This way of working demands certain skills from developers and testers. It requires creativity and good communication skills. Old-style developers do not always like this way of working. Some of them would rather just have a list of requirements handed to them that they can work on.

In my role as an agile coach I make the effect of the way the team works visible and help the individual team members and the team as a whole to improve it. The user story should be an “invitation to conversation”, but what I often see is that it already contains too much technical information.”

Define exact requirements while talking

“I will illustrate what my expectation of a refinement session is by a case. Imagine that someone has an online bookstore. He wants to reward good customers who regularly buy books by giving them a discount. The user story would be something like ‘As a user I get a discount when I regularly buy books online, so users are attracted to buy more books’. Questions developers should ask are: ‘how many books do they have to buy exactly before they are rewarded by a discount?’. The product owner then determines that a buyer has to buy for example five books. Follow-up question would be how much discount the buyer gets exactly, or in what period of time the user must buy five books. In this way the exact requirements are defined while talking. This way of working is much more satisfying than documents being handed over from one person to the other. I often saw that these documents were interpreted instead of clarified or discussed with the business in direct communication.”

Entire organization needs to embrace Scrum

“A lot of large companies want to adapt Scrum from a software development point of view, but if you want to apply Scrum in a successful way it is really necessary that the entire company embraces Scrum. Managers need to let go of control and Scrum teams have to reach a certain degree of maturity in order to be able to have focus, work efficient, be productive and be self-organized. It requires courage, respect, support and trust.”

Scrum teams that are totally self-managing

“Spotify is an example of an organization that has implemented working with Scrum on a large scale. Scrum has reached an extremely high level of maturity within that organization. At Spotify Scrum teams decide for themselves what additional skills and expertise are needed within the team. They are totally self-organized and even self-managing in the way they compose their team.”

Scrum leads to more energy and fun

“Scrum is something you need to implement in a solid way. It requires discipline if you want to do it right. A good Scrum Master or agile coach is extremely valuable. If you implement Scrum in the right way, it offers a company great advantages. You get fully operational products within short amounts of time with real business value. Furthermore, the development teams are more involved and part of the creation process of the complete product. Being self-organized with the trust of the company, knowing why they need to create it and the direct feedback of what they created, results in a lot more fun and energy. Celebrating successes is key to this.”

Freedom and responsibility

“This is also why I like Scrum. I love being involved with people, coaching them, training them. When I see that my guidance helps the team in understanding why they need certain skills and they are really improving, then I get inspired by them. I am also a great proponent of people being responsible for their own tasks, processes and goals. It gives them a lot of freedom and you see that it leads to a common feeling of being responsible. Something which is absolutely necessary for Scrum to work. If you are implementing Scrum do it right immediately. Have the courage to just do it but with the guidance of experienced coaches or Scrum Masters, learn and adapt. Use the successes of the Scrum team to release the energy throughout the organization. So get that energy and infect your environment!”

Eric Elich works at Improve Quality Services, a subsidiary company of ICT-Group which is situated in the Dutch Brainport Eindhoven Region. A place where technology and IT are used to solve societal challenges.