3 ms·
Some very practical, down-to-earth, solid advice. Lines I found insightful: "... make it functionally complete in the first place. ... If it can't be made fun
by sova 11y ago
Some very practical, down-to-earth, solid advice.
Lines I found insightful:
"... make it functionally complete in the first place.
... If it can't be made functionally complete it's too big. You've tried to bite off a piece that's bigger than you can swallow. Just get back to the drawing board and split off a piece that can be made functionally complete."
^_^
I really like the idea of splitting a project into phases. You might have Three phases, each one building on the last, but the very first complete phase should be a complete and usable thing in itself.
First the skateboard, then the scooter, then the bike, the motorcycle, and finally the car.
- soft_dev_person 11y agoIf I ever buy a car with skateboard as a chassis, I'll be very disappointed! Sorry, just had to =)
- bbcbasic 11y agoProbably it should be build the tyre first. This is a functionally complete thing that can, along with many other functionally complete things be composed into the car.
- kbutler 11y agoCar built with scooter tires... Scooter built with car tires... Just not seeing it. When Java was first becoming popular, I recall emphasizing how important it was to use the standard, well-documented, well-tested java.lang.String, rather than a custom String class as had been done in C++. Application domain experts started asking about strings that didn't fit in RAM (documents). A great, tested component in one domain may require a significant redesign in a domain with other requirements.
- sova 11y agoCoding is a conceptual art-form, it's not about building a car with scooter tires, it's about upgrading vehicles to get the end result in a workable fashion. Try using spark plugs and pistons to get somewhere!
- bbcbasic 11y agoCar built with car tyres. Analogy wears thing because a tyre is a standard off the shelf thing. In software everything that is interesting (and requires employees) is custom to some degree. So it is like a tyre for a rover on the moon. However no need to get that to also work for a scooter on pluto! Unless the sales guy has already promised it!
- sova 11y agostep 1 "invent the wheel"
- lmm 11y agoNo, you miss so much when you try to make a component you think will be useful. The first piece must be something that makes someone's life a little bit easier - that's the only way to be sure you're making something actually useful.
- pdpi 11y ago> First the skateboard, then the scooter, then the bike, the motorcycle, and finally the car. I've always found this metaphor incredibly amusing, because, to me, it actually highlights the _problems_, rather than advantages, of the iterative approach. At every step of the process, you're not only increasing complexity, you're also pivoting your product to the point where: 1. your previous clients are unlikely to still be well served by the new product, and are likely to churn as a result 2. the engineering challenges are different enough that most of the components aren't really reusable, and trying to shoehorn one stage into becoming the next will give you a sub-par product.
- sova 11y agoIt's not about incremental development, it's about passing the baton. The spirit is motion/movement/transport, and the corresponding vehicle should be a natural expression of that with your available tools. Who said that the goal should be product-oriented? If I want to reach Alaska I will gladly take whatever transportation suits me best at the time. If I were insistent that my tank was clearly the most capable vehicle, although I would eventually get there, it would not be as enjoyable, imho.
- rumcajz 11y agoAside of it being convenient for users, keeping the components small is good for the developer as it tends to tame the complexity to the acceptable level.