Content produced by our dev team manager Luiz Henrique Felix.
At the beginning of the pandemic we didn’t know how things would be, when we got the news that we would have to work from home it was a little scary, I was a little over a month into the position and knew that a big challenge was ahead of us.
The first weeks in home office were the most challenging, because we needed to somehow maintain the same dynamic that we had in person, only now, at a distance, and how could we do that?
That is when my studies about agile methodologies began, which I will describe in the next paragraphs.
Right when I started studying agile methodologies the first thing I came across was ‘The Agile Manifesto’ which is a statement of principles that underlie agile software development. It is based on twelve principles, where the central idea is customer satisfaction through fast delivery and continuous improvement. To achieve this, we use the dialog between the teams as our main tool, along with the inclusion of other teams to be closer to the development, such as commercial and support, so that with the feedback collected from everyone, we can always be improving the software and meeting the client’s needs.
One of the things I have learned along the way is the real meaning of the word‘MVP – Minimum Viable Product‘. MVP is nothing more than delivering a software, where the customer can already use it, even without having all the features that were planned in the roadmap already implemented. With this we can speed up the delivery and also improve the software, because with the customer already using it, we can improve it based on the feedback collected, which means everybody wins.
To make the deliveries happen in the timeframe defined in the roadmap, we use some methods that help us in these deliveries, along with the Scrum framework. This framework is not a linear process, instead it is a set of concepts and techniques within which you can employ various other processes or techniques. Analyzing the relative effectiveness of management and development practices, so that you can improve them. He gives us several techniques that can be used for management, and one of them is daily meetings and sprint meetings. The daily meetings are meetings of 15 minutes maximum, that we do to align what will be the activities to be performed on the day and what will be the team’s direction, I as a manager of these teams ask three basic questions: what they did yesterday, what they will do today, and if there is anything that could prevent the activity that would be performed today, from not being performed. With these three questions we get a comprehensive view and know if we might have any possible problems, and also address impediments. Sprint meetings are meetings that usually take place every week and last up to an hour. The teams and I meet with the management, and we present the progress of the activities that were done in the period, collect their feedback, and adjust the activities based on this feedback, so we have a direction for the next sprint.
Together with Scrum, we use ITIL, Information Technology Infrastructure Library or Information Technology Infrastructure library. Which is a set of detailed best practices for IT service management that focuses on aligning IT services with business needs and seeks to promote management aimed at efficient delivery of services to the customer. In practice, ITIL works as a guide, where instead of defining processes, we follow best practices, which in a way makes the team management and the process workflow much more dynamic, because we are not tied to x or y processes. We also use a process workflow technique called Kanban, which is a Japanese term meaning “card”. The system is named after the company that developed it, Toyota. It is nothing more than an agile and visual system for production control or task management, where we use a virtual board with columns named as follows: backlog, doing, depending on something/someone, homologation and achievements‘ and cards that “move” between these columns as activities are performed. Kanban greatly facilitates the progress of the project development, because we can know visually and clearly which process we are in, always reporting inside the cards of each activity, so we can use this information reported in the sprint meetings and review.
Among all these methods, frameworks and tools, the most important will always be the one that best fits the needs of your team: don’t get stuck on framework or methodology x or y, because this can instead of helping, end up hindering and limiting your team, instead use the best of each based on your reality, always keeping in mind the ultimate goal, which is the agile software development and good team managementI’m always revising to have time to change the direction of the teams if necessary, making the development process much more dynamic.