miércoles 16 de junio de 2010

Software engineering

Should software development be engineering? We have enough knowledge nowadays to speak about software engineering. Practices used in design, code construction, integration and QA can be scientifically applied towards practical ends.

I have seen people using the word "engineering" as a synonym of bureaucracy, as if the concept of software engineering was opposed to the use of modern software development methodologies like RAD. Take this essay from Martin Flower with the quote "[...] reaction to the bureaucracy of the engineering methodologies [...]" as an example.

However, wikipedia comes to the rescue with a sentence that I consider valid: "[...] This distinction is misleading, as it implies that agile methods are 'unplanned' or 'undisciplined'. Further, agile teams may employ very highly disciplined formal methods [...]"

I believe brilliant projects start by proper specs, design and continue with a strong test-driven coding.

Unfortunately, nowadays most applied methodology is still "code and fix". Specially within strong market-driven companies that ask their developers to provide prototypes with very short deadlines - just for the sake of releasing something before their competitors.

0 comentarios:

Publicar un comentario en la entrada