Choosing the right technologies and tools are vital for the success of any software development process. The right decision here could ensure the project's ultimate success. In this article, we try to look into what is the right approach when starting a new project.
When we opt to select any software methodology, we should consider various factors that we will discuss further in the article. First, let's take a look at the most common software development methodologies.
Overview of software development methodologiesÂ
Waterfall Â
For example:
Analyze > Design > Build > Test > Deliver
One of the main downfalls of this methodology with the larger projects is the late opportunity for validation. IT could potentially take months before the client sees the product.

Agile  Â
KANBANÂ Â

ScrumÂ
Scrum focuses in cycles called sprints, where the main KPI is the velocity or the amount of work the team could deliver within a given sprint. It can convey product increments at a steady pace. It requires specific roles and so-called artefacts as tools within the framework.

Design Thinking Â

What to consider when choosing the right software development methodology Â
To make the right choice, we need to look at the structure of the team and the type of project that we plan to manage:
- Dedicated team
- Fixed-price model
- Support and Maintenance
Each of them comes with different challenges. By choosing the right project management framework, we can successfully tackle these challenges in each case.
Dedicated teamÂ
This team structure provides the best options for long term team development and structured approach.
- In case we are looking at medium to a large project that would involve a team of 5 - 7 people, then Scrum would give us the framework that we need to support complex planning-delivery-feedback iterations.
Here we are looking at a well-experienced team that that is to some degree a self-organized unit that could commit to the sprints and deliver with good average velocity. With such a team, we would expect a good communication plan with the client with relevant roles, such as Product Owner.
Fixed price projectÂ
- For small projects – Waterfall could be easily used to design, build and deliver in such small scales. The risk is low due to short timeframes and lower budgets.
Commonly, such projects would naturally span into long term support and development with various resources working part or full time on it. Here as we mentioned previously, we could use KANBAN as more suitable for such support type projects.
Support and Maintenance Â

The bottom lineÂ
There might be different circumstances in your organization. The team size and the skills of members, processes in place, client base and business case can vary, but regardless of that, there are plenty frameworks and tools that you can implement in any given organization.
The fundamental, however, remains that regardless of the sophistication of those tools it's the people that would use them. The tools and processes should be serving the people and not the other way around.



