by Istvan Bagyura, CTO, P92
Why is Agile retrospectives critical to software development success?
I believe that as a software development company that works in several industry sectors using many different technologies we need to focus on productivity. I believe the most important considerations, are human factor and high performance teamwork. To get the most out of our teams we always focus on continuous improvements and regularly hold retrospectives.
According to the agile manifesto* 'At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly'. This is the heart of our agility and allows continuous improvement. A retrospective is a dedicated timeframe given to the team to concentrate on how to improve working methodologies/techniques and to incorporate successes and learnings in future iterations or projects.
A retrospective allows the project team to identify things they do right and things they can improve and gives them the opportunity to investigate how and why they do these things. This is crucial for all teams, otherwise they will continue to make the same mistakes time and time again. By identifying and remedying problems, the more value you will deliver to your customer.
The most important thing at the project outset is to dedicate time to undertake retrospectives. You should spend this time solely on improvements. If you do not dedicate time, regular daily activities will consume every working hour and improvements will never happen. In the fast moving world of IT is important to keep up with the best working practices to deliver projects on time and budget.
Secondly it is important to allow the team to own the retrospectives as it is the project team that will have the problems. Let them identify, prioritise and solve any issues a given project may come up against. This way - with practice - they become an independent, productive and high performance team that will deliver a high quality product on time.
The proverb give a man a fish and you feed him for a day; teach a man to fish and you feed him for a lifetime is very apt in this situation. By empowering a team to deal with any problems they may encounter during a project gives them everything a high performance team needs:
- trust in each other
- high standards
- collective approach
Another important aspect of retrospectives is to involve the product owner as well. Transparency is very important in software development (and in business in general). It builds trust and long term relationships. Our goal with our partners (the product owner) is common - to run a successful business, and to achieve this we need to work together. The best way to start this is to identify and understand each other's problems and to help each other solve them. Working this way the end-product will be better and this after all is the main goal of any project.
Approaching retrospectives in a positive manner is critical to a project success. It is crucial to let everyone involved to speak up, identify and address his or her problems, this will lead to an open, friendly working practice and culture. After all you never know who will identify that important problem and who will come up with the most brilliant solution.