Programming is an ACT of Design

Source: Internet
Author: User

?

Programming is an ACT of Design

Einar Landre

KRiSTEn Nygaard, FATHER of object-oriented programming and the Simula programming language, used to say programming is Lea Rning. Accepting the fact that programming-or more precisely, software Develop-ment-is a processes of discovery and learning, no t a process of engineer-ing and construction, is fundamental to bringing software practices forward. Applying the concepts of traditional engineering and construction on software development does isn't work. The problems has been documented and com-mented upon by leading software thinkers for more than. years. As an exam-ple, in 1987 Fredric Brooks, Jr., stated in the ' Report of the Defense Science Board Task Force on Military so Ftware "That's the Document-driven, specify-then-build approach lies at the heart of many software problems.
So where should the software industry look to improve its practices? What's the industries involved in production of sophisticated mass-market products such as cars, pharmaceutical drugs, or semiconductors?
Let's take a look at the car industry. When planning a new model, the first thing are to choose a concept or archetype. It ' s primarily an architectural positioning mechanism. The BMW X6 is an example of a new concept that combines the properties of an SUV and a coupe into what BMW calls a sports Activity coupe. Before you can purchase a new X6, BMW have invested thousands of hours and millions of dollars in both it vehicle and Manu facturing design. When BMW receives your order, one of its assembly lines would kick in and produce your customized version of the X6.
?
?? So how can we learn from this car-maker scenario? The important lesson is, the making of a new car involves, and the processes:the first process is the cre-ative design PR Ocess, including establishing the required assembly lines. The second process is the manufacturing of cars on line with customer specifica-tions. In many ways these is the processes we find in the software industry as well. The challenge is and we put into the terms.
In the article ' What's software design? ', Jack Reeves suggests that's the only artifact of the software engineering that SATISF IES the criteria for a design docu-ment, as such a document are understood and used in classical engineering, is the SOURC E code. The manufacturing of the software is automated and taken care of by the compiler, build, and test scripts.
By accepting this carving out source code was an act of design, not a act of con-struction, we were in a position to adopt Useful management practices that is proven to work. Those is the practices used to manage creative and unpre-dictable work such as developing a new car, a new medical drug, Or a new computer game. We talk about the practices of agile product management and lean production such as SCRUM. These practices focus on maximizing return to investment in terms of customer value.
For the software industry to capitalize on these practices, we must remember this:programming are a act of design, not an Act of construction.

Programming is an ACT of Design

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.