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.6 required=5.0 tests=BAYES_20,REPLYTO_WITHOUT_TO_CC autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,5ea968aeb8c7f10d,start X-Google-Attributes: gid103376,public From: Auntie Alias Subject: Do I Really Need A Supervisor? Date: 1997/03/12 Message-ID: <3327438E.942@earthlink.net> X-Deja-AN: 225061649 Organization: Maniacal Software Warmongerers, Inc. Reply-To: antialias@earthlink.net Newsgroups: comp.lang.ada Date: 1997-03-12T00:00:00+00:00 List-Id: Do I Really Need A Supervisor? I work for a well known aerospace firm developing embeddded Ada software for a well known fighter aircraft. I have been developing embedded Ada software for going on ten years now, having contributed to missile, aircraft, tank and electronic warfare systems now fielded. Like many of you out there I have a wide range of experience developing Ada software for a wide variety of processors. Like most companies, my present client integrates me into a large and deeply nested management environment - I have two direct supervisors (one functional, one project) who each have their supervisors (functional and project) who each have their supervisors, who have their supervisors, etc,etc...My question is, Do I really need a supervisor? It has been my observation over the years that one step above where I work, there is little or no software development done, i.e, my boss does mostly management "work" - going to meetings, interfacing with other supervisors, tracking my progress. My bosses rarely contribute anything of technical value to the project. Most of the time, they have little or no understanding of what it is that I am working on. Often times, they have little or no understanding even how to do my job - sometimes they are not even trained as software people. Too many times in my career I have had to explain the most basic ideas of Ada programming to my boss. (For example, I have twice had to explain to a boss that an Ada program needs a main procedure - that it was not just a collection of packages that somehow starts running.) In my current assignment, I am on a team of three people, only two of which are designing or coding. My co-worker has been designing our project for the past 2 1/2 years but does not know Ada. I know Ada, but I do not know the application or her design as well. Together or singly, either of us could complete the design, coding, testing and integration of our subsystem into the airplane. Working together we can get it done even faster. But our company feels that we need a supervisor. So they assign a third person to our team - the supervisor. Our supervisor is buried with the responsibilities of communicating and coordinating with other managers and with the customer (another division of our corporation). She is unable to contribute technically to our work. Added to this supervisor, I have a functional supervisor and my co-worker also has a separate functional supervisor. In addition to these supervisors, my project feels a need to have a team of supervisors to formulate what our software development process should be. These supervisors it turns out do not even have experience in some cases of developing software - let alone Ada software or embedded software. But there they are, year after year churning out directions for us to use to develop our software by. And let there be no doubt, some of these directions and processes are truly assinine. And over and above these supervisors are still more supervisors. And they all get together for frequent meetings to study how much our company is spending developing our software. Charts, graphs, databases and documents are generated by the thousands to document how far along I and my co-worker have gotten in our development efforts. None of the people gathered together have any idea of how to do the jobs I and my co-worker do, but there they are, tracking our progress, coordinating our efforts, collecting metrics, deciding on schedules, estimating efforts, determining budgets, deciding on policies. And the schedules, budgets and estimates are always wrong! (Never even close!) Our project suffered a major reorganization at the beginning of the year. A new schedule was established. Within two weeks of the new schedule being established, it was invalidated by events. What possible good are these supervisors? My supervisors are incapable of doing or understanding my work. Most of the time, they do not even know what it is that I am working on. They are incapable of giving meaningful advice or suggestions about the design or implementation of the software. They are totally incapable of estimating the time that it will take for me to do my work. They are unable to forecast the cost of doing my work. They sign my time cards every week, but in ten years, I have never once been challenged about my actual time spent working. Any communications they have with other groups, with other engineers or with the customer could more sensibly be done by me or my co-worker. They do make a lot of design policy and scheduling decisions - and most all of them are poor decisions based on a poor understanding of the technology. Either me or my co-worker could have made better decisions quicker. What possible good are these supervisors? The task before me and my co-worker involves developing about 15,000 to 20,000 lines of Ada for an embedded controller. It is complicated and safety critical, but it is not that big of a deal. I wrote something very similar last year for another client. If I had to, I could write the code at home using an ordinary PC and a few thousand dollars worth of equipment. It would probably take me a year of full time effort. But the way our company works, it has so far taken about seven man-years of effort of the software developers alone. Many more years if you add in the supervisor overhead - all those people arguing in their meetings about how I should do my job. Our effort will take another two years yet - both me and my co-worker (and the supervisor watching over us) - all because we have to develop our software according to the "process" (#$%@& SEI !!!) designed for us by the other supervisors. It buys us nothing; it cost us much. What possible good are these supervisors? I, and engineers like me and my co-worker have clearly demonstrated that we are trustworthy, competent and capable to get complicated military systems implemented and fielded. All this without any real technical help from our supervisors. (In many cases, in spite of our supervisor's "help"!) My question is, Do I really need a supervisor? My answer is, No. I can do my job better and faster without the interference of a supervisor. Just tell us what you want us to develop a software solution for and leave us alone to develop the solution. We already know how to do the job. Get out of our way and we will do it. Do you want to see our country field the next fighter aircraft ahead of schedule and way under budget? Just get rid of most of the supervisors - our country will save billions and have better weapons as well.