Buying my first place has been a really educational experience. I posted earlier about how I got boxed in with paint colors. Today I reflected on another lesson. When it comes to software development, I always try to follow a step-by-step approach. Mock something simple, see how it feels, decide what to do next. Rinse and repeat, and let the design unfold. It’s a slow game of patience and confidence, and I swear by it for the best results.
Why then, am I doing the exact opposite with our condo? We still haven’t closed, and I have a precision scaled floorplan in Illustrator full of furniture arrangements. I have a Backpack page detailing the exact sofa, sideboard, console, shelving, and landing strip gear. It’s a master plan with every piece fitting into the puzzle. And I haven’t the faintest idea if I’ll actually like it all.
I know I’m doing it all wrong. I should go to the real space and start with one thing. Pick the perfect sofa, put it in the living room, and feel it out. What is needed next? What would compliment the room now? What’s the next-most-important thing? My top-down plan is the total opposite of such a sensible bottom-up approach. So what’s going on here?
Here’s the secret: Uncertainty. It’s the same reason why so many people balk when we tell them to throw their functional spec out the window. I care so much about the design and feel and function of my condo-to-be that I can’t stand the uncertainty of not knowing how it will turn out. I want to know NOW so I can stop worrying about it. And of course, it’s impossible to really know what the best design will be without actually building the real thing step by step. But still, I don’t want to wait for such realities. And so I plan, and I plan, and I plan.
Plans are a strategy against uncertainty. The problem is, they only make you certain of your imagination. I’m lucky enough to know that my plan is a nervous occupation, not something I’ll follow. I haven’t purchased that sofa, that sideboard, or those shelves yet. And the next time someone furrows their brow when I tell them to slow down and go step by step, I’ll remember the feeling.
Chris Mear
on 21 Apr 08Beyond the uncertainty you speak of, there’s two other things going on here.
First of all, the cost of change in the real world is normally much higher compared to the software world. You can try out three different designs fairly quickly in Photoshop, with no material costs. Whereas trying out three different furniture sets for real in your apartment would be expensive, and take a lot of time and work. So, instead, you try and do it on paper, or in your mind’s eye, where the cost is again minimal.
Second, it makes sense for a piece of software to exist ‘in development’, a part-completed form, for as long as it takes to get it right. While, on the other hand, you need to move in to your apartment and start using it as a home pretty much straight away. If your only piece of furniture is a sofa, the place may be technically habitable, but it’s not somewhere you’d actually want to live for long. You need a few essentials to start using the place. So, your options are either to plan in advance, or to buy some basic furniture to get you going and then think about later swapping it out for something you actually want. Again—time, effort and money.
--Josh
on 21 Apr 08I’m just wondering what “landing strip gear” entails.
Vinícius Teles
on 21 Apr 08Ryan, as I was reading your post, I was thinking exactly about the first point Chris mentioned. The different between the real world (physical) and the software world (digital) is crucial.
Fred Brooks has written about it in his classic There’s now silver bullet. Changing software is cheaper than changing the real world. Often, much cheaper. So we play with software in ways that we wouldn’t if we were in the physical world.
Thomas Witt
on 21 Apr 08I think the main difference is the level of have-we-done-this-before. When putting furniture in your condo, it’s a process you’ve already went through.
Okay, your new flat has a different size and maybe you want different furniture, but the process is all-so-clear. The “only” level of creativity you have remaining is to choose the design and/or color from prepackaged components. You don’t have to think if sofas should be mounted on the wall, if you need a bed at all and if the bed shouldn’t rather be round. Lots of things are already clear.
In the process of software engineering, it’s much more like building something from scratch. Even the “simple” process of designing a web-site and its functionality means, that you haven’t done it before for exactly this site. It’s a process of creativity – and you’re always doing it for the first time.
Of course, Frameworks like Rails DO offer some prepackaged components, but the level of complexity is far more different. We’re not talking about form and color but rather about a very complex ecosystem you’re going to build – and you don’t have any clue what you’re doing in the beginning.
Designing a condo is a real no-brainer compared to creating a rails application. :-)
IMHO, You shouldn’t but the sofa first either, because your condo can’t be separated into “modules” which are independent to each other. The main thing about designing the interior is, that everything fits together. Then we’re talking about beautiful design.
Phil Nelson
on 21 Apr 082 words: Fuckin’ A
Ty Jones
on 21 Apr 08hire a professional. you know software. i know interior design. being GREAT at one, love your software, does not make you even good at the other. hire me to do your place … i use your software because it makes my life easier. same thing goes.
Francisco
on 21 Apr 08I’ll agree with Thomas, and slightly disagree with Vinicius and Chris.
I dont believe the cost of change is the real reason for not having a plan. I agree that the cost of change in software might be smaller than changing the real world, but still there is a cost of change, and it shouldn’t be ignored.
I think the real reason (as Thomas mentioned) is that you know how to position furniture ina room, and with Photoshop you can even make a good and verifiable plan, because you know all the measures and you dont have any major uncertainity about your plan. If it fits, it fits : ).
When it comes to software, a lot of things are uncertain, and that’s why you’d be better not planning that much.
I wrote about this topic in my blog, if you’re interested in more discussion : ). http://franktrindade.wordpress.com/2008/04/06/software-engineering-or-development/
Regards, Francisco
When it comes
LapinLove404
on 21 Apr 08mmmhh… that would be why no-one in my office believe in agile dev or Bottom-up approach.
We are a Bank. Bankers do simply dislike Uncertainty, they are afraid of it.
Maybe I should move to another industry.
Ho, and I agree with Ty Jones – If you want great interior design, go and hire an interior designer :-D Wouldn’t you advise interior designers to hire web-designers for the website ?
Simon
on 21 Apr 08The best way to get the design and layout of your new place right is to live in it for a couple of months with whatever furniture you have – just make do.
When we moved into our place a couple of years ago we had grand plans for furniture and layout. Within two months the builders were in moving the bathroom layout. We even swapped the kitchen and bedroom around to created a better flow through the property. The lounge furniture moved round three times before we settled on the right layout there.
We could only have done this successfully after our period of living in the property and how we used the different spaces. We now have something that is right for us and the way we live.
It’s very much like releasing software or a site into the wild. Things bed down, you see how users approach the product and you can evolve accordingly.
Good luck with the move!
JohnHS
on 21 Apr 08I love the comment by Ty Jones so I’m going to bend it a little and the condo owner with the furniture problem becomes the client with the software project.
First off there is a client, who has done the whole condo thinking already – in fact they have had meetings upon meetings, read the ‘experts’, been to the seminars – and signed off the business plan. Nothing built yet. And they haven’t got their ‘professional’ on-board yet either.
Chances are their requirements look like a shopping list or holiday gift catalog – with a string of must-haves that don’t really go together or are true to what they want to achieve – like a dining table in the bedroom – well it might be nice to be able to eat in there…
With certainty, there is still a lot to be discovered, and that discovery process is the management of the project. Give Ty a call.
Carlos
on 21 Apr 08Interesting and true observation, Ryan. But while you don’t need a plan when you’re doing something for yourself, when it involves several other people, a plan at least coordinates activities. (Still no guarantee that it’s going to turn out “right” though…only an attempt at making it turn out a single way.)
Dean
on 21 Apr 08Maybe your planning will allow you to see what is possible more easily when you actually get into the condo. One problem with plans is that, well, they seem so unchangeable. But planning, the act of thinking things out, the prototyping, if you will, on paper, is that it allows one to see what one could not otherwise when things really start happening.
Vlad
on 21 Apr 08It’s simple, you’re just excited about the new pad. When I bought my DSLR, I was looking at accessories long before it came in the mail. When I bought my car, I already had a set of wheels picked out for it. You’re psyched about having your first condo and the only thing you can do to cure your excitement is look for stuff to outfit it with.
No worries, once you get it everything will come together nicely.
RS
on 21 Apr 08Thomas said:
I disagree. It’s not that I have more familiarity with furniture than software, and can somehow imagine the plan better. If your point was true, then I would never design software UI step-by-step because it too is familiar. I would just plan all the UIs up front too. But of course we don’t do that, because the result would be worse UIs.
The truth is that following a master plan produces worse results than going step-by-step, regardless of your expertise on a subject. And those worse results are the price you pay for a false feeling of security and control at the start of a project.
For a good explanation of why step-by-step designs are better than master plans, I highly recommend Alexander’s Nature of Order: Book 2.
Vlad said:
Yeah, that too :)
Bob Yu
on 21 Apr 08Being a huge of fan Alexander, I actually applied the step-by-step process to moving into my new condo (I moved in about 2 weeks ago, and I still have some boxes left).
It was chaotic and painful and overwhelming at times, because at times I literally couldn’t make a decision on what to do next. Physical exhaustion of moving loads of books didn’t help either (no more book buying for next 10 years).
However, I learned that I did not need a master plan because many decisions could have only been made once I brought the furniture into the condo and then lived in the condo for one or two nights before I could make up my mind where it should finally go.
Rough estimate was sufficient – did I have too much furniture given the space? No, so bring everything in. Re-arrange them according to function and taste.
The process is quite simple, but one has to really feel the whole of the space, needs, function and do it to increase the life of the condo, and that was not easy.
Peter
on 21 Apr 08But what type of dining set defines you, as a person?
http://www.youtube.com/watch?v=0hKIt1r2FOI
:)
andjules
on 21 Apr 08The parallel to your functional spec philosophy is well-placed, and makes me think about how important TRUST is in taking this stance, especially when new suppliers are involved.
As a web-shop-for-hire, it’s pretty difficult (unrealistic?) to convince new clients to take a no-functional-spec-let-it-evolve approach. They’ve seen your portfolio, they’re ready to proceed with you, but they don’t really know you-in-a-relationship-with-them, and they know when they sign a cheque, they deserve some assurances in return.
If you were hiring a designer on a recommendation, would you really have the guts to let the design evolve without a plan, while you keep writing cheques?
merengue
on 21 Apr 08You are right because you are not taking into account your wife’s opinion and change your plan. :-)
Nollind Whachell
on 21 Apr 08“Mock something simple, see how it feels, decide what to do next.”
Feeling is a major component of my design work as well. Can’t really put a better word on it than that. If what I’ve created doesn’t make me feel connected to my client’s message and what they are honestly try to say then I know it probably won’t connect with their customers either. Once I get that feeling of being connected to them and who they honestly are, then I feel like I’m on the right track.
“Rinse and repeat, and let the design unfold. It’s a slow game of patience and confidence, and I swear by it for the best results.”
I watched Philippe Starck’s TED talk yesterday and now I don’t feel so alone anymore in feeling incompetent sometimes when designing. He reiterates throughout his speech that he basically thinks he’s not that great and just does the best he can. I feel the same way sometimes, yet my clients seem overjoyed with the results.
If anything though, design to me is about improving things bit by bit, day by day, similar to life itself. It’s almost like your growing something and pruning it, say like a Bonzai tree, rather than building it. You need to give the design time to breathe and grow on it’s own. It is at these moments when you stop, step away, and reflect, that the next growth of the design often comes to you. You just have to trust yourself which seems to be one of the hardest things to do.
JC
on 21 Apr 08Boy, I am glad that U don’t build bridges or skyscrapers!!
jfc
RS
on 21 Apr 08If they gave me real work for every check, then absolutely. Working iteratively means you deliver something valuable at each step. By receiving the work in increments, and paying out in increments, you’re in a better position to evaluate the relationship and quality of work before you’ve invested too much to back out.
MO.THER>
on 21 Apr 08I had great plans for my basement. But when I went to put the furniture in, it just didn’t look right. My bsmt room has definitely been iterative.
James
on 21 Apr 08Though I’m an Agile fan, there’s something about envisioning a future state in detail, isn’t there? I often like to plan in detail as the first step in the creative process. As long as I don’t become too attached to the plans, it seems to work out pretty well.
I also find that clients (when doing agency work) like to have enough of a plan so that they know what they’re paying for. Fair!
I don’t think it’s foolish at all to spend some time planning a room. You can always move stuff around, right? Maybe the extension of the analogy is to make sure you put all the furniture on casters so it’s easy to move around. Thank you Rails for the casters!
alps
on 21 Apr 08Hi James,
Not bothering to read all of the comments, I will submit my own.
I think you really can not relate the two. A home is not a piece of code. In short, new home != new piece of software. Fundamentally, it is easy to re-factor a method, or controller, or whole functionality of the software. Try re-factoring that wall that was put in the wrong place! In architecture, you must plan.
Of course, you are “simply” designing a layout for a room, but still, the principle above holds: Returning a couch that is too long is not a fun task. You must, at the least, do basic planning when it comes to home design, etc.
Brooks Jordan
on 21 Apr 08Ryan,
Thanks for the reminder. You (and Alexander) are right about that step by step process.
It doesn’t negate the planning process. It is planning in real time. Yes, you can build a bridge with it.
John
on 23 Apr 08Someone needs to develop a new game… let’s call it ‘Living Room Tycoon’. That or IKEA should integrate their catalog to jive with designing spaces in Second Life…?
Jason Marsh - Website Designer
on 23 Apr 08He he very funny, yes I would have to agree, planning sure is help full. Until the day that we can totally trust our gut and get it right on the first go, well we will have to plan these things. We need to focus, narrow our choices, alleviate uncertainty. Even break projects up into phases. Get the basics down the rest will follow…
This discussion is closed.