“We see our customers as invited guests to a party, and we are the hosts. It’s our job every day to make every important aspect of the customer experience a little bit better.”
– Jeff Bezos
Agile software development has been the go-to method of building software for a long time. Rendering its Waterfall counterpart almost obsolete, the ‘people over processes’ approach has long since been advocated by many. Owing to faster turnarounds of working software and priority to customer requirements (even on short notice), Agile software development has been beneficial for all parties involved, without a doubt.
That is, up until much recently. Owing to increasing recognition and popularity, Agile has been experiencing a mutilation of sorts. Many practitioners have now risen up to ‘preaching’ what is right and what isn’t, when it comes to working Agile. This has led to the methodology being unpleasantly rigidified – something that completely defeats its concept and purpose! As a result, Agile software development as we know it today is promoted to feel complex and intricate, causing unnecessary pressure on project managers and making clients feel irrelevantly overwhelmed.
Some people seem to be taking mean advantage of this.
Depending on your disposition, this may make you sad or angry. Nonetheless, it’s imperative that we talk about and face the bitter truths that have bastardized the very software methodology many of us depend on, for delivering quality software. As briefly mentioned above, many instructors and institutions that market ‘Agile certifications’ are guilty of this – and here’s exactly why:
While such a movement is ruining what Agile really is all about, the education industry in general has been infiltrated with degrees and diplomas that are marketed to be indispensable for today’s academic age. This not only complicates fields of study that may be much simpler in reality, but also compels its students to follow a restricted manner of thinking and analysis.
Likewise, such Agile certifications are also confining its graduates to specific frameworks – and nothing else. There’s no room for flexibility, change or emotional intelligence – which makes our future in software development feel quite ominous, for lack of a better way of putting it.
But that’s not the most detrimental consequence of dogmatic Agile methodologies. It costs companies a lot of business – both the software agency’s as well as the client’s. Recurring clients become a reality only when they’ve had a good experience with agencies from the very first project that was signed. If they realise that their requirements aren’t being met or communicating is a challenge, they’re going to start looking elsewhere for a software development partner.
This feels even more ominous in this prevailing era where the end user/customer is the focal point of any business. Owing to fierce competition, the only way to achieve exposure and sustain as a business is if customers are offered precisely what they need – quickly and simply. With digital platforms such as mobile apps being one of the key mediums to attract and engage with customers, working with the right software agency is a no-brainer.
So if the software agency that’s hired consists of a development process that can’t adhere to shifting requirements (or simply doesn’t want to because of rigid structures that can’t make any exceptions)…
What would you do as a business/product owner?
Isn’t it high time that someone spoke up?
Enter four dedicated tech professionals and their mission to raise awareness on the dogma that’s prevailing around Agile! Sam Zawadi, Adrian Lander, Arie van Bennekum and Melanie Franklin are the founders of Agnostic Agile, a movement that is aiming to shift the focus back to what Agile fundamentally exists for. With qualities such as customer-centricity, collaboration, people and culture being some of the focal points for any Agile framework, these four individuals have laid out a set of principles which anybody can sign their names on, to express support for the movement.
What are some of the key highlights about Agnostic Agile?
One of the first principles of Agnostic Agile stresses on how addressing the customer’s needs should be at the very forefront, irrespective of what Agile framework you use. On top of that, there’s no need to restrict yourself to the exact rules and regulations of any framework – feel free to customize as you wish, as long as it helps your customer. In other words, if a more traditional project management model seems more viable, then by all means – go for it!
Learn and let learn is one of the mottos of Agnostic Agile, in other words. Through collaboration with your team members, learning shall be an ongoing process; transferring that knowledge on to others or gaining the same from them is crucial to professional growth, while focusing on the true objectives of the project at hand.
With dogma comes compulsion, and with compulsion comes unhappiness. The relentless persuasion of Agile practitioners (or students of their many courses) leads to one or more teams following frameworks that are cumbersome, unproductive and quite frankly, broken. Agnostic Agile aims to change all of that by once again focusing on flexibility, and how shifting frameworks and procedures to suit the product and customer concerned can be far more resourceful. Subsequently, this also fosters a workplace culture that provides teams the freedom they need to professionally thrive.
How can I inculcate Agnostic Agile in my software development projects?
If you’re asking yourself this question, then hats off to you for objectively thinking about how you could improve as a project manager or scrum master! Right now, you’re in the zone of self-awareness – one that will feel tough in the beginning, but will smoothen over time. It gets worse before it gets good, as self-analysis can often feel like a difficult undertaking.
Are you a business or product owner who’s reading this? Then the following guide is just as useful for you too!
As you introspect on any shortcomings that may be potentially affecting your software’s competencies, here are a few questions to ask in order to gain better clarity:
Doing a brainstorm session with your colleagues by asking these questions will give you plenty of feedback in order to ascertain where your problem areas are, when it comes to your development lifecycle.
Implementing an Agnostic Agile framework for your software project.
Now that you have a good idea on what your problems are, it’s time to seek a solution. Keep in mind that the solution you newly adopt may not be exactly what you need – and that’s totally okay! Not being one-size-fits-all is the cornerstone of Agnostic Agile, and you can feel free to keep changing as you go, and as often as you need.
Constantly welcoming and responding to change is what Agile is, after all. It will never stop being a work in progress.
Revolve your entire development methodology around your customer’s requirements/objectives, and you’ll get a blueprint that works well for all of you. It all starts by understanding exactly what those customer needs are. Next…
Once you have your customer’s requirements outlined and understood, you need to figure out how you will meet those objectives. Discussing how you will do this with your team will eventually influence the methodology you implement. It’s important to remember that everyone’s opinion matters – giving all your team members a safe space to voice their suggestions and feedback is essential to not only accumulate as many ideas as possible, but also foster trust and rapport.
While there are no rules per se in Agile, there are a few principles that need to be adhered to in order to establish work morale that’s customer-centric, valuable and ethical:
– People over processes
– Working software over documentation
– Collaboration over contracts
– Change management over formalized plans
As you can see, these principles always put your customers, team members and the product being developed into prime focus – no matter what happens. Irrespective of the nature of your project, adhering to these principles will always reap you successful outcomes – as the satisfaction of your team members, customers and their users will always be met.
As long as your Agile framework also focuses on the same variables, that’s all that matters. Need to modify the product backlog of your Scrum methodology to entertain frequent client requests, for example? No problem! Reminding yourself that you need not follow all the rules is what will enable you to adjust prevailing frameworks to help your case – not hurt it.
Owing to rapid advancements in software and mobile app development, rarely anything stays the same. But it doesn’t mean that you always need to enrol yourself and your team members for courses that promise to grant you all the skills you need to get ahead. Agile development is also no exception to this rule, and the best way that you will learn about what works, what doesn’t and what’s in vogue is by being involved hands-on.
In other words, experience will help you attain the enlightenment you need. Just keep at it, and you’ll stay at the top of the knowledge pile.
And there you go! Executing an Agile methodology doesn’t have to feel daunting, with Agnostic Agile. Nothing worthwhile ever comes out of doing something in compulsion, since it almost always inconveniences one or more entities involved.
So all we’ve got to say is…
While Agile was formulated to succeed the Waterfall method to a great extent, its founding principles have been lost due to the immense dogma created by many an Agile practitioner – particularly those who force-feed frameworks by the book. Through complex ‘courses’ that dictate how a specific framework should be deployed (or if at all), such restrictions have proven to not only be frustrating, but caused businesses to lose out due to a lack of customer-centricity in the final product.
Agnostic Agile is therefore the brainchild of four dedicated (but incredibly worried) tech enthusiasts, who aim to shed light on what Agile truly is all about, and the fact that it’s never meant to be a one-size-fits-all solution. Their twelve principles outline what matters (the customer, your team members and the quality of your product, of course) and customizing your Agile framework to suit all three variables is what should be your focal point, as a project manager and product owner.
Investigating on your prevailing development practices and what roadblocks they encounter is key to understanding how you need to improve your system. Talking this through with colleagues and customers will help you understand the blueprint you need. Thereafter, making changes to your current framework (without any fear of bending the ‘rules) is all that’s needed – as ironically simple as that sounds.
“You’ve gotta start with the customer experience and work backwards to the technology.”
– Steve Jobs