carl hardeman wrote:

> So if the goal is better quality software, then the better psychological question
> to study is why programmers reject proven formal techniques and continue their
> brute force and awkwardness ways believing they can intellectually overcome
> problems of complexity. That and sweat. Formal processes are well understood in
> academia but not so widely practiced in industry. Why? What are the  psychological
> factors? It's not the fear of lack of time since it is usually the case that doing
> things right the first time is faster/better/cheaper than a less formal approach.

Maybe quality is not as important than other goals in reality? Developing
software is usually an attempt at balancing cost, time, features, and
quality, and normally  quality is the first factor to be lowered when
facing a potential delivery slippage.

Formal methods have a high up-front investment, so the benefits are
long-term. However, since the environment that software has to operate
in is constantly changing (due to competition, innovation, and customer-
expectation), long-term investments are difficult to rely on. You may
have to abandon the software because it does not address todays needs.

Formal methods require clear requirements to work on. In practice,
however, requirements often change during the development cycle,
especially when the customer is presented with the first prototypes.
Furthermore, it is often difficult to exhaustively specify the
requirements (my favorite example is a coffee machine, whose specification
says that it must pour hot water, coffee powder, and milk into a cup --
one day it pours hot water, coffee powder, milk, and oil into the cup,
which is perfectly legal according to its specification.)

Formal methods do not handle integration with other systems well. This
is important because more and more of todays software development is
really systems engineering, i.e. gluing existing components and systems
together.

Formal methods do not address non-functional requirements well; in
particular the important usability and efficiency requirements.
 
----------------------------------------------------------------------
PPIG Discuss List ([EMAIL PROTECTED])
Discuss admin: http://limitlessmail.net/mailman/listinfo/discuss
Announce admin: http://limitlessmail.net/mailman/listinfo/announce
PPIG Discuss archive: http://www.mail-archive.com/discuss%40ppig.org/

Reply via email to