Tech inside: Agile software development (Part 2).
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.
In order to adapt to changes quickly and effectively, we have simplified the design phase by avoiding deciding in advance, in the initial stage, all the detailed requirements of a project.
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.
You might also be interested in…
Tech Specs BlogImagicle contribution to Open Source: WireMock.GUI.The Open Source world now has an Imagicle touch: discover WireMock.GUI, our internal tool written in TDD and developed by our R&D team that mocks the behavior of a web server.
Release BlogCall Rec boost: from 180 to 500 recordings on the same server.Leveraging all the hardware space with the same performance level, enabling 500 simultaneous recordings.
Tech Specs BlogThree more bites to Imagicle’s Design For People process.Imagicle UX Greta tells about three steps of the Exploration phase of UX software design for people: Brainstorming & sketches, Wireframing, Prototyping. Discover a reliable and programmatic way to understand the needs, aspirations, and emotional touchpoints of customers and users.