metaphor

What Are Your Go To Software Metaphors When Working With Non-Technical Management?

What software metaphors have worked best for you in discussing and explaining the complexities of software development with non-technical management? ...

What do you think of "Programming is Gardening, not Engineering"?

In one of the best programming books I've ever read, The Pragmatic Programmer, it is written: Programming is Gardening, not Engineering. What are your thoughts on the "Gardening" metaphor? Do you agree with this metaphor? If yes, why do you think, it's not used more often? (I've never heard it used anywhere else, except the book...

What is the next great UI metaphor that will replace the Desktop?

The desktop metaphor has been hanging around for a number of years now. The creativity within the software field should be able to produce a new cooler metaphor that doesn't involve dragging windows around all the time. I believe that the desktop metaphor has soon been stretched to its maximum. What do you think? Have you heard of any ...

Rails and MVC metaphors

I am working on re-writing my application based on things that I learned at RailsConf 2009. I understand that the Model, Controller and View relate to each other. However, one thing that I have struggled with is the "proper" level for a controller. If the Rails Model maps (roughly) to a database table... And if the Rails View maps (roug...

Are there any good metaphors for explaining project complexity to a non-programmer?

It was just mentioned that I'm "not exactly building the Sistine Chapel." This is true, but I am building a freight management application, which isn't exactly as simple as drawing controls on a form (even though the vendors would have you believe it is). I don't hold this against the person who said it, but I do feel the complexity of...

Unmaintainable code behind to the non-technical

How would you explain to a non-technical person why writing code (business-logic) behind the onclick event is a bad practice and leads to unmaintainable code? Edited: I have to explain management why some refactoring is needed, also why some code is not passing code review. To some people in management this only means more funding. I ca...

Which metaphor would you use to describe programming?

One colleague compared programming to the clay molding process - first you define rough shape of the mass, then carve smaller and smaller details. What's Your take on programming, which metaphor would you use to describe programmer's work? ...

Are there any structured methodologies for defining metaphors to simplify complexity in programs.

Sorry if this seems like a hazy question but it's something that's been bugging me for a little while. In my day job, some of the code I write gets pretty complex. Not that it's usually very technical but the problem domain itself is a complex matter dealing with spacial data amongst many other things. I'm pretty sure my NDA would proh...

What has been your most helpful Software Design/OOP Metaphor?

I am re-reading Code Complete (Second Edition) since I read it in College. I got to the Second Chapter about the importance of metaphors and was curious what metaphor is/was most helpful to you in understanding software design/construction? I was looking for metaphors focused on Polymorphism, Inheritance, Encapsulation and Design Patter...

MVC (model-view-controller) - can it be explained in simple terms?

I need to explain to a not-very-technical manager the MVC (model-view-controller) concept and ran into trouble. The problem is that the explanation needs to be on a "your grandma will get it" level - e.g. even the fairly straightforward explanation offered on MVC Wiki page didn't work, at least with my commentary. Does anyone have a re...

Is there a dictionary about common programming vocabulary?

When I need a name for a new class that extends behaviour of an existing class, I usually have hard time to come up with a name for it. For example, if I have a class MyClass, then the new class could be named something like MyClassAdapter, MyClassCalculator, MyClassDispatcher, MyClassParser,... This new name should of course represent...

What is the best way to document a system metaphor?

A metaphor help us to communicate with our project stakeholders, using a shared set of concepts and analogies. we develop them all the time, in one way or another. even the XP- programming highly recommend to get it defined since project start. How do you write such thing down in a document (specially if it already exists)? maybe a dict...