To set the right context, Agile isn’t about short cuts, it often means decisions are delayed until there is enough insight to make any action taken build meaning or have value. This also means retaining flexibility until it shouldn’t be necessary. Therefore, as you build on previous decisions the environment should be becoming stronger, and projects should be moving faster.
Here’s a few things I’ve learned in my journey to becoming Agile, which I believe should be applied to managing a modern technology dependent business:
Don’t be precious – be flexible – move fast and break things – established companies find it near impossible to change, this is a competitive advantage – you should be responding to the needs of your potential customers, not putting any one idea on a pedestal.
Embrace feedback and change – focus on the needs identified today – not yesterday’s assumptions – agile teams use easily affordable, socially aware, web-based software tools built to support a culture of agile thinking – identify and use similar tools to manage and deliver on strategy; capture feedback, support change, manage innovation and keep people pulling in the same direction when change occurs.
Seek the wisdom of the crowd – find where your peers ‘hang out’ online and engage them, look for the patterns and repeat the success of others. If you can’t find anywhere, start something, it’s never been easier, or if you can’t start one, find someone who will.
Stand ups – brief daily check-ins to measure progress and identify where support would be of most benefit. 3 questions – what did you do? what are you doing next? what’s blocking you? This tight feedback loop would be so useful to any and every team not just software developers.
Pair up – agile developers pair program or undertake code reviews, possibly viewed as a luxury, however those with insight, e.g. business leaders with mentors/coaches will understand the benefits, stated simply, two minds are better than one. Encourage people to pair up, help them find mentors, encourage them to model someone they admire, or build internal mastermind groups.
Respect flow – in agile we use the terminology ‘sprint’ – bursts of effort, usually over 2 weeks, to deliver high value pieces of work – it’s almost sacrilegious to break the team’s flow and interrupt a sprint, however we must expect it if we are to be responsive and embrace change, we must also understand the consequence. Sprints could be applied to any department’s project, give them a deadline to bring back some learnings, respect the deadline, then review and consider next steps.
Open transparent communication – find what works – you can and you can’t replace face-time – conversations matter – as customers and staff have become geographically dispersed, remote working can’t be ignored, make sure messaging channels are effective, clear and open, whilst ensuring necessary constraints are in place that respect flow.
Small is beautiful – keep it simple – minimise waste – what are the minimum steps necessary to get enough value out of an action to make a meaningful difference. Or identify the minimum viable product/action required to test an idea, then act, then review, then repeat. Don’t be overly concerned with polish until it has meaningful value.
Learn by doing – the faster the rate of failure, the faster we learn and adapt. The quest is to seek your greatest learning – identify the action that by doing you will learn the most from.
Don’t repeat yourself and fix broken windows – identify and optimise duplicated effort, learn from mistakes, ask why are we wasting effort or making this mistake, then work out how to put it right and take action.
Automation, Systemising & Technical Debt – every business should want to identify it’s repeatable processes, when you do, ask the question – is there value in automating? Find only the high value processes and automate them. Manual processing is acceptable and necessary until it becomes unsustainable. Make sure a process is valuable enough to automate, maintaining technology becomes more costly than the original build.
Rapid progress, continuous deployment – put your ideas in front of customers as quickly as is feasible, then make decisions based on insight/feedback.
Dump ‘n’ sort – capture everyone’s input, from customers to colleagues, don’t judge, then filter for the above, minimum action required, greatest learning.
Value value – identify your important numbers, the ones that make a difference, then choose from the above based on what will make the most significant change to those numbers. It’s about value based decisions/priority, of the identified choices, what will impact the top line, the bottom line, customer happiness, company happiness, social goodness, or sometimes simply what we learn the most from.
Hope you found this useful, let me know.