What started out in 2001 as a manifesto for better ways of developing software, has since become a business buzzword. From marketing to human resources, many sectors now claim to have an ‘Agile’ approach to project management. But how deeply do they understand the principles behind it?…..
At Proshore, Agile principles are part of our DNA. They’ve been embedded in what we do right from the start, and they continue to underpin our preferred ways of working. In this blog post, we explain what Agile means to the people at Proshore, how it works, and why it benefits our clients.
What ‘agile’ means to us
These days, an iterative approach to software development has become the norm. The concept of shipping regular, tangible value to customers by delivering software products in smaller, continuously evaluated increments is almost universal. For Proshore’s teams it’s an empirical process, and an ongoing cycle where we deliver, inspect, and adapt.
Agile isn’t a prescribed workflow, it’s a mindset where we focus on the work to be done, what went well, and what could be improved. Rather than trying to multitask different aspects of developing a software product, we prioritise the most important ones.
It means that our teams focus on completing the work which adds the most value. We’re then able to deliver that quickly to clients, get their feedback, and ensure we stay on the right track as the development moves forward.
Agile is about bringing together people, processes, and technology to deliver the right solution, at the right time, for our clients and their customers. It’s a mindset which informs our ways of working and our approach to software development.
How agile works at Proshore
Before Agile, software would be developed in phases and in full, so that there was a single endpoint and delivery. This means that once development began, it was difficult to adapt to changes in project specifications in response to business or customer needs.
Using an Agile mindset, the Proshore team builds smaller deliverables, more frequently. This enables us to be much more dynamic in response to changing priorities. A regular feedback cycle allows us to be much more responsive, and deliver better value to clients.
Before we decide on the framework to meet our client’s needs, it’s important that our developers have the right mindset. That happens at the onboarding phase, where we equip team members – and sometimes our clients – with Agile ways of thinking.
Developers also receive ongoing coaching. We use two main frameworks in response to our client’s business needs: Scrum and Kanban.
When it comes to putting together a team, there are no hard and fast rules. We assemble development teams based on customer needs. Typically, alongside a Scrum Master, we have senior developers and quality assurance. We aim to get the right blend of skills so that certain team members can share their expertise with each other.
Usually, a sprint cycle lasts 2 weeks, but it can be anything from 1 to 4 weeks depending on the client, their availability and priorities. Within the Scrum framework, there are certain recurring events which give the work and our processes a clear structure:
- Daily Stand-up: This short meeting ensures that everyone is on the same page. We can share wins, overcome blockers, and get rid of rolling deadlines.
- Refinement Meeting: We prepare for the upcoming sprint, reviewing the prioritised items in the backlog, and choosing which ones to accept.
- Review Meeting: An evaluation of the work completed, typically involving a demonstration, and a look back at the previous sprint cycle in terms of the product.
- Retrospective Meeting: A reflection on what went well and how we can improve in the next sprint cycle in terms of the effectiveness of the process.
This structure enables development teams to successfully manage risk by inspecting the work done, tracking the processes used, and adapting them to changing priorities.
When Product Owners provide clear priorities for the work to be done, we identify sprint goals, so our clients get continuous delivery of key features and functionality.
The great thing about hiring an offshore development team from Proshore is that we can easily adapt to meet our clients’ specific needs. We work with our client’s preferred project management tools, including Trello and JIRA.
Sometimes when there is not a lot of backlog, we use a Kanban framework to tackle the low-hanging fruit – meaningful activities which can be done quickly and easily. This involves focussing on one task at a time until it’s completed. We try to limit in-progress cards. With Kanban, there is a deadline, but it’s not fixed in the same way as a sprint.
The framework we choose depends on the client’s roadmap. We use Kanban to deliver a product as quickly as possible. But if there is a substantial backlog which needs to be tackled over a longer period of time, we can switch to Scrum.
If a client needs one or two developers, Kanban usually makes most sense. But when they need an entire self-managed development team, a Scrum typically works better.
Why it’s important
With an Agile mindset underpinning the Proshore way of working, it’s possible for us to successfully deploy and manage developers working remotely or in the office.
With a clear structure in place and frequent communication, an Agile approach helps us to work efficiently and effectively – wherever we’re located.
This extends to client communication as well. Outside of sprint meetings, we communicate regularly with clients, so priorities are discussed and dealt with quickly.
The Agile advantage
At Proshore, Agile is much more than simply following guidelines. It’s a culture and attitude which adds value to our clients. Here are three important advantages:
- Mindset: Everyone on the team knows what they are doing, how it benefits the client and their customers, and how it supports business goals.
- Communication: Regular and timely communication leads to earlier intervention and means problems can be fixed faster.
- Transparency: Being transparent about the work to be done in a sprint, the work completed, and the challenges mean everyone stays in the loop.
Whatever our clients’ software development needs, Proshore can provide the right solution and adapt to meet changing priorities – switching between Kanban and Scrum as required.