Basic Terms used in Management Methodologies
For developers, project managers, QA engineers and other professionals involved in the IT industry terms like Waterfall, Kanban, Agile and etc. are understandable. But for the majority of customers, they are new. And that’s okay. You aren’t supposed to know everything about everything. Actually, there is no such a need.
However, if you have faced with this terminology — no worries. Let’s have a short look at some of the most common and often used terms and find out what do they mean, so you won’t have to google for ages. This will not be a treatise, we will keep it brief and just enough to understand the basics 🙂
The waterfall model is a sequential (non-iterative) design process, used in software development processes. Generally, the work starts from the phases of conception and initiation or directly from the phase of analysis, and flows linearly through design, implementation, testing, production/implementation, and maintenance.
In a wider perspective, it means that it is not always possible to implement changes. For instance, on the testing stage, adding new features can be a challenging thing to do. Not every development team will agree to do that because one change can bring a need for other changes in the product. Often changing the code in one place impacts on the way the entire code works.
We can use waterfall when:
- Our client exactly knows what he wants and needs.
- Requirements are very well documented and clear. And they will not change every few days.
- The project is short (lasts for 3-4 weeks).
- Product definition is stable.
- Technology is understood and is not dynamic.
Also, we recommend you to watch Introduction to Scrum – 7 Minutes (till 1:50) for more information.
Generally speaking, Agile is a collection of values and principles. Agile itself is not a step-by-step guide.
Agile is a mindset, a way of work that allows product creators to easily adjust to stakeholder and user needs.
According to Scrum Alliance, the largest and most influential professional organization in the Agile community, an Agile framework allows team members to collaborate to decide on the most effective and efficient ways to complete work while making sure that the end users receive what they want and need. The focus is on people and interactions, not processes and tools.
The Agile approach is the best option for startups. When building a startup (here we mean a slightly new product or service), you just can’t be 100% sure that your idea will succeed and your product or service will have a demand on the market. Thereby, if the requirements are abstract, you need real users to test your idea and give feedbacks asap. In this type of cases, the waterfall can burn your pockets down bringing no visible results. The best decision here is to choose one of the methodologies, based on Agile approach.
Go for more:
Kanban is one of the Agile frameworks, used for managing the software development process. We are pretty sure that you are familiar with Kanban. Remember your to-do lists with the columns of work you have to do, the work in progress and, our favorite, the ‘done’ column? A similar list or, better to say, a board is being used in Kanban for visualizing the workflow and managing the progress.
In kanban, limiting the amount of work-in-progress at the each step of the development process is the key feature. The team works on a 1 task at a time, so there can be only 1 task in production. A number of tasks in each column is also limited. In our example, we can have only 3 in Development and 2 in Testing. Therefore we can pick another task from the Backlog only if we have less than 3 tasks in the Development column and so on. That is why kanban requires from the client’s side, the development team, or both, the possibility to clearly define priorities.
Scrum and Sprint
The scrum is an iterative process, used for managing software product development. Today it is one of the best known and often used Agile frameworks.
Scrum is a simple yet incredibly powerful set of principles and practices that help teams deliver products in short cycles, enabling fast feedback, continual improvement, and rapid adaptation to change.
In Scrum, there are 3 roles defined: Product Owner, Scrum Master, and Team. They are equally involved in the process of developing a product. The whole process is divided into iterations, that in Scrum are called sprints. Sprint is a set period of time during which specific work has to be completed and made ready for review.
Source: © Jam Buster Technologies
Sprint begins with a planning meeting. The product owner and the whole development team decide what work will be accomplished during the sprint and what criteria need to be met for the work to be approved and accepted. Taking into account team’s arguments scrum master determines the duration of a sprint. All future sprints mostly have the same duration. Usually, sprint lasts from a few days to 4 weeks. Certain time depends on the project’s complexity.
After the sprint begins, the product owner can not interrupt the work. The team will have daily stand up meetings to discuss the progress. The product owner can attend them but he will not be allowed to participate. The only thing he will be allowed to do is to answer the questions 🙂
At the end of each sprint, the team presents completed work to the product owner. He can accept or reject the work using criteria specified on the planning meeting.
We have used scrum in projects related to logistics, banking, financial operations, eCommerce and etc. Actually, scrum can be chosen for managing all kinds of complex and innovative projects in different fields.
Go for more:
- Scrum Alliance. Why Scrum?
- Introduction to Scrum – 7 Minutes (from 1:50)
- Scrum Methodology
- Intro to Scrum in Under 10 Minutes
Hoping this article was useful. Contact us if you have any questions left.
Special ‘thanks’ to Maria V., Scrum Master at Synergy Way, for consulting and providing professional feedback on this article.