Software testing is the process of executing an application or program with the intent of
finding software bugs. It also can be used to see if the intentions of the software were made; validate or verify that the program works as expected. NO SURPRISES!
Every single software developer talks about Open Source Software. They say, I love Open Source, Have you changed that program?, I’m installing Linux! But what the hell is Open Source?! Sometimes things are hard to explain and life is better with LEGOs, so here is an explanation of what open source is…
Software Architecture is the representation of the program that helps to understand how the software will behave. It serves as a guide for the design and the implementation teams. And is the first line of the system’s quality, such as performance, modifiability, and security. None of these could be done without an architectural vision.
There are Software Development Processes that help to plan and manage better the software that is going to be developed. Usually, industries use them to develop and
maintain an application. Each process has its own methodology; and each new process
pretends to be better than the old ones.
The most famous processes are:
Waterfall
Prototyping
Incremental
Spiral
Agile
Agile vs Waterfall
There are big differences between these methodologies, but at the end developers use both daily. Usually there’s no preference for one or another, you just do what you have to do…
At the end…
We end up with a piece of software that give us some kind of satisfaction when we use it. That is what software has become, a part of our lives that days before wasn’t even planned like that. People change, technology change and we keep updating our world just to improve our lifestyle.
I don’t know why everything in this life has a cycle, but anyway, I will talk about another cycle in this blog. The Software Development Life Cycle! 🤘🏻🤘🏻🤘🏻
This cycle is used in the software industry to develop high quality products and at the same time satisfy the client. Basically it consists on planing ahead everything, so the work could be done easily.
The basic steps are:
Planning: it shows only the technical approaches of the future program.
Defining: this process meant to document every requirement.
Designing: as the name said, it’s to design the architecture of the software.
Building: here is where the developement starts, by starting to build the software.
Testing: by testing the software, you will have an answer and opinions of it.
Deployment: finally you deliver the product and maintain it.
Want to know more about software development? CLICK HERE
Not every process is perfect. They can also have some imperfections, and Agile is one of them. Even when it is very useful there are some disadvantages that don’t give the perfection to this method.
Here’s a list of some disadvantages:
Active User Involvement: agile needs the opinion of the user, and this depends totally on availability of time. Also the user needs to have commitment with the project.
New requirements: continuous changes to the software may result on infinite projects, also the price can be harder to calculate.
Constant testing: this requires people who should test the software constantly, that leads to spending a lot of money.
100% functional: Every finished program should be like that, this causes that the developers end up really tired.
If you love Agile development, maybe you are totally against this Post. That’s why we have another post with more information about Agile HERE
Normally we use our electronic devices every single day of our lives. We use our mobile applications, play with our computers or even argue about the new technology. But, have you ever think about the past? How did people live without a smartphone? Or what we did to evolve from nothing to today’s technology?