Catch up on stories from the past week (and beyond) at the Slashdot story archive

 



Forgot your password?
typodupeerror
×

Explaining Complexity in Software Development? 202

BMazurek asks: "I'm stumped by how to explain software development complexity (not theoretical big-O notation, that's easy) to non-developers. When it comes to people who aren't in the code, my explanations fall flat. It's not that the people I'm talking to are stupid, they're quite honestly people at the top of their respective (non-tech) fields. How do -you- explain software development complexity to non-developers? What analogies do you use?"
"I often try the famous Fred Brooks, Jr. quote (seldom to much success):
'Software entities are more complex for their size than perhaps any other human construct because no two parts are alike (at least above the statement level). If they are, we make the two similar parts into a subroutine--open or closed. In this respect, software systems differ profoundly from computers, buildings, or automobiles, where repeated elements abound.'
This discussion has been archived. No new comments can be posted.

Explaining Complexity in Software Development?

Comments Filter:
  • by Ithika ( 703697 ) on Thursday May 11, 2006 @07:47PM (#15313812) Homepage

    (Aside: as for the original poster, congratulations on being able to explain "big O notation". I sometimes suspect my girlfriend of faking it.)

    The mind boggles... you make a sensible and sincere compliment, in which is also hidden a secret double-meaning, and at the same time you make claims of having a girlfriend. I'm impressed at your literary prowess! ;-)

  • by Rosco P. Coltrane ( 209368 ) on Thursday May 11, 2006 @07:49PM (#15313826)
    Heck, we can't even clearly explain to peer programmers why vi is better than emacs

    Well, you can't because they're not the same thing: vi is a text editor, emacs is an operating system.
  • by sedyn ( 880034 ) on Thursday May 11, 2006 @07:56PM (#15313887)
    Imagine having a huge legal contract. Then, add in a huge, convoluted yet intertwined legal system.

    Furthermore, imagine that instead of writing this legal mumbo-jumbo in english, you use a language that is extremely strict and math-based.

    This would be a fraction of the real complexity (mutiple threads/processes anyone? How about poor documentation?) but it starts the ground work.

    To be honest, this way of thinking sounded better when I first started, and I'm kind of disapointed with my end product.
  • Re:madlibs! (Score:4, Funny)

    by Rosco P. Coltrane ( 209368 ) on Thursday May 11, 2006 @08:03PM (#15313935)
    i used to teach english to native japanese speakers, and that's really not any different from trying to explain bayseian spam filters to my non-technical boss.

    Here's a challenge: try to explain bayesian filters to a non-technical native japanese speaking boss.
  • by Rosco P. Coltrane ( 209368 ) on Thursday May 11, 2006 @08:12PM (#15313984)
    Easiest way I've found- though it's begining to get a bit outdated thanks to bloatware. Charles Dicken's famous novel is about 100k.

    You're way behind my friend: data bloat has grown so much these days it isn't measured in Charles Dickens units anymore, it's measured in tax code units:

    - 1 tax code = 25MB
    - 1 tax code table of content = 300KB (to measure smaller data units)

    And no, I'm not kidding, the complete internal revenue code really is that big.
  • Complexity (Score:1, Funny)

    by Anonymous Coward on Thursday May 11, 2006 @08:50PM (#15314229)
    I tell people to imaging drawing a simple window on the screen
    with text. Now your job is to make any one line of text
    slide right when you hold down any one key. simple, right?

    Ok, here's a sheet of paper that has text on it.
    And here is a Royal mechanical typewriter.
    Modify the typewriter to slide the text right when i hold down
    the L key.

    Oh, and I need it working by tomorrow.

  • by iomanip ( 775663 ) on Thursday May 11, 2006 @09:22PM (#15314392) Homepage
    Please, whatever you do, no more software-car analogies!!!!
  • by jannesha ( 441851 ) on Thursday May 11, 2006 @09:26PM (#15314411)
    emacs would make a *great* operating system, if only it came with a decent text editor.

    (I'm sure you've all heard that one before)
  • Oh boy (Score:3, Funny)

    by woolio ( 927141 ) on Friday May 12, 2006 @01:40AM (#15315590) Journal
    I've even explained how interrupt handlers work in regards to a USB joystick to a Lawyer... He was so happy in the way I explained it to him, he kept asking more and more questions until I told him I have to go :P

    Ah great.... Now your lawyer is going to wager a class-action lawsuit on behalf of all USB devices for illegal discrimination and unfair employment practices by the interrupt controller. The PCI bus will be named as a conspirator and the CPU will be charged with negligence. The PCI sound card will be the chief witness.

  • by Senzei ( 791599 ) on Friday May 12, 2006 @11:21AM (#15317863)
    I found his post to be almost believable up untill the part about the girlfriend. This Slashdot, after all.

    You fail to understand that fantastic results can be achieved by redefining your concept of "girlfriend".

Always draw your curves, then plot your reading.

Working...