“How do things get done around there?” we hear you ask. In the midst of all the planning, designing & building; there is indeed a method to our madness, and it revolves around a term called agile methodology. This is led by Xinja’s CTO, Alistair Thomas (aka #appyxinja) who is himself an Agile Scrum Master and helped us with this intro to Lean Agile methodology and why we’re using it at Xinja.
How do we get things done around here?
Or, lean-agile, to be precise.
Lean-Agilehas become one of those trendy buzzwords that’s repeated so often it starts to lose meaning. If you work in IT, you’ve probably heard a manager claim they have an lean team, or a programmer describe him or herself as an agile developer. Though you might assume this means they’re flexible, or able to adapt to new situations and projects, the true lean-agile model is a bit more complex:
The goal of Agile is ultimately to make our development process flexible, which is done by delivering in small, frequent iterations. FX refunds? Coming next week. Split bills? See you in September. It means you get new stuff frequently, instead of all at once (and then not for a long time).
The goal of Lean is to make our developing process sustainable, which is done by continuously improving processes. Our teams operate in a cycle of “Build-Measure-Learn,” defining progress as validated learnings. Compared to the iterative model of Agile, Lean development involves testing, measuring, and validating hypotheses based on trends in the market and past work. This means if we don’t like the way something is heading, we can change the way it’s heading.
But why lean-agile for Xinja?
There are many reasons why they go together, but for Xinja, the scope of the project is continually changing, and our development methodology must be responsive to the following challenges:
It is impossible to gather all the requirements at the beginning of a project
There will always be more to do than time and money will allow
Whatever requirements you do gather are guaranteed to change
So in other words:
Can we move and change direction easily and quickly?
– Alistair Thomas, Xinja CTO #appyxinja
This focus invariably places a greater onus on:
Individuals and interactions over processes and tools
A working product over comprehensive documentation
These methodologies have evolved as they’ve expanded into new industries, applications, and opportunities, and many organisations have been incredibly successful in drawing from elements of both. We’ve found at Xinja that a truly Lean-Agile process incorporates elements of both continuous delivery and continuous improvement, optimised across the entire value stream.
Using this combined approach to systems thinking, the continuous improvement of Lean & Agile development practices are being used to help Xinja build a healthy and innovative model around sustainably delivering customer value.
To build great software, you need great software engineers. You should treat those engineers as first class citizens and allow them to guide you on how to build what you want – all you need to do is support them and guide them to build the right thing.
– Alistair Thomas, Xinja CTO #appyxinja
Set yourself up ‘not’ to fail
Do you want to develop like the best of them? Follow Alfie’s step-by-step guide for lean/agile greatness!: ✓Hire great software developers and let them develop and guide you on how best to develop software ✓ Minimise dependencies outside of the team ✓ Team works on a single healthy prioritised backlog of work ✓ Team has autonomy on technology, deployment and development ✓ Team controls the path to productions ✓ Everything is automated and tested ✓ Scope is negotiable and team velocity determines when we will be ready to deliver
And finally, have a clear plan to scale to more than one team: ✓ Be aware of Conway’s Law – “The architecture of your product is likely to mirror your organisational structure” ✓ Build the system so you can swap vendors (eg: APIs, source code ownership etc.)