Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!wuarchive!zaphod.mps.ohio-state.edu!caen!spool.mu.edu!cs.umn.edu!kksys!edgar!brainiac!apertus!news From: ivanp@apertus.mn.org (Ivan Peters) Newsgroups: comp.software-eng Subject: Re: use of metrics Message-ID: <1991Jun19.182334.11045@apertus.mn.org> Date: 19 Jun 91 18:23:34 GMT Sender: news@apertus.mn.org (0000-news(0000)) Reply-To: ivanp@apertus.mn.org Organization: Apertus Technologies Lines: 71 In article <1991Jun13.174427.4861@iccgcc.decnet.ab.com>, kambic@iccgcc.decnet.ab .com (George X. Kambic, Allen-Bradley Inc.) writes: |> How are software people different from many other people in the world who |> are evaluated on quantitative metrics (sales, no. produced, etc.)? Please |> elucidate. Just an attempt on this question, from my perspective. I shall re-state the question to some extent, becoming what are the job charactoristics for a good software engineer in general? And hope this is helpful. Many people consider computers an extension of ones mind... I tend to think that the main charactoristics for software engineering are a good reasoning process, and good organizational skills. (some knowledge and training concerning computers is also quite helpful :-) ) These skills are also important in other jobs, but it seems that they are core, to this profession, while in other professions, the ones having these better skills become obvious due to other reasons. The other proffessions, tend to have less things that can vary on an average problem. While in software, just about everything is a "variable", and the more variables, the more complex the problem, the more one requires good reasoning and organization. Training is supposed to enhance/improve these area's but some people have these skills naturally better than others. In this profession, where these skills are (assumed) core, the expresion of ones code, is where these skills are shown, but many times, this expresion is not possible due to maintaning/cleaning up of someone elses work/mess and/or time constraints forced upon one, or interfacing with others on the project, some having more seniority or political clout (so right or wrong, do things thier way). I am sure there are others. Another observation, in this mental (take this word either way :-) process is that some people may be able to produce code very well on a given task, better than many others (probably due to his reasoning fits this problem better) but is unable to change/adapt to other more complicated or even different problems. example: Medium Task AA Difficult Task BB programmer A: 2 weeks 4 months programmer B: 3 weeks 6 weeks programmer C: 1 week unable If the majority of tasks at ones company are similiar to AA, which programmer is more productive/better? What if the task load changes? Is measurement unique (to some extent) to a company? I have seen this variation occur many times. Another factor that becomes involved at this point is Maintanence, which is many times done by other people, which makes it hard to relate/measure to the initial completion of a task. The input from whoever maintains the software is also a metric, and many times, a main one, (if more time is spent on maintanence, vrs development), and should include, not only the number of problems, but how difficult it was to fix a problem due to the code expresion/design vrs the complex problem itself. Aside, if metrics involves reasoning and oganization, for this profession isn't this sounding like a IQ test?, and one knows how controversial those are. :-). Question: Does someone who is good at designing, have better organizational skills? This I have seen in general but there have been some exceptions. Exceptions invalidate a metric. (The metric/statement must not be complete?) Just my 2 cents worth, (2 cents doesn't buy much anymore..). :-) Ivan