Ive alluded to cargo cult devops before, but this time, i wanted to write about it explicitly. Cargo cult software engineering is easy to identify. Cargo cult software engineering software imposters informit. People should slow down and understand what theyre trying to optimize for before just following jack, mr. The prime example of the type that we very much need is the late edsger dijkstra. Lets understand our tools and our craft and write better software. Both articles talk about the cult like following and cargo cult like imitation of agile. Any sort of cargo cult mentality including cargo cults themselves comes from a lack of fundamental understanding of the technology involved. Understanding of the previous code or more specifically lack of it is both the largest cause and danger of cargo cult programming. I agree with his basic thesis that much of software engineering is a cargo cult shitshow.
Perhaps youve heard the term cargo cult programming. Fighting cargo cult data science and building a sustainable analytical culture also means understanding the limits of datadriven decision making and that it does not replace, but supplements, softer expertisedriven culture. I wrote a regular column for ieee software from 19962002, and ive published articles from time to time in other periodicals. Cargo cult in modern software development no kill switch. Statistical software enables and promotes cargocult statistics. During the war they saw airplanes with lots of good materials, and they want the same thing to happen now.
Have we created a cargo cult where something looks to us like engineering. The most valuable debate in the development of a project is not process vs. So theyve arranged to make things like runways, to put. In both cases, the celebrants dont achieve what they wanted. Aug 15, 2003 cargo cult software engineering is easy to identify. Its highly unlikely, even for a small startup, that a software developer in the trenches was allowed to pick hadoop, kafka and microservices architecture. The quantity of documents and meetings is indeed a semi objective metric. Cargo cult programming soft exploration blog it, software. A tech leader who may be a very smart engineer, but very bad at making rational decisions. Cargo cult programming shouldnt be thought of as a problematic habit, but rather a symptom of the underlying confusion that the programmer is facing. Cargo cult software engineering is independent of programming languages and it is focused on approach to design and implementation.
Without decent science and metrics, its all cargo cult. Then, charles miller writes about misimplementing standup meetings. Cargo cult programming is the art of programming by coincidence. Are bad programming practices typical within the software industry. A related term in software engineering is cargo cult software. Oct 19, 2011 the excellent book code complete, by steve mcconnell, introduced me to the idea of cargo cult software engineering. Cargo cult software engineers justify their practices by saying, weve always done it this way in the past, or our company standards require us to do it this wayeven when the specific ways make no sense. Creating an excellent software development organization. But i havent given up hope and have worked on developing a hiring process that is human, efficient, and effective. This alert has been successfully added and will be sent to. You could present them a series of exercises, each one building on the previous while adding some extra element or twist to the problem. While the cargo cult metaphor was originally coined by richard feynman, the most widely used definition in the software development. Cargo cult programming is a style of computer programming characterized by the ritual inclusion of code or program structures that serve no real purpose. Shorter schedules, higher quality products, more successful projects, enhanced careers book january 2003 with 3,045 reads how we measure reads.
Cargo cult software engineering the real debate notes chapter four. May 03, 2009 on the smaller scale, many novice programmers and sadly, software teams in general are deluded to follow cargo cult programming practices without even knowing why they are used successfully by other coders in the first place. All software engineers need to know how to code, but after doing so for a few years, many of them move on to positions of higher responsibility where their coding kn. Cargo cult software engineers justify their practices by saying, weve always done it this way in the past, or. During the second world war, the americans set up airstrips on various tiny islands in the pacific. Cargo cult software engineering in the south seas there is a cargo cult of people. Cargo cult agile is where an organization hears about agile, thinks it sounds great and will let them do software faster and cheaper. Ask them to use comments, line by line if necessary, to explain your. Readings software engineering concepts aeronautics and. Cargo cult programming is symptomatic of a programmer not understanding either a bug they were attempting to solve or the apparent solution compare shotgun debugging, deep magic. Marketing and adoption of statistical software are driven by ease of use and the range of statistical routines the software implements. We use the term cargo cults to describe teams whose activities look and feel agile to the casual observer, and have some of the trappings e. How can i deal with the cargocult programming attitude.
Aug 27, 2008 parnass proposal for a new engineering discipline, as the latest member in the sequence of civil, mechanical, mining, and electrical engineering, was an exercise in cargo cult engineering. Are bad programming practices typical within the software. View henry guillens profile on linkedin, the worlds largest professional community. Cargo cult programming is a style of computer programming characterized by the ritual inclusion of code or program structures that serve no real. Readings section contains the required and additional readings for the course. Software engineering suffers massive disciplineenvy. See the complete profile on linkedin and discover henrys. Home browse by title periodicals ieee software vol. Cargocult engineering there is an old song about software engineering. I thought it had died until the other day i came across a post by jack ganssle. Cargo cult software engineering software imposters. One of my longtime favorite articles about software development is cargo cult software engineering by steve mcconnell. In my opinion, cargo cult thinking isnt that bad if only one or two people are affected. A cargo cult generally describes a movement that applies a set of rules to the letter without understanding for what reason they should be practiced.
Well, for starters, id be worried about a development shop where the sole quality measure was it. Jul 26, 2018 statistical software enables and promotes cargo. In this discussion and the various blog posts, the conversation tends to hinge on the cargo cult argument. Cargo cult practices usually start from someone higher up the ranks. Significance magazine cargocult statistics and scientific. Its engineer proponents justify their practices by saying, weve always done it this way in the past, or our company standar ds require us to do it this wayeven. Cargo cult system administration the lone sysadmin. Offering complex and modern methods provides a competitive advantage. At worst, the cmm is a whitewash that obscures the true dynamics of software engineering, suppresses alternative models. Avoiding the snare of cargo cult agile cutter consortium. Ive been writing for a long time, and some of my articles have stood the test of time better than others.
You can see this is science, in programming, and in agile software development. First, a friend sends me this editorial about cargo cult software engineering. Cargo cult software engineering cargo cult software. It has been my and several others opinion for a while now, that devops has succumbed to cargo cult programming. The excellent book code complete, by steve mcconnell, introduced me to the idea of cargo cult software engineering.
765 1176 390 524 795 645 894 964 419 588 49 833 1329 24 364 321 1128 676 1483 24 1356 440 1196 149 1445 754 455 1153 286 27 454 882 1320 1114 1458 1348