How to continually adapt to a changing environment – agile approach at j-labs
At j-labs, when asked for the definition of Agile, we answer: it is building software in collaboration and not in detachment from a client. It is also about ongoing communication and supporting the discovery of what is needed to achieve the intended objective. It is a comprehensive overview of the project. How does this thinking translate into our everyday work?
Being agile means understanding the constantly evolving environment, adapting to it, and changing quickly. There is no one right way to achieve a goal. We continuously adapt this way to existing conditions.
How does Agile manifest at j-labs?
Agile is a generic term for adaptive project management methodologies. Scrum, which we use at j-labs, is one of them.
At j-labs, we believe that Agile is a way of thinking, an approach to life and work. What exact tools or ceremonies are used in a project or by a team depends on a client’s organizational culture. Regardless of whether we are talking about a team extension, team leasing, or even a custom development model, it is necessary to blend in with the client’s team.
Our goal is to create efficient and optimal software. To achieve this, we need to communicate regularly and focus on results.
Therefore, we adhere to the principles of the Agile Manifesto:
– Individuals and interactions over processes and tools
Scrum ceremonies (such as sprint planning, daily, weekly, demo, review, and retro) are used in all teams – not just in the development teams. They help us grow, learn, change, talk about problems and participate in the project. It can be very helpful, especially when working remotely.
– Working software over comprehensive documentation
If we find that the documentation preparation is too burdensome, we produce only as much documentation as needed to deliver the agreed-upon result in a given sprint.
– Customer collaboration over contract negotiation
For us, customer relationships are more than just contracts. If a situation that has not been anticipated and previously discussed arises, we take the business into account. It means, for example, providing the project team with additional competencies, additional tasks.
– Responding to change over following a plan
Because we work in sprints and the scope of tasks is planned for the next 2 weeks, it helps us adjust the tasks to current needs. We focus on the project and its goal. We do not perform unnecessary tasks just because they are included in the scope.
What does this result from?
From the values that guide the organization
The 3 most important values that guide j-labs are technology, substance, and reliability. We also have scrum values like courage and commitment.
The first value ensures that we openly speak what we think and accept each other’s openness. Courage allows us to take a “fail fast” approach. It involves experimenting, trying things out, putting ideas into practice, and learning from them.
Commitment, on the other hand, manifests itself in the way our employees take responsibility for the ideas they contribute. They don’t just drop the ideas. They take ownership of what they propose.
From the maturity and business experience of the j-labs team
Such attitude wouldn’t be possible if not for the business experience of j-labs employees (8 years on average). They are developers and architects who know how to define the scope of tasks and responsibly bring them to completion. Proactivity and courage would not be possible if team members were not self-aware of their abilities as specialists.
From the ability to integrate with the client’s team
If needed, the j-labs team adapts to the client’s work model – from the working hours, method of conducting meetings and reporting, to the language and areas of development the company emphasizes. It fosters a sense of community and long-term collaboration.
What does this way of working offer to a client?
We assume working in 2-week sprints. At the end of each sprint, we deliver a new value, complete a task, e.g., implement a given portion of a code. It means we develop a project continuously. There is no downtime. In relationships with clients, we use Agile to talk about the results. And those results bring us closer to achieving the project goal.
The ability to adapt project requirements to the business environment
One of the agile principles is close communication between teams. During a project, we become one team with a client’s team. We meet regularly for sprint reviews, retrospectives, and planning. It creates space for adjusting requirements to current needs. We don’t focus strictly on the scope defined in the contract, but we adapt to the situation.
A flexible partner who adapts to the accepted way of working
At j-labs, we do not change our clients’ approach by force but adapt to it. If there is no need for us to adapt to the client’s way of working, we organize it ourselves. It is possible thanks to our experience and expertise, as well as the previously mentioned seniority and accountability of our employees.
There is room for a waterfall model too
Are there projects where a waterfall is a legitimate approach? Absolutely. It is important for us to plan two weeks ahead. However, if a project requires it and there is a person acting as a product owner, business analyst, or project manager, we are ready to work in a waterfall model.
After all, adapting to the situation and requirements of the environment is also part of Agile. In our opinion, this type of approach works well in the short-term, e.g., 3-month projects or continuous development projects where the work is planned for the next few years.