|
Re: Development: A Structured Problem Area?: msg#00024programming.language-of-the-year
--- Derek Richardson <stuff-YC78yCVKCwA@xxxxxxxxxxxxxxxx> wrote: > If requirements are fully specified, is the rest of > the work a "well-structured problem" that can be > solved by rule-based methods? Yes, but that just moves the messy unstructured work into writing fully-specified requirements. If we had fully-specified requirements - - a 1:1 scale map of the system -- translating the requirements into code would be purely mechanical. The hard part is getting to those fully-specified requirements. The idea that any reasonably intelligent person can write requirements and specifications, and that programmers can then mechanically translate the specs into code is an old and pernicious problem of programming, still believed by many managers and non- technical people. Programming languages are supposed to be tools for unambiguously expressing requirements in a form a computer and (we hope) people can understand. Most people don't want to learn programming languages, so they write requirements and specifications in English or some other ambiguous, informal natural language. One source of messy emergent behavior comes from the discrepancies between the actual requirements and what gets recorded in the specs. The customer or user has a need or vision that the requirements only partially or imperfectly capture. Another source of messiness comes from the programmer translating the requirements from informal ambiguous language to formal unambiguous code; the programmer must necessarily make assumptions, fill in the blanks, etc. A third source of chaos derives from our human inability to understand complex systems and predict their behavior. In 25 years of professional programming I have never seen formal requirements or specifications that were worth the time spent on them. Having the programmer(s) work directly with the customer/user, possibly with a skilled analyst acting as mediator, always (in my experience) leads to a better result. Without that interaction projects either fail or turn into death marches. Most people, I think, understand at some level that doctors and nurses use experience and intuition more than a set of rules. But increasingly even medical professionals are expected to follow specific procedures (established by lawyers and insurance companies) or risk the consequences. And rule-based diagnostic systems were among the first applications of AI. Programmers have never been seen by non-programmers as much more than coders mechanically translating requirements. Doctors are now increasingly viewed the same way. Greg Jorgensen PDXperts LLC - Portland, Oregon USA ------------------------ Yahoo! Groups Sponsor --------------------~--> Yahoo! Domains - Claim yours for only $14.70 http://us.click.yahoo.com/Z1wmxD/DREIAA/yQLSAA/nhFolB/TM --------------------------------------------------------------------~-> Yahoo! Groups Links <*> To visit your group on the web, go to: http://groups.yahoo.com/group/pragprog/ <*> To unsubscribe from this group, send an email to: pragprog-unsubscribe-hHKSG33TihhbjbujkaE4pw@xxxxxxxxxxxxxxxx <*> Your use of Yahoo! Groups is subject to: http://docs.yahoo.com/info/terms/ |
|
| <Prev in Thread] | Current Thread | [Next in Thread> |
|---|---|---|
| Previous by Date: | Re: Development: A Structured Problem Area?: 00024, Dave Thomas |
|---|---|
| Next by Date: | Re: Re: Development: A Structured Problem Area?: 00024, Robert Watson |
| Previous by Thread: | Re: Development: A Structured Problem Area?i: 00024, Andrew Hunt |
| Next by Thread: | Re: Re: Development: A Structured Problem Area?: 00024, Robert Watson |
| Indexes: | [Date] [Thread] [Top] [All Lists] |
| News | FAQ | advertise |