This was originally published here kodeinstincts.hashnode.dev
Agile is a thinking methodology, a system of operation, a culture that governs systems and processes within a team.
Agile methodologies stem from the "Agile Manifesto". Agile is not a framework, software or tool, it's a concept, a way of thinking, a culture of product/service delivery.
Agile is about values; these values are enshrined in the Agile Manifesto which places the customer experience over the product development cycle.
The manifesto essentially values people above interactions and processes, working software/product above documentation, customer collaboration and satisfaction above contract negotiation, responding to changes above following product development plans.
Agile is discipline agnostic, this means; it works anywhere, from engineering to marketing, law enforcement, media, software development, etc. The need for an agile culture is rather obvious as customers are daily becoming more and more aware of what products and services can offer them, they have inadvertently become more selective, impatient and unforgiving.
Over the years some frameworks have been developed around the Agile concept, these frameworks help solidify the agile manifesto in principles and actions. The "Scrum" and "Kanban" are some of the most notable of such frameworks.
As a team you have to choose what works best for your team, it could be one or a hybrid of the frameworks with a touch of your teams' unique flavour. The goal is to keep the fidelity of the Agile Manifesto while giving it the interpretation that best suits your team.
As opposed to the traditional product development and delivery methods, where a team of product developers, designers and owners lock-in with product spec and build it from scratch until they feel their customers will love it, then they ship. Until it's shipped they have no real feedback, no real interactions with the market forces, no meaningful data for validation of their product, processes and systems.
It becomes harder for such a team to respond to changes, they may have to pull out a large chunk of the codebase to respond to a minor/major change, it takes them a long time to fully respond to these dynamics because they aren't prepared for it. They just aren't Agile.
An Agile team is happy with the Minimum Viable Product (MVP), you have surely heard of the term; an MVP represents the smallest working product or features your users can interact with. The MVP is a model to curry feedback to the team. Features are added incrementally as customers favour or dislike the current one. What you find is that these MVPs may not be elegant looking, but they are functional, they are Agile.
An MVP could be termed as the teams' "increment", their definition of done, a milestone, or a shippable Epic. These MVPs are products of sprints engaged by the team, a sprint typically should span a 2-week period. Sprints have backlogs which are definitions of ToDos curated from the project backlog. These backlogs are filtered and altered according to the feedback received from the last shipment. You immediately see how Agile is immersive, involving the customer, designers, developers and product owners.
An Agile team will get to the market faster, get realistic feedback and reiterate on their product, services and systems to meet their customers evolving needs and taste, as well as save production cost. They handle changes more efficiently, implement new features with more confidence and have a more committed team and happy customer base. They are Agile, responsive and dynamic. They learn by failing, you could say failure is their best friend. They constantly reiterate over their failing processes until they have the system that works.
Is your team Agile yet? What Agile methodologies are you implementing? Are you an Agile practitioner?
Keep an eye here as we increase your agility.