October 22, 2010

Software Department

The Only Known Requirement

There's an animated video making its way around the legal blogosphere in which a cynical older lawyer tries to convince an idealistic prospective law student not to go to law school. As a non-lawyer, I'm probably missing half the jokes, but it's still pretty funny.

I was more fascinated, however, by the web site used to create the video, xtranormal.com, which provides tools for anyone to make a video in a similar style. Once you register for a free account, you can use a simple interface to create the shooting script. You can change the characters and setting, and you can annotate the script with facial expressions, animations, sound effects, and changes in camera angle. When you're ready to see what you created, the site can generate a low-res version of the video for you to preview. Once you've got something you like, you can re-render a high-quality version for downloading and publication.

I had to give this a try. In keeping with the theme of the first video, I made it about what I do for a living. I don't know what the job market is like for a beginning software developer, but I'm not nearly as cynical about my job as these lawyers are about theirs. Still, there are some annoying surprises for people just out of school. After a few years, the surprise factor is gone, and only the annoyance remains.

So here's my video of a conversation in which Mark, a software engineer, finds out about his next software project from Ted, the boss. My clients are too smart to waste my time and their money this way, but back when I was an employee at a mid-size corporation, I had a depressing number of conversations like this. You see, a lot of people launch software projects with almost no thought to the details, except for one curiously specific requirement...

3 Comments

Perhaps there's a cautionary tale in that video.

What is needed (in theory) is either a programmer who is trained in business, or a business person trained in programming to be a systems manager. The logic behind business schools taking over IT teaching in the 90's was to create a middle-man for just such circumstances, while the CS departments were to concentrate on programming. Hence the IT business systems designer was born.

The engineering field was having such problems in the 80's. They were looking for engineers who would get a degree in design, or designers who would go get an engineering degree to act as a translator and project manager.

Ultimately, most companies got rid of both their designers and their engineers and replaced them with high school grads who were good at CAD. (I first noticed this when many of my part-time undergraduate students identified themselves as engineers. At first I didn't believe them, then slowly realized that they were the new design engineers of our time.)

Right now companies don't want to pay for a middle man, so they want a programmer who knows business, or a businessman who knows how to program to do the entire system from concept to implementation all in one person.

I wonder, if the promise of 5GL were fulfilled as once envisioned by the field, if companies would replace system designers and programmers with high school grads who knew how to run a computer aided business system design package?

Maybe that's why 5GL never went beyond hype. There's an evil conspiracy of programmers who are preventing any such systems from coming to market.

So, the big question in all this is, why haven't you invited me to any of the conspiracy meetings?

The point of the video was actually somewhat more mundane. In some software projects, the customer (external or internal) has no idea what they need or how it might work, but they can tell you exactly when they need it.

At a previous job, I mentioned this phenomenon while chatting with a department manager who had just started to take on some software development projects, and she immediately read me an email she had just received. It said something like, "We need to schedule a meeting to define requirements for the Mumblefritz project because it has to be finished by September 30." They had no idea what it was supposed to do--as evidenced by the need to define requirements--but they didn't want to deliver it late.

(This happened a lot with our government contracts. We got money to perform a task and we had to stop billing the project when the fiscal year ended, so we might not be sure what we had to do, but we knew when it had to stop.)

At least for small projects, the problems you raise are addressed somewhat by changes to the requirements discovery activities. For example, a lot of money and effort has gone into making software projects more agile--more able to respond to changes in the requirements. This allows developers to build a partial solution based on partial requirements and then show it to the end users for feedback. With a concrete prototype to talk about, end users and programmers can have more fruitful discussions. In the past, this was a road to budget ruin, but the cost of rework is now a lot lower, which makes this approach more appealing.

Perhaps it's wishful thinking on my part, but I don't think development of 5GL technology (whatever that is) will eliminate programmers. If we develop magic 5GL tools that make it 100 times easier to solve a certain class of business computing problem, that will also make it possible to attack problems that are 100 times more complex. which is what the business end users will soon demand. That increased complexity will create the need for 5GL experts with the training and experience to handle such large and tricky projects. We will call them programmers.

(I suspect engineering complexity probably doesn't scale up this way because engineering must ultimately lead to tangible things in the real world that face real limitations. We are less constrained by reality here in cyberspace.)

I've been reading predictions of The End Of Programming since the early 1980s, and it always turns out this way. The newer, better tools require people called programmers to get the most out of them.

By the way, there is no conspiracy. Who told you there was? I want names.

As a former programmer, I thought this was hilarious because of its veracity. Although in my case, I worked in a research lab where I understood the subject domain and could often generate the specifications myself so it didn't come up often, at times people wanted a program written to "solve their problem", but didn't really know what the "problem" was. And of course they needed it yesterday.
Even programmers, though, succumb to assuming what they want to happen is going to be the result of the code they write, not what really happens (one of the nice aspects of programming is there is no arguing whose at fault - it's always the programmer's fault when it comes to the coding), reminding me of a quote by Maurice Wilkes shown in his Wikipedia entry:
"It was on one of my journeys between the EDSAC room and the punching equipment that 'hesitating at the angle of the stairs' the realization came over me with full force that a good part of the remainder of my life was going to be spent finding errors in my own programs."
I guess this just underscores that when one writes a program or routine, the programmer has to know exactly what to do for each and every possibility that can arise.

From Jonathan Hansen | November 6, 2010 6:45 PM

Leave a comment


Important note: Due to a flood of spam, I've set the comment filter to mercilessly delete comments that mention the names of certain high-end designer fashion items. So don't mention anything like that if you want your comment to survive.


About this Entry

This page contains a single entry by Mark Draughn published on October 22, 2010 1:17 PM.

Windy Investments was the previous entry in this blog.

Amateur Historians is the next entry in this blog.

Find recent content on the main index or look in the archives to find all content.

Find us on Facebook

Unless you request otherwise, we will assume all messages are for publication and attribution.

Red links are Not Safe For Work NSFW.

Mark

About Mark

PGP key

Visit Mark on MySpace

Ken

About Ken

Gary

About Gary

Joel

Article Syndication

Libertarian-ish

Hit & Run
Cataloguing every inch of our daily slide down the slippery slope towards a more totalitarian state.
Virgina Postrel
Author, columnist, and famous kidney doner.
The Agitator
Radley Balko, libertarian at large.
Nobody's Business
A blog about negative liberty.
Ravings of a Feral Genius
The one, the only, Jennifer.
Honest Courtesan
Notes from a retired call girl.

Bloggy Goodness

Duly Noted
Yet another Lindsay Beyerstein blog.
InstaPundit
Law professor, author, columnist, music engineer, the founding father of the blogosphere.
StrategyPage
News and commentary on all things military.
Last One Speaks
A complicated woman with simple tastes.
Ethics Alarms
Jack Marshall at large.

War on Drugs

StoptheDrugWar.org
Taking the drug war debate to the blogosphere
DrugWar Rant
More reasons every week for hating the War on Drugs.
DUI Blog
The road to hell is paved with good intentions and patrolled by Mothers Against Drunk Driving.
The D'Alliance
The Drug Policy Alliance blog.
Vigil for Lost Promise
A counterweight to the DEA's exploitive site.

Blawgs

a Public Defender
Rants, explanations, and complaints from a public defender.
Simple Justice
Rants, explanations, and complaints from a private lawyer.
Defending People
The art and science of criminal defense trial lawyering
Probable Cause
The legal blog with the really low standard of review.
Unwashed Advocate
Former Military Underdog
Indefensible
David Feige, creator of Raising the Bar and former public defender.
Koehler Law Blog
Don't be fooled by how pretty it is
Not Guilty
A lawyer in search of a clue.
Norm Pattis
Norm will fight for you!
Marc Randazza
The Legal Satyricon: First Amendment Law
Gamso - For the Defense
An Ohio criminal defense lawyer
Criminal Defense
It's like a criminal defense blog, but from Florida
ECILCrime
East Central Illinois criminal defense.
Underdog Blog
Criminal defense, politics, and God only knows what else.
CrimLaw
A big, goofy, ballcap-wearing prosecutor who even likes dogs. [review]
Blonde Justice
Funny stories about criminal defense.
Crime & Federalism
Legal analysis and bitching. [review]
Seeking Justice
Tom McKenna, Virginia prosecutor on a mission from God.
The Volokh Conspiracy
Smart legal experts.
D.A. Confidential
Making prosecutors seem just like normal lawyers
Crime and Consequences Blog
Because we're just not punishing people enough
Graham Lawyer Blog
Interesting writing about the law.
New York Personal Injury Law Blog
Better than you'd think from the SEO-friendly name
West Virginia Criminal Law Blog
Also better than you'd think from the SEO-friendly name
South Carolina Criminal Defense Blog
And one more that's better than you'd think from the SEO-friendly name

Geek Stuff

Schneier on Security
Smart thinking about computers and other security problems.
The Daily WTF
Crazy stories about bad things inside computer software and how they got there.
xkcd
Extremely geeky comics.
Google Blogoscoped
Smart writing about search engine technology.
The Altruist
Agony Unleashed in EVE Online.

Economics

Steven Landsburg
The Armchair Economist
Greg Mankiw's Blog
Aurhor of the most popular macroeconomics textbook
Marginal Revolution
Everything happens in the margins
Megan McArdle
Business and economics

Photography

Strobist
How to light everything in the world with speedlights
iN-PUBLiC.com
Very cool modern street photography.
Digital Photography Review
Detailed reviews of digital cameras and vicious forum debates too.
Ken Rockwell
Strong opinions about photography.
Dan Heller
Photographs and the business of photography.
Bert P. Krages II
Photography and the law.

Chicagoland

Leslie's Omnibus
I have no idea what this blog is about.
Marathon Pundit
John Ruberry runs, drives, and blogs.

Media

Eric Zorn
Possibly the Chicago Tribune's first blogger.
Miss Manners
A marvelous writer and deeper than you think.
Roger Ebert's Journal
A great writer and a useful film critic.

Resources

WolframAlpha
Data + Computation = Fun Knowledge.
Institute for Justice
A merry band of libertarian litigators.
EFF: Bloggers
The Electronic Frontier Foundation's page for bloggers.
CIA World Factbook
A brief summary about every nation.
Wikipedia
The mostly-useful encyclopedia of everything.
Current Impact Risks
It has to happen some day.

Gone But Not Forgotten

Peter McWilliams
Ain't Nobody's Business If You Do

Web Rings

Credits

Copyright  ©  2002-2011 Mark Draughn. All rights reserved.

Site developed by
Draughn Software Corporation

Powered by Movable Type 4.261
Version 4.261

Downtown Host

Social networking tags courtesy of the Sociotags for Movable Type plugin by Ole Wolf.

Chicago lakefront image by Ken Gibson.

Admin

Valid XHTML 1.0 Transitional

Valid CSS

ICRA

Statistics

Claim Your Avvo Profile