in reply to Re^7: "Practices and Principles" to death
in thread "Practices and Principles" to death

This exchange is fun! :-) Now, for the various bullet-points, and then let's see if anyone else maybe wants to chime in...

My “prototypes” are not “systems.” They are prototypes. Usually, in the case of web applications, an HTML mock-up that actually can be viewed on a browser (so I don't have to wave my hands too much) but that does not do anything yet.

My approach is not to “fix it,” nor to “start over from scratch,” but rather to do the work up-front to make extremely sure that I never have to do such things. As I said, I cannot afford to do such things, and really, neither can the customer. Someone out there has just done a massive amount of un-paid work, or has just thrown away a gob of money with nothing to show for it. My assertion is that, if you find you have to “start over,” or even to “fix it” (in the sense of ... oh, let's face it ... “redesign it on-the-fly”), you were not ready to start yet and should not have started.

In the case of, say, AJAX... you have to try to keep up-to-date ahead of time. You'll have to invest some “throw away time” into one or two internal training projects, and maybe some external training. (As much as possible, while you might be willing to invest some “self-training” upon yourself, you don't want to do that for your employees.) In the meantime, don't take-on projects that demand AJAX. Let the other competitors shake the tree for you, even if you lose some short-term work to one of them. By this time, though, your reputation should have preceded you:   by this time, customers want you, because they trust you and/or they trust the person who gave them the referral. If you level with them completely, they might commission the project anyway, knowing that you will deliver. Somehow. :-) And, of course, you will.

Once again, though, I'm not going to deviate from my formula. I'm not going to risk shoving “junk” in front of my customer's face, no matter what. And, I'm not going to confuse my own business objectives with those of my customers. I'm not going to tell them that they should do a project a certain way because I need to get myself up-to-speed in that area; nor am I going to tell them to avoid a strategy because I'm not up-to-speed on it yet myself. (I guess you know you've arrived somewhere when you start to offer your customer a few other names, and they smile politely and say to you, “no, no, we want to work with you.”) :-O

There's... nothing... to equal that feeling. Oh, how it makes you burn that midnight oil!

Yup, I don't miss the 3270. Or that world. (Oui? Non? Oops... we've dated ourselves! Or I have, anyway...) ;-)