There are numerous ways to organise the process of developing and writing code. Although it is impossible to mandate one way as the only path, there is a great deal to learn from each one. Learn about the benefits to working in different formats and procedural approaches in this overview on code-creation techniques. Watch our video to understand the main concepts in processes that are known to generate a successful outcome with code design.
Next up we are going to talk about software development methodologies. Development methodologies is a battle between dogmatism and pragmatism. Dogmatism is people who just have a zeal. They say that this way is the way. If you deviate from this way, all is lost. Pragmatism, pulling together what works in the moment. There are definite benefits to both. The people who are more dogmatic versus pragmatic, I believe produce a better level of insight into the system because they’re really spending a lot of time focusing on their tool and what it can do and how to optimise it. They produce a better raw product.
Pragmatists can look at all of these raw products and say, I’ll take that bit from there and that bit from there and can be more effective when it comes to changing requirements and changing projects.
What is a software methodology? It is a process or series of processes used in software development. Again, quite broad but that it is things like a design phase, a development phase. It is ways of thinking about things like waterfall being a non iterative kind of process. Generally it takes the form of defined phases. It is designed to describe the how of the life cycle of a piece of software.
It is also codified communication. So you’re actually setting a set of norms between a group of people that say this is how you’re going to work and this is how you’re going to pass information between each of you in certain ways, whether that is documentation, whether that is discussion, whether that is drawings on paper.
So some examples. There couldn’t be that many different software development methodologies. I’ll just go through some of the ones that I found just through a quick little Google. There are as many as you can possibly find and pretty much any time someone has one and decides to vary it even slightly from an existing one, they will put a new label on it and call it something new. That makes it quite hard to be across all of the different types. One of the things I want to talk through is how unimportant it is to be fixed on using just one of these.
I’m going to talk through a few different ones. I’m going to talk through agile, I’m going to talk through lean and I’m going to talk through waterfall. I will look at some of the pros and cons of all of them and how every one of them has benefits that you could use to apply to your business.
Before we begin though, the biggest single lie when talking about software development methodologies is that there is one outright winner that if you use this process it will produce perfection every single time. If you don’t get a good result out of it that you yourself have misapplied the process in some form. That is the hardest part. It is saying that it would have worked had you adhered to the process more carefully.
One thing is for certain; writing code and bringing it together in a working form requires discipline and organisation. The skills that are required involve a team that is centered around a plan of action. Even if there is one person writing the code, there must be some form of management to plan the approach that works for a successful outcome. Now that you have an overview of these processes, you can learn about the system that makes the most sense for your project.
Are you looking for the right approach for your software development? Get in touch with us today.