Delivering a software solution that satisfies the customer is a top priority for any software company. For this, it’s not enough just to have skillful developers, as it’s no less crucial to have the whole development process managed effectively.
But how to manage a software project effectively? Surely, it is an open question. Under different conditions and for various purposes we need specific tools. In order to help manage efficiently, there is a great variety of working principles and methodologies to choose from. As for recent couple of years, Agile approach to software development is becoming more and more widespread.
ABOUT AGILE IN BRIEF
One thing we all have learned is that everything changes.
In the 21st century this has become an indisputable fact, the key rule of our modern reality. The pace of change continues to accelerate in business, so it has become instrumental to be flexible and responsive. The new values conditioned the advent of the corresponding philosophy and, thereafter, methodologies.
To a great degree this relates to the processes of software development. In the year of 2001, the Agile Manifesto was first published. The resolution contains 4 key values on which the Agile methodologies – such as Scrum, Kanban, Lean and some other – are all based on. Ever since, Agile values are becoming popular with a wide variety of organizations – and not without a good reason.
Business owners want to see the results as soon as possible and with minimal risks. Due to the iterative and incremental nature of Agile, the product is promptly delivered to the market, soon starts bringing the ROI, enabling it to achieve high product quality and customer satisfaction. In Agile you learn as you go, change as you need to, and you’re most likely to build the right product.
Of course, other software development paradigms can still be relevant in some cases. For example, waterfall works fine for short-duration projects when the requirements and scope are well-defined and won’t change. Still, many find Agile the best option for themselves – as many as 71% of organizations report sharing Agile values to some extent (Project Management Institute report, 2017). And Azati is not an exception.
But it wasn’t so just a few years ago…
OUR AGILE HISTORY
We started our first Agile experiment in 2013.
It all started with one team who began to use Scrum and Kanban on their small and medium projects. Scrum was a new thing at that time both for the clients and for our developers. The size of our first Scrum team continually changed (as not every developer agreed to work within Scrum), and it numbered 6-10 people.
Not every client agreed on working within the framework. Scrum adoption was difficult for clients, as according to it, they couldn’t get to know the end result, time and estimation beforehand. Nevertheless, some agreed and the outcomes were great. Our clients were happy with the work products; moreover, the team managed to deliver ~30% faster than usual (within traditional methodologies). The experiment lasted for 1-2 years. During that time the team created about 15-20 successful projects.
As the sufficient relevance and superiority of Scrum was proven in practice, Agile methodologies began to spread within our company on various projects.
AZATI’S WORKING PRINCIPLES
Our teams have some principles that are underpinned on every project:
- First of all we analyze customer’s development processes to suggest how we can better work together without rebuilding their internal processes.
- Despite the incessant euphoria about Agile, we prefer to adopt it wisely. Instead of the strict abidance by its principles, we choose to implement only those that make us work efficiently within the given conditions. Such an approach allows us to be flexible and able to treat each project in a more personalized way.
- Last but not least – we always strive for being as close to our customers as possible. For this, we hold online video meetings, organize online planning poker, regular demos, sprint reviews and so on. We’ve learned how to manage remote cooperation effectively – our average rate of on-site presence is ~25%.
AGILE AND OUR CLIENTS
Though Agile is now pretty common and widespread, the methodologies based on it may confuse many clients with terminology and rules.
We help our clients to work within Agile (Scrum/Kanban). Basically, there are two cases when a client needs assistance:
1. A client wants to participate in the project, but has no knowledge about the chosen Agile methodology
In this case, we lead our clients and teach them how to work within Scrum, even if they are totally new to the framework. During the pre-sales process, we provide a full description of the future development process – the roles and their responsibilities, the way we’ll handle changes occurred during the process, documentation approach, regularity of meetings and video calls, other events and more. This way, a client gets an understanding of the Scrum process and their role in it from the very beginning. And, of course, they can always turn to us for any assistance and with any issue that arises.
2. A client loves the idea of Agile but doesn’t want to participate personally
According to some frameworks (e.g. Scrum), the client’s task is to take up one of the key roles, named a Product Owner. The PO must be actively engaged with the team and be available. He is constantly involved in the project development processes, e.g. he is responsible for gathering the end customer needs, defining and grooming the Product Backlog, in planning and decision-making processes.
But sometimes it happens that there is no such a person from the client’s side (or they are too busy / unwilling to participate), so we offer to put a Proxy Product Owner on the team, instead of a traditional PO. The meaningful difference between the two roles is that a Proxy PO is a member of a development team. A Proxy PO acts as if they were a representative from the client side and does almost the same activities as a Product Owner.
TODAY WE OFFER:
- Single Scrum/Kanban developers for the work within the client’s already existing development teams
- A Scrum team
- Several Scrum teams working on one project
- Collaborative work with 3rd party teams on a single project within Agile frameworks
Our professionals are high-level experts at implementing Agile on projects. Their competencies are acknowledged by the International Consortium for Agile (ICAgile) – there are 20 ICAgile Certified Professionals and a Scaled Agile Framework (SAFe) Certified Professional at Azati.
But what is more, our staff do not only possess the required knowledge, but also understand the very core of the Agile philosophy. Instead of just “doing” agile, we are also “being” agile. All that has enabled us to finish 54 successful Agile projects for the past 6-7 years. And more importantly, our customers are delighted with having trusted their projects and project ideas with us.
PLANS FOR THE FUTURE: UNDERGOING AN ENTIRE AGILE TRANSFORMATION
An Agile organization doesn’t just use Agile frameworks on some of their projects, but it embraces change as an integral part of its business strategy. In doing so, the organization becomes capable of responding to new trends and takes advantage of arisen opportunities.
We want to make the shift to an agile mode of operating in order to stimulate free-thinking in our developers, thus allowing room for innovation and continuously generating spectacular results for our customers. What is more, with the Agile transformation we are determined to achieve:
- Higher End-Product Quality and Productivity
- Faster Time to Market & Early ROI
- Flexibility and Innovation
- Reduced Failures
- Greater Employee and Stakeholder Satisfaction
- Organizational Transparency
- Money Savings
And we’ve already put agile transformation in place.
As we understand the necessity of being able to adapt fast, we are dedicated to addressing the challenges of developing and delivering software in the shortest sustainable lead time. For an overall company transformation, we’ve decided to embrace the concepts of Lean and Agile.
As previously described, we first entered the bottom-up approach to scaling Agile. Teams have been self-organizing using their own flavor of Agile, so bottom-up Agile allowed them to work in a way that suits them best. This way, we observe Agile scaling seamlessly and naturally at Azati.