Path: utzoo!attcan!utgpu!jarvis.csri.toronto.edu!mailrus!wuarchive!gem.mps.ohio-state.edu!uakari.primate.wisc.edu!ames!ncar!unmvax!pprg.unm.edu!topgun.dspo.gov!lanl!cmcl2!acf5!sabbagh From: sabbagh@acf5.NYU.EDU (sabbagh) Newsgroups: comp.lang.c Subject: Re: Freelance Message-ID: <872@acf5.NYU.EDU> Date: 5 Oct 89 14:28:31 GMT References: <211050@<1989Oct2> <207600048@s.cs.uiuc.edu> Reply-To: sabbagh@acf5.UUCP () Organization: New York University Lines: 32 In article <207600048@s.cs.uiuc.edu> mccaugh@s.cs.uiuc.edu writes: > > Secondly - and more important for your own protection - is to ensure that > you get ACCURATE specifications for a job PRIOR to programming, and I mean: > IN WRITING. In my own experience and most of my colleagues, that has proved > to be the main problem in getting tasks done to everyone's satisfaction. Better still: WORK WITH THE CONTRACTOR to generate written specifications. This will increase your value to the contractor and make you more desirable, since most consultants are good at programming and lousy at systems analysis. The best way to learn systems analysis is by experience. Yourdon's books on the subject give a good introduction, but his "structured" analysis pays for itself only in large organizations. Draw some DFDs, build a data dictionary but don't take the whole structured analysis thing too seriously unless you are looking at a project involving 1+ man-years (person-years?). From my experience, systems analysis and design are at least as fun as actual programming and make the code-writing part easier. With the more rigorous development cycle I am suggesting, you don't really add to the number of design decisions to be made, you just make them in a different order. That's what top-down design is all about. Hadil G. Sabbagh E-mail: sabbagh@csd27.nyu.edu Voice: (212) 998-3285 Snail: Courant Institute of Math. Sci. 251 Mercer St. New York,NY 10012 186,282 miles per second -- it's not just a good idea, it's the law!