Everything you should know about the Agile Manifesto
Is everybody into Agile now? Maybe not, but when it comes to software development in the 21st century, we think they should be! Agile style of work is all about responding quickly and appropriately to a rapidly-changing environment which seems a good description of the world right now. And yet, the word ‘Agile’ has become so widespread that it’s in danger of losing its precise meaning. In this article, we want to take you back to core Agile principles described in the Agile Manifesto.
Table of contents
Agile working
A tight definition of Agile is tricky, and often ‘agile working’ overlaps with flexible working, home working, smart working, etc. But what is clear is that agile working is a way of looking at who does the work, what they do (role), when they do it, and where they do it. Optimizing these factors relies on the use of new communication technologies - it’s no coincidence that the popularity of agile working has developed alongside the cloud and virtual tech. And all of this is taking place in the context of an increasingly complex, uncertain, and ambiguous world.
Agile software development
Focusing on digital product development gives agile working a sharper and more precise focus. These days, Agile software development is present in the form of frameworks such as scrum – a set of practices that focuses multi-disciplinary, self-organizing teams on user needs and business goals. Scrum relies on early prototyping to test the product features and design, and is capable of pivoting the direction of development in response to changing external factors. But whatever agile methodology you use, the chances are it’s based on the Agile Manifesto. To find out more, let’s go skiing.
What is the Agile Manifesto?
Once upon a time in a ski lodge in Utah, there were 17 representatives of alternative software development thinking (proponents of scrum, feature-driven development, extreme programming, etc.) They gathered to exchange ideas and (hopefully) find some common ground or principles that joined their assorted agile frameworks. What they produced was the Agile Manifesto - a short statement of intent that encapsulates an agile approach to creating digital products, as follows:
The Agile Manifesto
We are uncovering better ways of developing software by doing it and helping others do it.
Through this work we have come to value:
Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan
That is, while there is value in the items on the right, we value the items on the left more.
The idea of these four values is to ensure development processes are focused on creating quality digital products with, and for, the users while addressing business needs and objectives.
If not Agile, then what?
If your software development process isn’t agile, it’s probably waterfall. Waterfall is the pre-Agile standard for creating software. Born in the 70s, the waterfall process is much more rigid with a strict sequential structure. It involves minimal interaction with customers or users, and it’s famous for its detailed documentation (all the things our 17 ‘rebels in a ski lodge’ were trying to get away from).
In waterfall:
- Project requirements are defined first – any new information, such as changes to market needs, during development result in beginning the process over again.
- The process is linear – step 1, step 2, step 3… with no option to change the order or revisit previously finished steps.
- Testing is done after building the product – missing the opportunity to pick up errors early in development.
- Time, price and scope are fixed at the beginning – no room for maneuver if it turns out that any of the initial parameters or assumptions were incorrect or have changed.
Though different or modified versions of waterfall have been introduced to tackle some of these difficulties, ultimately they tend to be waterfall-plus-elements-of-Agile. Even for smaller, short-term projects with clear parameters, Agile is the way to obtain better product quality, higher levels of user involvement, more effective teams, and more flexible budgeting.
Agile Manifesto principles
To return to our definition of agile development, while the four values lay out the basics, the Manifesto also has twelve principles that add another layer of detail, making it quite clear what Agile is and what it’s not. At Boldare, we’ve found that each of the principles can be applied in practice.
1. Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.
Agile software development is a partnership with the customer or end user of the digital product. If you don’t get your product (or product iteration) into the user’s hands, how will you know whether it’s a success?
2. Welcome changing requirements, even late in development. Agile processes harness change for the customer’s competitive advantage.
Scrum and other agile processes acknowledge that anything can change at any time – business goals, user needs, market trends… we use the system of regular sprint review meetings to ensure we’re always ready to pivot the direction of development, or even rethink the whole concept, when necessary.
3. Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.
Working in scrum, we deliver regular and rapid iterations of the product with every sprint. Usually, every couple of weeks, we have a new and functional product or part-product that can be shown, tested and maybe even released.
4. Business people and developers must work together daily throughout the project.
When putting together a development team for a project, we include product strategist and business analyst skill sets in the mix as standard, to ensure relevant business input to the process.
5. Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.
The working environment (remote or in-office) that we create for our teams, and share with our stakeholders and partners, is crucial. People who have control over how they achieve their development goals are more committed to achieving those goals. At Boldare, we extend this principle to our organizational structure - we work in holacracy.
6. The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.
Obviously, in the era of COVID-19, “face-to-face” can’t be taken too literally! However, COVID hasn’t diminished our commitment to getting teams and stakeholders together (under safe conditions, including Zoom) and having clear, open conversations about what we’re building and why. In fact, the pandemic has inspired us to focus on how to keep a high level of transparency at remote work.
7. Working software is the primary measure of progress.
A functional prototype or minimum viable product (MVP) enables positive interaction with users, gives our partners and clients something tangible (as a stepping stone toward the final product) and can be used to persuade investors of a project’s viability. This principle also fits well with the lean startup approach: build-measure-learn cycle.
8. Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.
In a sense, agile software development never ends – as long as some form of user or market need exists, the product can be developed further. At Boldare, we use an agile approach to take a digital product through the four successive phases of full cycle product development: prototyping, MVP, product-market fit, and scaling.
9. Continuous attention to technical excellence and good design enhances agility.
Accurate, bug-free coding is important (really, it’s essential!) but so is good design. Our agile approach includes the idea that the design of the user interface (UI) and user experience (UX) are necessary elements of a great digital product.
10. Simplicity–the art of maximizing the amount of work not done–is essential.
Our regular scrum meetings, product discovery workshops, and constant communication may sound like a lot of time spent talking – in fact, we prevent wasting time (ours or our clients’) on unnecessary development work.
11. The best architectures, requirements, and designs emerge from self-organizing teams.
Absolutely! This is why we work without product managers, only scrum masters who help our teams to work efficiently and provide business value.
12. At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.
Just like the product itself, the development process benefits from regular review and improvement. Retrospective meetings at the end of each sprint critically examine the process the team is using, and looking at the past leads us to valuable conclusions, so we can do things better in future.
Why follow Agile Manifesto principles?
Agile values and principles are at the heart of how Boldare approaches digital product development; meshing neatly with holacracy and lean startup approach. After 17+ years spent developing more than 270 digital products, we can say that using principles of the Agile Manifesto results in quality software that meets both business and user needs, and can help maintain a competitive advantage. The Manifesto summarizes a philosophy we follow to create outstanding digital products and provide high-quality services to our customers.
Are you curious how it feels to join Boldare and follow Agile principles with us? Visit our career page and check the current vacancies!
Share this article: