Software is a product! Or is it not?
Talking about Software Development Life Cycle model (SDLC)
Reading Time: 3 minutes
Software is a product.
When you think of a software that is the classic PC program, a mobile app, a web application or a web service you always think about programming. Very often you even focus on the language used.
But who is the software intended for? Who uses it … i.e. the end user.
And this end user has expectations of our software.
And do you think this user cares about the programming language used?
Absolutely not! I guarantee it. Very often he has no idea what a programming language is. So to think that he can appreciate language A rather than B is pure madness. In spite of everything I happen to see software brochures where it is highlighted that it was written with a certain language. Unbelievable.
If you are doing it too … think about it. And change it now 🙂
What really interests a user? Essentially only two things.
That he does the job he expects and that, above all, he does it well.
They seem trivial things but they are not at all. Think about it.
Are you interested to know that the engine of your car is made of aluminum rather than cast iron rather than steel? Unless you are Jeremy Clarkson I don’t think you are interested.
What interests you is that it works or that it gets you to your destination and does it well. So you don’t have to break it on the way. Then if it also manages to make you consume little is even better. If it pollutes little we are at the top. But what matters is that it gets you to your destination in the best way.
For a software the concept is more or less the same.
Take accounting management software, for example. If you run a company, does it matter to you that it was written in C++ rather than Java or Python or C#? I don’t think so.
If it miscounts or does not store the information correctly that would be a problem.
So, going back to our software, you need to do a series of operations to make sure that our product does its job in the best way.
By this I don’t mean that writing the code doesn’t count for anything. It is a fundamental element but, to be considered a product, there are many other aspects to consider.
Programming is only one of the phases of product development.
But then … What are the phases of product development?
The development of a software product includes a very wide range of heterogeneous areas to consider.
Below is my personal interpretation of the Software Development Life Cycle model commonly called SDLC.
My Software Development Life Cycle model (SDLC) steps
A brief explanation of the individual steps
1 – Conception
Everything starts from an idea and therefore it is necessary to define it exactly
2 – Analysis
The idea must be analyzed at least on the main aspects. Costs, Development Time, Market Analysis, Potentiality, Competition Analysis, Sector, Target and much more.
3 – Planning
No product can exist without careful planning where all the time and resources necessary for the project are established
4 – Design
When we talk about design we immediately think of the UI. Correct but here we also design the UX in its entirety and many other important aspects such as the structure of the product itself, the libraries, the data architecture, the communication with any API and much more
5 – Implementation
In this phase we give free rein to code writing by implementing what we defined in the previous steps
6 – Testing
Appropriate controls are carried out to verify that the product complies with the specifications and if necessary, appropriate modifications are made
7 – Release
The product is released to the end user through the various distribution channels
8 – Maintenance
The product, if expected, must be maintained and overhauled as problems emerge
This article has the sole purpose of giving an overview of an aspect that is as important as it is complex and deserves much more in-depth treatment. Every single point deserves its own treatment. Some of these steps have important under steps and even have recursive cycles.
To tell the truth I have not listed many aspects that usually are not considered in the SDLC model but that instead, in my opinion, are part of the speech and concern marketing, communication, sales, services many other aspects that must be taken into account.
If you are interested in the topic I would like to have your opinion. However, stay connected. I will deepen these arguments.