Agile-working is key for a software company to produce the best finance and ecommerce solutions for the automotive market.
A lot of software companies still work in a linear way, where products are designed, developed, tested and released in that order. It makes for a very rigid working environment, where time can be wasted easily.
At Codeweavers, we’ve been working in an Agile way since the beginning.
What is Agile?
Put simply, Agile software development means one thing: flexibility. It’s a collaborative way of working with your client that creates speedy delivery of small iterations of a project, to allow continuous improvement and change.
The Manifesto for Agile Software Development lists its key values as:
-- Individuals and Interactions over processes and tools
-- Working Software over comprehensive documentation
-- Customer Collaboration over contract negotiation
-- Responding to Change over following a plan
How we use Agile (and why you should, too)
There are many ways a company can utilise the Agile way of working, but let’s talk about how we use them, because that’s the way we know works.
Minimum Marketable Features
All our projects are broken down into MMFs, or Minimum Marketable Features. Our focus is delivering great working software frequently, and measuring our own progress this way. MMFs should take no longer than three days.
Working with MMFs allows us to gain constant feedback on small bits of work, making us more flexible and more adaptable to suggested edits, even at late stages of development. Because the deliverables are so small, we’re always able to keep up a swift pace with our output.
Great client communication
Our sense of communication is heavily impacted by our Agile style. Our development teams are managed by Product Owners, who have close relationships with our clients through daily video calls and face-to-face meetings where possible. This keeps everyone in the loop and on the same page, and helps to manage customer expectations efficiently.
Important information is filtered to development through the POs, allowing us to welcome late changes with open arms and roll out fixes and edits as soon as that week.
Fantastic team communication
Most teams have daily stand-ups, whether they gather around their Kanban board and feed back about progress. Kanban boards are physical (and digital, as we have online versions too!) spheres where MMFs can be visualised and organised in different columns; from backlog, ready-to-start, in development and more! This allows teams to reflect and constantly improve their efficiency.
We believe in allowing teams to organise their own work, as each team’s made up of different individuals, who all need to find a good way to work with each other. Every team member is talented, motivated and trusted. We achieve the best work this way.
A focus on quality
Our focus is always making the absolute best products that we can. Our developers work in pairs, allowing one to drive and one to observe, and swap roles often. This means every task always has two pairs of eyes, two brains and two attitudes coming at it from two different roles each time. They work through continuous integration with the mainline and their work is test-driven, which means that everything produced meets requirements.
We also adhere to other quality suggestions such as code refactoring, automated unit testing and a whole range of other techniques to ensure technical excellence in our work.
So it’s up to you
We think flexibility is the core of a great working relationship between happy clients and talented technology companies, and that it produces the best quality work. The automotive industry is massive, so don’t miss out. Considering an Agile supplier might just be the next way to improve your business.