Agile is mainstream. Agile isn’t flawless. Agile works, that’s a fact – although it receives rather polar opinions in the world of software development. Sure it’s way closer to good than bad. There are lots of successful projects and rapidly growing startups who owe their success to making their mobile products via agile. Meanwhile everything in this world has its strengths and weaknesses. Everything serves its purposes. You obviously can’t write with a hammer and drive nails with a pen.
But how should you know whether agile development is right for you? How do you know that it’s an agile team that suits best for making your product? Just take a look at the 12 main principles of agile – the more of them apply to your vision and business plans, the more agile approach suits you. Here is the easiest way to find it out.
The 12 Principles Of Agile:
1. Client satisfaction by rapid delivery of useful software.
You have deadlines. You don’t want to wait until someone rolls out a product with the same idea as yours. You need to act promptly and give working software to end users as soon as possible. Same with generating ROI for further improvement of the product – and further revenues.
2. Welcome changing requirements, even late in development.
This brings competitive edge to the resulting product. Returning to previous work and having to alter it gets a bit frustrating, but it has to pay off as vital relevance.
3. Working software is delivered frequently.
Weeks rather than months – commonly 2-4 weeks. It allows to guide and alter the direction of the project and facilitates Principle #2. At the same time you receive frequent insights into what’s been achieved over each iteration.
4. Working software is the principal measure of progress.
Since agile receives many accusations of rolling out half-baked software, many agile software companies accentuate quality as the priority par excellence. A quality that works is just what you need. But to achieve it, you’ll have to accept Principles #5 and #6 (at least, the latter), and never cut the costs of quality assurance.
5. Face-to-face conversation is the best form of communication.
Oops, here we’ve come to contradictions with the idea of outsourcing. Indeed, you can assemble an in-house IT department. It will take time to find the human resources and provide them with equipment. It will cost more – you’ll have to provide salaries no matter if the team is busy or not. Otherwise, you may outsource the project. That’s not face-to-face, but it works faster and cheaper, as far as experience goes.
6. Close, daily cooperation between the client and the development team.
But if you want faster and cheaper with your expectations met, be ready to spend a little more personal time on it – or if not yours, then the time of a responsible person from your side. From the side of your software company it will be an experienced project manager trained to guide the project and deliver it to high satisfaction of the client.
7. Projects are built around motivated individuals, who should be trusted.
Therefore motivation comes from inside the company (developers love creating products they are interested in, and getting worthy rewards); often clients motivate team members after successful collaboration. Trust surely isn’t established momentarily, but reputation of the company in general can positively affect the initial relationships.
8. Sustainable development, able to maintain a constant pace.
Perhaps the biggest flaw of agile approach is described as inability to give precise estimations. As a result, more risks are thrown in, estimates grow bigger, and the client isn’t sure that the budget will be enough. However, once you define the minimum viable product and approve the design, you’ll get a clearer picture of the time required to complete the project.
9. Regular adaptation to changing circumstances.
Business evolves as fast as the mobile world. Users get more and more demanding. There were cases when a mobile product completely changed its philosophy and target audience without significant functional changes – and found success.
10. Continuous attention to technical excellence and good design.
Users don’t know what they want. Their expectations may change. Their feedback shows their current attitude to the product – here you are able to adjust it quickly. The team also brings creativity and expertise into making a product that offers high level of user experience.
11. Self-organizing teams create the best products.
Experience and commitment of each member is valued. The common input of each involved person makes your product better. That’s more about the way the internal work processes in the company are elaborated.
12. Simplicity – the art of maximizing the amount of work not done – is essential.
This means, if your budget is limited, you invest minimum to create an MVP. The team focuses on the vital set of features.
Agile is common with mobile startups, businesses with unstable market, where needs change faster than development responds. If your business lives by the majority of the abovementioned principles, agile is the way for you.