Why software development resembles building a building?
The two processes are similar because they follow development methodologies. Methodologies are quite common strategies to be used in areas of knowledge focused on engineering, such as: Software Engineering and Civil Engineering. So there’s this resemblance.
What is a methodology?
Methodology is understood as the way - way - to use a
a coherent and coordinated set of methods to achieve a
so as to avoid, as far as possible, the subjectivity in the execution
work. Providing a roadmap, a dynamic and interactive process
for the structured development of projects, systems or software,
aiming at the quality and productivity of the projects.
The dictionary [WEBSTERS, 1998] defines methodology as a set of
methods, rules and postulates employed by a discipline: a
particular procedure or sets of procedures.
Therefore, methodology is a strategy used to define "who", "when", "how" and "when" do things.
And that’s why it’s as important as software development, choosing the right methodology for developing a project.
There is no way to say: "The cascade method is better than the RUP" or "SCRUM is the best of all time". Everything depends on the need of the moment, the company and the customer.
How to choose the methodology?
The choice of a methodology to be used in the development, shall
be carried out on the basis of the nature of the project and the product to be
the methods and tools to be used and
desired controls and intermediate products.
There are 5 variables that need to be considered in the choice of methodology:
Weather
The time required to complete the project. For analytical matters,
the time to complete the project is divided into the time required for
complete each of the activities contributing to the completion of the
project.
Cost
It is the cost of the project, calculated from the resources used.
Quality
The time devoted to individual activities determines the quality
project overview. Some tasks require a certain time to
to be completed properly, but with additional time
be completed with exceptional quality. Throughout a project
great, quality can have a significant impact on time and cost
(or vice versa).
Scope
Requirements specified for the final result. This is the definition
of what the project should achieve or a specific description of
what the final result should be.
Risking
Potential points of failure. Most risks may be
overcome or resolved, with sufficient time and resources.
Completion
Based on this, to choose a development methodology, you need to solve an "equation" like metodologia = TEMPO X CUSTO X QUALIDADE X ESCOPO X RISCO
. This was just a joke, because it is not as exact as a simple equation and may have other variables, which were not mentioned in this post, which for some reason may influence the school as well.
Then, after you understand all the need of the project, it’s time to choose. But nothing prevents you from developing parts of the project using different methodologies.
Sources: Methodology of software development and What is Project Management?:
Making software is completely different from building a building. This metaphor is invoked precisely to be denied. Without a doubt a circular approach, with short cycles of planning, execution and testing (SCRUM type) is the one that works best (or is less worse),
– epx
I have my doubts whether the question is adequate. It seems Gorilla vs Shark. On the other hand, if it is not, it may be duplicated from http://answall.com/q/3274/101
– Maniero
I think the answer to your question is depends. Soon I will try to write an answer.
– emanuelsn
I’m not comparing methodologies, I think this more to: follow a methodology or dance according to the music.
– SneepS NinjA
The trend today is iterative processes and Agile, that is, the second option. The first option is Waterfall and is more plastered, at least for most projects. But the choice still depends on the type of project, as evidenced in the @Pedrolaini response (although I believe that projects suitable for Waterfall are rarer to appear).
– Piovezan
@Piovezan ie, the question is duplicated, right?
– Maniero
@bigown It had not occurred to me, but I think so. I thought that perhaps it was not the knowledge of the questioner these methodologies.
– Piovezan
While I don’t refer to methodologies or cite them, now that I read the @bigown question it seems like something very similar to me, the difference is that I haven’t tried to compare methodologies whatever it is, it would be to use one or do as needed
– SneepS NinjA
"I see that engineers are able to design buildings on time and within the budget much more often."Where? When? I’ve never seen that ;)
– Jorge B.