Clueless Software Development.

beginRant: Most companies don’t have a clue about software engineering much less about software testing. Software testing is looked upon as a aftertthought. It’s like as if you build a bridge and then you asked a software tester to get in the 18 wheeler truck and say “OK . We build this bridge so please go and test it” So you go and you drive over the bridge with this huge truck and halfway the bridge collapses and you fall into the river. Then the developer of the bridge blames you for breaking the bridge. How screwed up is that?. Most of the time software testing is treated like that. Think about that… endRant

Technorati Tags:

Software Development in the context of workflow

Software Development in the context of workflow . I copied the followig text since it’s from 1995 and who knows how long it will be available. (by Peter Denning and P.A. Dargen. 1994. “A Discipline of Software Architecture” Interactions. (January). 55-65)

“Software engineering is charactorized by a set of formalisms, methods and practices for producing reliable, economical, efficient software systems that meet their specifications. The persistent inability to achieve this goal has led experts to say that software engineering is not a disciple and that the word “engineering” is misleading.

Software design is characterized as a set of practices and implementation techniques that allow the construction of marketable sofware systems that provide form and function satisfying to users. Software designers tend to think of their work as a craft best learned through apprenticeship and the design process as a close participation with users. They do not claim to have a disciple.

The main claim is that the missing discipline is neither software engineering nor software design, but software architecutre. It could be constructed by joining software design and software engineering, following archtecture of buildings as a model. The resulting field would growing into a discipline within a few years and could resolve the software crisis.

A second claim is that an ontology of design is needed to bring the two fields together; neither has such now. (An ontology is a conceptual framework for interpreting the world in terms of recurrent actions.) We propose an interpretation of desing that is the beginning of an ontology. It is focused on the satisfied client and not just the specification-meeting system. It is grounded in a language/action perspective rather than a systems perspective. The new interpretation observes concerns, breakdowns, standard practices, institutions, and recurring actions and produces means to connect those observations with software structures. The skill of doing this is called ontological mapping.

Ontological mapping consists of observing the ontology of a domain, constructing its ontological dictionary and constructing a workflow map of its recurring standard processes. The map can be used by the software architect to review with the client how the system will satisfy each concern and to coordinate the implementation of the information and software structure with the software engineers. It can be used later to assess and reconfigure the system. The one map can be used by the designer, the implementor, the assessor, and the maintainer.”