The Lounge is rated PG. If you're about to post something you wouldn't want your
kid sister to read then don't post it. No flame wars, no abusive conduct, no programming
questions and please don't post ads.
«There is a spectrum, from "clearly desirable behaviour," to "possibly dodgy behavior that still makes some sense," to "clearly undesirable behavior." We try to make the latter into warnings or, better, errors. But stuff that is in the middle category you don’t want to restrict unless there is a clear way to work around it.» Eric Lippert, May 14, 2008
Well, before you can start to FULLY assemble a building, you need good solid foundations.
So maybe software programs should take a step back and get some solid foundations in place before allowing people into live.
It's true, as far as it goes, but...
Good developers consider the foundations and get them right first, and install at least a temporary placeholder framework for the 1st floor before starting the 2nd - in the same way that a good builder looks at the foundations first and gets them right before he starts laying bricks.
But there are as many "bad developers" as there are "bad builders" who rush things, scrimp and save (money or time, they are frequently interchangeable).
If you've ever watched cheap builders work, you'll know that they do the minimum possible and bugger off never to be seen again when they have been paid. Huge numbers of developers are like that as well - go look at QA and you'll see what I mean...
Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...
Some build top down, other bottum up, some even both directions!
I for my self get a solid base, but not finished, i only have the cornerstones in place so i can get a level higher.
This works basically until you reach toplevel, when toplevel is build you go downwards again but you should never need to move your keystones.
I tried all ways and i found that it makes sense to get a solid base but since you are not the only one deciding or being able to see the whole big big big picture you should also provide toplevels to show and talk about.
If you have a perfect base but it does not fit your toplevels you can start over again which is actually worse than putting in a new keystone on your base and enlarging it.
you are not the only one deciding or being able to see the whole big big big picture you should also provide toplevels to show and talk about.
ah another analogy. I think they have architecture drawings (i'm not a builder, and am poor developer).
See before they start Building anything, a designer and architect get together to plan.
But in losts of software projects, developers are asked to go and in a day come back with some mocks or concepts. Then use that code to build production code frome. Because business thinks it is easy to put those security and databases code in later once they have agreed what the product looks like.
Make me a chair that looks like that.
Q: What type of material would you like?
A: I don't know. Make me something then i will decide.
2 days later you show them a chair made of plastic.
A: Oh no no, i dont want plastic.
Q: Im just showing you a concept until you are happy with the design.
A: well show me it in wood.
Q: So you good with the design?
A: I need to see it in wood!
Q: but before that, it is easier to do it in plastic because its quicker and we can get the design finalized.
1 week later
Q: here its in wood.
A: Why it take you so long! you did it in 2 days before!
A: and i want it with 5 legs not 4.
A: And i want to see it in metal.
That's why i went for the get some keystones done and then show them what they'll see later.
For sure you should have a big black box covering your whole building but, i think of a house again...
You are laying foundations, plan where they go what they look like. You put on cornerstones and fill the floors between every level. Finally, when there is no extension needed and you are at the point where things can be filled up you can wrap a wall around everything and put in walls between rooms. In the end you fill up the rooms and design intererior and their full functionality or purpose. Voilà.
Also, it's always good to have a Basic Framework for DB connections and security stuff already done and that is reusable.
Well, the thing is that when you build prefab houses, if the drawing isn't done in beforehand and all the measures are correct, the prefab parts won't fit and have to be thrown away and redone.
And that's the thing, if you don't have a properly planned architecture, the parts won't fit. And it won't matter how agile you are.
But if you build the house the old fashioned style from the bottom and up with less planning but still with proper craftsmen, it might not look like you envisioned it in the end, but it will still keep you warm and dry.