Work on projects as if you were building LEGO. Why Agile and Scrum are the best way of development (in our opinion).

Imagine two conference rooms - in one we have a long table with a distinct headboard at which the boss sits (waterfall model), in the other, we have a round table (Scrum) - what do you think in which of them is more space for discussion and exchange of ideas?

In the Contrary to Traditional Ways

To explain best what Agile's method of work is, the easiest way would be to compare it with traditional models that are based on a clear hierarchy. In such a mode of work, we simply get predefined specifications, work on them and are accounted for the final outcome . 

Projects carried out in this way are following the traditional waterfall model, because everything goes always in one direction - from top to bottom. Agile doesn’t so much reverse this order, but it differs because it also allows the flow of information in the opposite direction.

Creative Programming

When we think about programmers' work, we don't associate it with something creative. Rather, we think, as with all engineering, that it is about using certain principles and mechanisms to make technology work as it should. Meanwhile, a large plot of IT projects today is tailor-made. Development of websites, web applications, and e-commerce solutions requires not only technical skills but also the right match of technology to the business’ industry, designing UX that will make the product/service stand out from the competition and attract customers.

Creating a digital product requires a lot of creativity, and creativity has the advantage that we not only use ready-made and tested solutions but also come up with the initiative to propose new ones. Agile is a perfect framework for creative solutions because it allows IT, teams, to treat requirements as objectives rather than solutions. Rather than formalities, it focuses on providing a working product and is much easier to adapt to changes than traditional working methods.

The Agile Manifesto

  • Individuals and interactions over processes and tools

  • Working software over comprehensive documentation

  • Customer collaboration over contract negotiation

  • Responding to change over following a plan

Agile can, therefore, be described as a certain philosophy in the approach to work, while Scrum is already a specific method of software development based on this philosophy.

A Box of Bricks

You don't have to imagine that you are a child, but imagine that you get a new set of Lego blocks. It is difficult to say whether the leader in the toy industry did it with Agile in mind, but more complex sets of blocks are divided into bags with subsequent stages of construction. In this way, instead of looking for the right elements on the stack of blocks, you get exactly the ones you need at this stage. When the work is divided into stages, you will not only complete your set faster, but it will also be easier to check if you are correctly arranging it, and the whole process becomes less frustrating. This can very simply reflect what working according to Scrum looks like.

One of the main characteristics of Scrum is the division of the project into Sprints, made up of different events , i.e. Sprint Planning, Sprint Review, Sprint Retrospective and Daily Scrums. Scrum Teams usually consist of 3 to 9 people who work together on a project. A very important feature is their autonomy understood as the ability to self-organise and make the best decisions on the way to achieving the goal.

There are always two very important roles in a Scrum Team - the Product Owner and the Scrum Master. The first one is a member of the team and ensures that the team maximises the value of the product or solution. The role of the Product Owner is best occupied by someone from the client side who has the capabilities and responsibilities to take main decisions about the product or solution, shapes its vision and strategy and controls the budget. The Scrum Master on the other hand doesn’t watch over the product, but over the process. He removes any blockers, protects the team from external influences and provides all the tools necessary to finalise the process.

Let’s go back to LEGO for a moment - let’s say your team wants to build a castle . In this process, the Product Owner will ensure that the finished castle has all the features according to the its vision and blueprint - e.g. two towers, a drawbridge, and a courtyard. The Scrum Master will ensure that the team does not run out of suitable blocks, and the team itself makes the effort to make it technologically reliable, stable and secure.

“A good portion of our development effort goes into tackling fundamental technical challenges – for example ensuring high quality, security or performance of the solution. Agile really helps to give more transparency and understanding in this direction – and it also enables the more technical team members to really grasp business value and user experience. Both are absolutely fundamental to the delivery of a really great solution that convinces on all levels.”

Dr. Tomasz Strumiński, Head of Development

Reflective Process

Using Scrum brings very good results in the IT industry, but most importantly , Scrum also allows us to better address business needs with technology. While in the traditional waterfall model a team could work on a part of the project without being involved in the entire vision, following Scrum, it is very important to understand the client's business processes.

As mentioned each Sprint is made up of a number of events which are Sprint Planning - where the team plans “what” to do and “how” to do it  in the upcoming Sprint, Sprint Review during which the team members presents the outcome of their work and Sprint Retrospective that allows them to go over the passed Sprint and draw conclusions about the work process itself.

Short iterations allow the team to quickly confront the product with the customer's needs - by handing it over piece by piece it quickly becomes obvious what works and what doesn't. Which direction is right and should be followed. It is also easier to change solutions during the process rather than adapt the finished product. The members of the team also get feedback that allows them to better understand customer needs. And thanks to retrospectives they can master their own way of work, to make it more effective.

“Our projects are in substantial parts IT projects and they are often hard to plan and predict. Solutions become increasingly complex, be it based on a more complex user experience or the ever-growing number of integrated systems. It is virtually impossible to foresee everything – and for great outcomes, you need to retain the ability to adjust priorities and focus throughout the project. What matters most is delivering what creates real value to end-users and platform owners. Scrum does just that and allows us to work with fixed budgets while being 100% focused on maximum return on investment.”

Klaus Unterkircher, CTO

  1. In the Contrary to Traditional Ways
  2. Creative Programming
  3. The Agile Manifesto
  4. A Box of Bricks
  5. Reflective Process