From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.3 required=5.0 tests=BAYES_00,INVALID_MSGID autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: fac41,9a0ff0bffdf63657 X-Google-Attributes: gidfac41,public X-Google-Thread: 1108a1,9a0ff0bffdf63657 X-Google-Attributes: gid1108a1,public X-Google-Thread: f43e6,9a0ff0bffdf63657 X-Google-Attributes: gidf43e6,public X-Google-Thread: 103376,4b06f8f15f01a568 X-Google-Attributes: gid103376,public From: jerry@jvdsys.nextjk.stuyts.nl (Jerry van Dijk) Subject: Re: College, C, etc. (Was Re: Is there a language that Dijkstra liked?) Date: 1998/10/24 Message-ID: #1/1 X-Deja-AN: 404674432 References: <6skfs7$2s6$1@hirame.wwa.com> <35F252DD.5187538@earthlink.net> <6t4dge$t8u$1@nnrp1.dejanews.com> <6t5mtp$4ho$1@news.indigo.ie> <35FFE58C.5727@ibm.net> <3600E72E.24C93C94@cl.cam.ac.uk> <6ts1q0$vo2$1@nnrp1.dejanews.com> <361DBC60.C153BBAD@earthlink.net> <36228EC3.4F7381FD@domain.nul> <3630b064.23189339@news.supernews.com> <3630C8DC.DF508803@fv.com> Organization: * JerryWare *, Leiden, Holland Followup-To: comp.lang.eiffel,comp.object,comp.software-eng,comp.lang.ada Newsgroups: comp.lang.eiffel,comp.object,comp.software-eng,comp.lang.ada Date: 1998-10-24T00:00:00+00:00 List-Id: Darren New (dnew@fv.com) wrote: : You need to understand correctness, robustness, how to interpret what : the customer's asking for and turn it into what the customer wants : (never the same), how to pick what language you'll use (I paid for my : Ph.D. by picking the right language :-), understand the limitations and : patterns and idioms you need to know in your chosen environment, : understand people using computers (i.e., user interface stuff, even when : you're not doing user interfaces yourself), and even various theoretical : maths are useful (proving things equivalent to the halting problem or : some NP-complete problem has prevented me from wasting weeks or months : at times). Actually, I think the problem is really more general in nature. IMO, every new project includes a learning curve. As the project progresses, so does you understanding of it. I think it is one of the main contributors to the 'over budged-over time' syndrome. The only way to avoid it, in my experience, is to try to concentrate the learning experience as much as possible at the start of the project. My favorite method is to do a 2-3 month pilot (incl. analysis, design, coding, ...), than, having made most mistakes and false assuptions, throw everything away and do it right. Of course, with a lot of clients that is a hard sell to make: "you want us to pay the whole project for 3 months, and than throw away the results ?". Yes, because it will save you for more than these three months in the next 5 years. Often, of course, this does not happen since the we worry about this years budget, not about life-cycle costs. The real underlying problem is that all of this would not be needed if software enginering as a dicipline were on par with other enginering diciplines. We like to advertise that, but in reality we are not. Formal method advocates will often claim they are, but I myself have not seen this happen. IMHO this might work for relative human-free and strictly confined systems, but these are not the kind of systems I work on. I am, therefore, not even sure if the difference in nature between hard- and software enginering will allow us to reach the same level of maturity. Finally, a recent survey into newly build houses here in the netherlands showed that 70% of them had more than 22 defects (including diversions from the original specifications). Three months after delivery, more than 50% were still not corrected. So, maybe even the implementation of hardware enginering might not be the right measuring stick :-) Right, back to Ada... Jerry. -- -- Jerry van Dijk | email: jdijk@acm.org -- Leiden, Holland | member Team-Ada -- Ada & Win32: http://stad.dsl.nl/~jvandyk