SE 477 Principles and
Practices of Software Engineering
Journal for
Dennis Mumaugh
Entry
April
3, 2008
Support
or refute these Software Engineering myths.
Myth # 1
If we get behind schedule, we can add more
programmers and catch up.
Brooks discusses this. There
is time needed to bring the new people
up to speed. The current developers must take the time to do this thus
further
delaying the schedule. The more people the more time it takes to
communicate,
gain consensus and make plans.
Myth # 2
If I decide to outsource the software
project to a
third party, I can just relax and let that firm build it.
Tell that to the people who
off-shored to foreign countries. It
takes more effort to manage the project. Requirements must be more
specific,
more detailed designs needed, extensive testing. In addition, there is
less
communication and delayed communication. Expect about 50% effectiveness
at
best.
Myth # 3
A
general statement of objectives is sufficient to begin writing programs
Ð
we can fill in the details later.
This may never happen.
General statements tend to be ambiguous and
leave out many details. This can result in starting in the wrong
direction and
potential of causing the project to fail.
Myth # 4
Project requirements continually change,
but
change can be easily accommodated because software is flexible.
This is true only if one
plans for the changes and designs with
potential change in mind. An iterative methodology is good for this.
Myth # 5
Until I
get a program running I have no way of assessing its quality.
There are
software quality measures at every stage of
development. One can assess the quality quantitatively and using design
heuristics.
Myth # 6
Software
Engineering will make us create voluminous and unnecessary
documentation and
will invariably slow us down.
This is only true if you use
a process
heavy methodology. Agile and other methodologies reduce documentation
to the
minimum needed.