You have decided to create your own product: you have already chosen to work with our #MRTteam, issued ideas, and are ready to start development. But first, it is important to solve one more question — how the process of working on the project will be organized.
Previously, all projects were conducted according to a single Waterfall methodology, it has been known since 1970 when Winston Walker Royce invented and described it. Later, flexible Scrum and Kanban approaches appeared. We successfully apply all three methodologies in practice at Mobile Reality, and this article is about how we conduct projects not in a canonical form, but in an outsourcing environment where the project manager fully manages the processes.
The methodology was named for the sequence of actions: the process is like a stream of water moving from one stage to another. Another name is the cascade model. An important difference in the approach is that it is not flexible. Development takes place step by step: until one stage is completed, the next one does not begin.
Waterfall Software Development Structure:
analytics and design;
publication or release;
Projects with clear deadlines and budgets (Fix Price projects) are suitable for this model. When the customer is sure of all the requirements and definitely does not want to change something in the development process.
The main drawback of the waterfall model is that it is impossible to make changes to already closed stages. For example, if analytics and design have been done and development has begun, corrections are no longer possible.
It seems that such a sequence cannot have risks, however, they are: by the time of launch, the market situation may change, and the product with the current requirements will become useless to anyone. The WaterFall method is more suitable for the development of internal corporate products, where there is no need to bring an application or other system into a constantly changing business environment.
Scrum is a kind of Agile Agile methodology. The methodology is that tasks are divided into time intervals (sprints), which can last from a week to a month. Thus, a large project is decomposed into several small tasks. The team undertakes to complete all tasks during the sprint.
For many years, Scrum has been our perfect choice for the Time and Material projects. Sometimes it happens that the customer doesn’t know what will be best for the product, so Scrum is a good option when time is of the essence, as we can focus on delivering the finished solution as quickly as possible. Pre-analysis and knowledge of our goals are extremely important, therefore, in cooperation with T&M projects, we cooperate with the client and make a valuation during a dedicated ceremony. In addition to crucial day-to-day issues and planning, our key meeting in Scrum is Refinement, where we can rediscuss requirements and check priorities. Prioritization helps in organizing work at a particular stage and allows us to manage tasks more effectively.
In Scrum we are mainly focused on:
• Software quality as a first and accelerate the speed of software development as a second
• Client’s vision and client cooperation
Kanban is a continuous release of tasks, starting from getting on the board in the status for completion until it is fully ready.
The main tool is a whiteboard, the project manager manages the priorities of tasks and constraints in columns.
This type of management we use in terms of Fixed Price projects. Fixed Price needs more straightforward rules for processes. To be the most efficient we find Kanban to be more suitable for this kind of project than Scrum. During pre-analysis and after the initial estimation of the big scope we set up everything in our management tools and we proceed with a backlog. As work has more scope than in T&M projects, we are limited to plannings, dailies, and retrospectives. Refinement is no longer needed because planning ceremonies makes enough work here. Fixed price gives us a clear vision of what needs to be done, however, changes during development are limited.
In Kanban we are mainly focused on:
• Well-conceived solutions
• Long-term maintenance
The experience of working on different projects has shown us in which situations this or that methodology will work at its best:
If you want to develop a corporate tool, Waterfall is more suitable.
If you want to bring a new product to market, it's better to use Scrum.
If you have technical support projects, Kanban will be an excellent option.
We also recommend you contact us, so we can help you to choose the best work model for your project. But whichever way you go, be sure that in Mobile Reality we always put efficiency in the first place. Despite any problems in the project, we will always react quickly and make the best decisions for you.