Tech inside: Agile software development (Part 2).
Want more awesome content? Sign up for our newsletter.
Meet the expert.
This time, he’ll talk about a crucial figure in the interaction between the development plan and the final customer, the Product Owner.
He’ll explain how to break the development work into small increments and how to keep product quality intact through continuous automatic testing and a development strategy capable of responding flexibly to change.
Don’t waste your talent. Discover Agi(c)le.
The key figure between request and solution design: the Product Owner.
What did we want? We wanted the advantages of the Agile method, an exact work structure, appropriate production times, automatic tests, technical excellence, a very high production quality.
But how to do that while maintaining an attentive and dedicated dialogue with the client?
The Agile method requires that, within the customer’s company, a “bridge” figure is identified as the spokesman of the needs of its reality, capable of evaluating the solutions that the development team offers to realize.
This figure is named Product Owner, PO to his friends.
Well, here at Imagicle we have introduced a PO figure that, although part of the company, has direct contact with customers and is equipped with the necessary sensitivity to understand their needs.
This figure, together with a team dedicated to product design, has allowed us to adopt a methodology that, if applied with dedication, gives outstanding results.
Don’t get lost in the process: Test Driven Development.
Anyone who is in charge of developing a new part of the software must first write automated tests that determine its correct functioning following an iterative method.
Here is the proper procedure:
1. write a failing test;
2. write the code that makes the test turn green;
3. check your code for refinements (refactoring);
4. restart the iteration with the following test.
Your work is finished when all significant tests are written and green.
While ensuring a high degree of confidence in making changes, this procedure implies adopting a way of thinking opposite to what, generally, a developer learns during school education.
However, although at first it may feel not very natural, it’s the most decisive factor in achieving quality and certainty in terms of production times.
A daily commitment: the stand-up meeting.
Sometimes, small acts can make the difference.
In fact, it all starts with a simple but effective meeting held every morning, in which attendees participate while standing (as they say, no pain, no gain!).
Each member of the development team must say what he did the day before, what problems he encountered and what he’ll do today.
It may seem trivial, but this is the first step I suggest to take to those who intend to adopt an Agile development process.
It fosters communication within the team and helps to coordinate efforts and mark everyday work.
All in just one minute.
Finally, I would like to mention a number that can give an idea of the extent to which this change has brought us benefits. Every day, when one of us adds a new feature or fixes a problem, over 100,000 automated tests are performed across the suite to ensure that no issues arise. If they are not all positive, it’s not possible to release a new version of the Imagicle ApplicationSuite.
The accuracy of the tests produces tangible results. Although the turnover grows in double figures year over year, the support cases maintain a trend with almost zero growth.