The truth is they really love it! The majority of outsourcing projects are developed within the scope of methodology that are often called as “flexible” (Agile). As a rule, these methodologies are really too flexible and applied on a variety of customers’ requirements. In addition, companies that are involved in outsourcing, often identify themselves as “Agile-oriented", and embellish this orientation to the customers.
The essence of Agile approach for customer can be briefly stated as follows:
- Development is carried out by short cycles (iterations) in 1-4 weeks;
- Customer gets a valuable software (or part thereof) at the end of each iteration, which can be used in business.
I’ll try to look into the following questions: Why are customers so fond of Agile? Why is Agile good? Why is Agile so popular?
First, let's leave technical details, and switch to something more important: evident and hidden clients’ expectations. That’s often determining the choice of operation method, rather than rational discussions and accurate calculations. Thus there are 4 main reasons why customers love Agile:
Agile is fast
Agile-principle speaks about upbuilding some set of functions within each iteration. But in order to be ready within one small iteration these rapid changes shouldn’t be large. Therefore, Agile-approach allows you to:
- More quickly implement any customers' wishes
- Launch a product or its new version quickly on the market as there is no need for detailed documentation and planning in the beginning.
Agile is cheap
- No need to spend money on architectural design. For majority of customers, people from business environment, it’s totally unclear and it’s not necessary to spend their time and money on this. It’s better just to start doing something that "works here and right now".
- No need to spend money on documentation. The developers have special tools for documenting, recording, classification and systematization of all customers' wishes. If customer has a good Agile team then he can be sure that even if he wakes up in the morning and while he is brushing his teeth and sending any ideas via iPhone for developers team, these ideas will be immediately added into the system as stories / issues / requirements / improvements, and they will never be lost as the developers team will take them into account.
- No need to overpay for development.
- Agile methodology usually allows to reduce hours on project compared with Fixed Price method as business analyst doesn't include "Fix price risk airbag" as an element of insurance in the budget, because it’s just not necessary since Agile is paid based on hours spent.
- And of course customer quickly gets a software with minimum investment (or part thereof), which can be used in business.
Agile is easy and comfortable
Agile works as a set of control lights on dashboard. Do you like to drive? Do you like that dashboard allows you to control all car parameters? We think ‘Yes’. For example in our company using Agile methodology we provide "dashboard" of project for the customers where they can answer the following questions:
- What issues does team have?
- Who is the executor of a task?
- How many tasks do developers have currently?
- What priorities do tasks have?
- How many tasks have a certain status and priority?
- What issues or tasks will be launched next sprint?
- When will a sprint be launched?
- What tasks have "in progress" status?
- What tasks were already finished by developers and what tasks have been verified by QA-specialist
- If project has a problem, then "light flashes" immediately - the team can see it and fix within hour or to the next release (depending on the priorities). We allow our clients sleep well - as we have everything under control!
- Are you far away from your developers team? Are you in a different time zone? Don't you have clear requirements for the software? Usually if a customer is in a neighboring building he can come to the meeting, clearly represents the final view of his product and describe it to the project team, then any development methodology will work practically.
But when you have a distributed team, difference in 3-12 hours with the customer and the project's field is little-known for you and your developers then you are ready for experiments, failures and successes, then Agile is the only way to work in such a complex and uncertain environment, where the main goal is to take on a market and to be competitive on it.
For Developers Team:
- “JIRA” as Tasks & issues tracking system. This is a wonderful helper that allow us to classify all incoming tickets from the customer in a single structured place. Using tasks & issues tracking system is a guarantee that you will not lose any customer's requirements and develop them. Let your customers feel like at home! Put on his comfortable house slippers!
- “Confluence” as Team Collaboration Software. It’s one place for keeping of all docs, easy and quick search, collaborating on technical documentation, description of API, a manual with project participants, main decisions, meeting results, project files, test cases, final design, shared links, etc. This system makes that easily accessible. Even if tomorrow someone leaves your team, the customer will be sure that new employee will quickly join the team and easily learn the basic aspects of technical description. Let your customer to feel confidence in the future in this very unstable world!
- “PHPUnit” as PHP Testing Framework, Source code review and refactoring …. Work speed using Agile may entail some mistakes from release to release. Sometimes it’s very difficult to track these bugs so don't lose sight of it.
- Unit tests allow to check source code quickly for any changes that could lead to regression and mistakes in the already tested parts of software, as well as facilitate detection and elimination of such mistakes.
- Source code review and refactoring. Periodically Team Leader reviews the source code of all team developers as an independent expert, thus the overall quality of source code increases from iteration to iteration.
Use unit tests, source code review and refactoring today and keep your customer’s money tomorrow!
Agile is safe
Do new requirements in Agile project and a speed of work influence the quality of the product?
Customer shouldn’t think about it. He doesn’t need to take responsibility for decisions. Today customer wants one thing, tomorrow – he wants another and that's fine. If the customer will change his mind – it’s not a problem. There are always Team Leader, Senior Developers and guys with a huge work experience in Agile project and they understand the importance to build cross-platform, cross-browser, mobile, easy and scalable solution. There are main principles of our team, which allows our customer to:
- Make a demand on project: the requirements with any complexity and importance
- Cancel previously specified requirements and replace them with others.
- Do it at any project stage
For example today the customer wants to do only 10 functional pages, which will be reloaded with page updating. Tomorrow the customer will ask to implement everything using AJAX technology, with the interactive user interface that allows you to receive data from server in a background and update pages without need to refresh it. This feature allows you to make the software faster and more convenient. No problem! This feature development takes about 5-7% of previous budget as frameworks/CMS/Libraries (Joomla! CMS, Symfony 2, CodeIgniter, YiiFramework, Warp, AngularJS, jQuery, Bootstrap, ...) allow to make it quite quickly.
And if something is broken? And if something suddenly stops working? And if there is a conference or a meeting tomorrow and I need to present my product ... What do I need to do?
Agile works only when it fulfils all certain conditions:
- Cross-functional team of highly skilled professionals
- Real customers’ involvement and his constant readiness to work with the team.
The main idea of Agile is close communication and cooperation with customer. That means that Agile methods are used for documentation shrinkage and getting high-quality software in a short period of time. It allows paying only for the results, which are worth for business.
Actually, if to be honest, most of the projects aren't "pure" Agile. Each project is a collection of iterative processes with their requirements, goals and development approaches. So my team is trying to combine the advantages of different methodologies (including Agile) in software development and thus offers our customers a truly flexible approaches in software development with a reasonable price based on the realities of pricing in Eastern Europe in general, and in Belarus (Minsk) in particular.
Dear reader, if you have any questions or you would like to start working with my team, please leave your questions and requirements to the software via our contact form with the mark «For Dmitry Garbar». I will be happy to answer any questions, advise you in the selection of technology and develop comfortable software product for you.
Rate this article
Do you have a software development project to implement? We have people to work on it.
We will be glad to answer all your questions as well as estimate any project of yours.
Use the form below to describe the project and we will get in touch with you within 1 business day.