How much will it cost to me? When will it be delivered? How will you do it? What will I get out of it?
Almost every time. Every time we sit with our clients, they ask us these questions.
Fair enough. These are important questions. Like every other purchase we make, we dig deep into the details, take a market trip, talk with different people and get their offers, compare our options and see what suits us and what does not. We would be silly otherwise!
For software development projects, things are little complex. Generally, when clients share an idea with a web or mobile app development agency, they tell them the desired functionality and a set of features. They help initiate the design concepts as well. At this point, things are only speculative in nature. Either clients are trying to stretch a potential business model to its extreme efficiency levels or agency is trying raise the bar for an existing technology. Sometimes, we both are trying to achieve both. When the scope of the document is finalized and agreed upon, that’s when agency decides how much it will cost and how much time it will take to deliver it. That’s what we call ‘Fixed Time & Fixed Cost’ engagement model.
Though most popular engagement model, but there are some flaws in it. Some really bad flaws. Firstly, the mobile or web development company focus more on meeting deadlines than meeting the quality. The quicker the agency finishes the project, the greater the profit they earn. Quality becomes (practically) the secondary issue. Secondly, there is no room for change and innovation. Once the project requirements are locked, there are no (FREE) ways to change the requirements.
There are lots of known knowns. There are known unkowns. And finally, there unknown unkowns. You need a process that keeps single thing in mind and allows you to evolve and experiment. A process that is simple and flexible. A process that guarantees nothing lesser than a great product. You need Agile. You need Agile Distributed environment. Agile methodology answers complex software development requirements. It allows client to change their mind, and agencies to quickly adapt to the requested changes. Before we talk more about Agile, why not take a look at Agile Manifesto below:
- 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’s the beauty here. At RED SIGNAL, we are trying to completely transform ourselves into Agile distributed agency. For us, Agile is more than sprints and scrums. It’s real beauty lies in giving the clients ‘freedom’ to experience change. We don’t believe in ball and chain contracts. This is all about individuals and interactions. In our discovery sessions where we sit with the clients and discuss their requirements, we aim at understanding the core bits of their business processes.
We don’t do 1000 page requirement documents. Instead we tend to capture their requirements with high level stories that we call Epics. This is where customers tell us the ‘Function’. How to make ‘function’ happen is left for to developers. The development team breaks down these epics into smaller bits of stories that can be independently planned and executes. The entire development is separated into periodic iterations called sprits. The highest priority sprits are planned and executed first and then the others accordingly. The design, development and testing for each ‘epic’ is handled within that sprint only.
When you work across multiple time zones with tight delivery schedules and a fluid business environment Distributed Agile is your one shot power injection to contented customers and buoyant bottom lines.
Waterfall development cycle is different where design, development and quality assurance are separate phases and are handled one after the other. While the client approves the build, the next sprint is initiated. What if the client needs a change. A change in any requirement that hasn’t been started yet. Agile allows the client to introduce this change as long as the project scope and project timeline is not affected. If changes are so big that they might affect the project scope/timeline, Agile doesn’t come in between anywhere as long as both the client and agency are open for it. Since this development methodology is incremental and the client is always in the loop, the quality of the products/solutions being delivered is always excellent. Besides, we all have know how quickly market trends are changing, technology is evolving and customer expectations are increasing. Agile development allows to get the best of everything and build the solutions that satisfy everybody: the client, the agency and the end user.