L
LOL!
There is an old saying :
do you want it done
(a) on time
(b) within budget
(c) correct
choose one of the above
Les
I favor the do it right path. The requirements can change on
you that way, but not to the extent that you have to throw it
all out and start over.
Michael Doubez said:Saying that code fast path is project's fast path is like saying that
making a loan is a fast way to become millionaire.
Robert Hairgrove said:There is a variation on this (which was probably the original source)
attributed to Henry Ford (quoted from memory here):
We can deliver it:
(a) well done;
(b) in short time;
(c) cheaply.
Choose any two.
There is a variation on this (which was probably the original source)
attributed to Henry Ford (quoted from memory here):
We can deliver it:
(a) well done;
(b) in short time;
(c) cheaply.
Choose any two.
It might be a difference in idiom between French and English, but I
think you mean "taking" a loan instead of "making" one.
Sorry Michael but the "metaphore" is broken.
The idea of the code fast approach is that you get a product working
sooner albeit arguably with more bugs or with a worse architecture.
The code right approach is that you spent more time to get the
architecture and design right but get the product later.
The possible consequences:
code fast:
+ Go to market sooner
+ Start getting revenues sooner
+ Get in before the market or requirement changes
- Have less features
- Maybe have more bugs
- Maybe loose your reputation because of too much bugs
- Future improvement more costly because of poorer architecture
code right:
+ Maybe have less bugs
+ Maybe have more features
+ Have a better architecture, more modular. easier to add to
- Start getting revenues later
- Maybe get to the market too late (competitor took over the opportunity)
- Maybe get overtaken by changes in requirements before release.
Both approaches have their pros and cons. The correct answer is in
getting the balance correct.
But as far as the loan metaphore is concerned, the sooner you go on the
market, the less you have to borrow so I am afraid this is upside
down.
Oh and you will find that quite a few peoples became millionaire by
borrowing money to invest in higher return ventures (e.g. during the
property boom). Actually, it's probably the fastest way to become
millionaire. Borrow a large amount of money, invest it in a high risk,
high rewards venture and either go bankrupt or become millionaire
Sorry Michael but the "metaphore" is broken.
The idea of the code fast approach is that you get a product working
sooner albeit arguably with more bugs or with a worse architecture.
The code right approach is that you spent more time to get the
architecture and design right but get the product later.
The possible consequences:
code fast:
+ Go to market sooner
+ Start getting revenues sooner
+ Get in before the market or requirement changes
- Have less features
- Maybe have more bugs
- Maybe loose your reputation because of too much bugs
- Future improvement more costly because of poorer architecture
code right:
+ Maybe have less bugs
+ Maybe have more features
+ Have a better architecture, more modular. easier to add to
- Start getting revenues later
- Maybe get to the market too late (competitor took over the opportunity)
- Maybe get overtaken by changes in requirements before release.
Both approaches have their pros and cons. The correct answer is in
getting the balance correct.
Yannick Tremblay said:The code right approach is that you spent more time to get the
architecture and design right but get the product later.
James Kanze <[email protected]> wrote:
I am sorry but I will have to qualify my remark and issue a partial
disagreement.
In the code fast approach, there are a few things that you can
sacrifice:
1- Quality: this result in more bugs is is almost always a bad
thing. This should be avoided.
It seems that all the proponents of the "code right" approach assume
that only quality can be sacrificed. This is not the case. It is
perfectly possible to have a fast approach that does not sacrifice
quality.
2- Features: as long as you have the main required features and have
the quality, your product will sell. There's a lot of fluff features
that are not necessary to make a good product that sell well.
Cuttingdown on less important featur is likely to reuslt in hitting
the market sooner and with less bugs. (Would the iPhone have been more
successful if Apple had waited to implement multitasking and MMS
before releasing it? )
3- A clean modular reusable architecture that is ideal for the
future. This can be sacrificed depending on circumstances.
You will only see benefit of a modular architecture by having future
improvement of the product be easier.
If we want to go semantic, we could argue that "code right" is always
the right thing to do since by definition is it "right" and take the
assumption that the "code fast" branch actually means "code too fast"
which is of course always the wrong thing.
Agreed, that is the usual view. Nitpick: note that in the diagram,
there is no direct branch from one to the other (which IMO should be a
singly directed edge from right to fast).
This is all the most easier since customers are now so used to having
bug and buying faulty software. Although that this is not necessarily
true on the asian market (or so I have been told), where a shoddy
product will simply be not sold by distributors.
James Kanze <[email protected]> wrote:
[...]
I am sorry but I will have to qualify my remark and issue a partial
disagreement.
One major qualification is definitly in order. The discussion
has been fast path vs. right path, as though it were some sort
of binary choice. In fact, of course, there are all sorts of
variations you can follow. I interpreted the earlier postings
as using "fast path" and "right path" as characterizations of
a certain type of process. If by "fast", you mean time to
market, it's often the same as "right".
According to this diagram there is no path that leads to good code.Lynn McGuire said:
According to this diagram there is no path that leads to good code.
If there was a fast path leading to good code I would choose that one
Want to reply to this thread or ask your own question?
You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.