Do you know the most appropriate software development methodology for your business?

Nowadays undoubtedly most companies must make use of ICT in the development and expansion of their business. That´s why currently it’s difficult to imagine a company that hasn’t had to implement software projects, whose goals are generally to simplify, automate and/or speed up processes according to the type of business or company.

However, the development and implementation processes of a software can get complicated if one doesn’t apply an appropriate methodology. So what happens when these processes start to get complicated? Everything takes longer than expected and costs surpass the initial budget, generating much dissatisfaction for everyone involved. For this reason it’s important that you understand the development methodologies and learn to identify which is most viable, and above all, most profitable for your business.

Let’s start by saying that a methodology refers to logical procedures that serve to achieve one or various objectives within a specific task. So, in the execution of software projects, the methodology comes to be a framework that allows one to establish a structure and determine the development process of the project in question. Maybe you’re thinking about what would be the appropriate methodology for that software project you need to implement at your company, but to do this it’s key you know the ´´families´´ of methodology that have been developing in the industry along the way and what the pros and cons of each one are.

Traditional Methodologies, the classic ones.

Everything starts with Traditional Methodologies that appear in the roots of the software industry when it becomes apparent that projects need to be established under a logical work structure. These methodologies contain very defined and solid phases that aim to be addressed in their entirety and under very sturdy and thorough parameters of documentation that generally make the process slow and complex.

At this point involvement of the client is usually limited; for example in some traditional methodologies like the Cascade, as a client you only participate in the first phase of the project to make your necessity clear; what it is that you want and what is the result you are hoping for. You will be involved again some months later in the software implementation stage, but what happens in between phases is to some extent unknown to you. Although it may seem trivial to ignore project phases, it might be that there are mistakes in the understanding of the needs of satisfaction (actually it’s quite common) and thus, at the moment of implementing the product, you realize it doesn’t fully meet your expectations.Of course this can be corrected, but it has an additional cost and taking into account that you will have already invested considerable time and resources, the project loses profitability.

Agile Methodologies, a pragmatic vision.

At the root of the inconveniences observed in the projects developed under traditional methodologies and seeing that the needs started to get more and more variable and dynamic, Agile Methodologies were born.

It was no longer viable to spend so much time obtaining tangible results in each phase of the project, with the additional risk that the final product didn’t meet expectations. Accordingly, agile methodologies are characterized by their speed in execution and the documentation topic loses relevance although it doesn’t disappear. To be clearer, this type of methodology proposes to do what is necessary; no more, no less. In contrast to the traditional ones where one follows a rigid structure, agile ones are flexible and they are conceived to adapt to any necessity, achieving effective investment of time and resources in each project to attain the desired profitability.

Within this family, some of the most used are the methodologies XP, Kamban, Scrum , among others. But we will go into more detail about that in a future post.

Hybrid Methodologies, a good try.

Finally, towards 2010, hybrid methodologies appeared, trying to combine the best practices of traditional methodologies and those of agile methodologies. What they look for is documentary robustness, but also swiftness in the delivery of results to the clients. However, this type of methodology has not had much success in practice, so you probably won’t hear much about that.

So currently the trend in our industry is framed by the use of agile methodologies and to a lesser extent, by traditional ones. So now, after this broad overview of development methodologies, do you have any idea which is the most appropriate for your business? If you’re not sure, don’t worry; contact us. We can advise you.