4 ms·
I disagree. Software is far from 100% design. I'd give it 60 or 70% design at best and even then only in the relatively small (though growing) web sphere. Pers
by smokinn 17y ago
I disagree.
Software is far from 100% design. I'd give it 60 or 70% design at best and even then only in the relatively small (though growing) web sphere. Personally, in my career spanning largely web app development, I've found that having an up-front design and simply filling in the back end code is the most pain-free way to go. This still doesn't make the design 100% though. Let's be generous and call the design 90%. There still needs to be working code behind the design.
The other way, as he pointed out is what leads to unusable junk that makes the life of everyone involved (the coder, the designer, the user) painful. When the coder takes it upon himself to make a "temporary" design, it more often than not ends up permanent. This is definitely the worst way to go. I've committed this sin before and learned from it (I'm a terrible designer) but this doesn't have to be the way to go.
If, for some reason, I don't have a designer (and stakeholder!) working closely with me (which is now a warning bell in itself), I can flesh out the main requirements of what needs to be done as far as major features go and design a public api to my software. When I finally get a design, I'll have only the minor features and the integration of my major api calls to do. In this case SaaS is a blessing. (As an added bonus it makes it easy to swap out or rewrite your major features as you hit performance bottlenecks.)
- wpietri 17y agoI think you misunderstood what I meant. That's my, fault, though; the bit about software being pure design wasn't my main point there, so I kept it very short. Plus, people use the word design to mean a zillion things. I'm using the word in its broadest sense. Even if I'm making something with no user interface at all, creating source code is still purely a design activity. The source code doesn't actually do anything; it's a blueprint. When you create the UI, that's designing the UI. When you create the API, that's (as you say) designing the API. Even when you implement the guts, you're still designing them as you go. I agree with everything else you say, though, especially about the warning bells!