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.9 required=5.0 tests=BAYES_00 autolearn=ham autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: f43e6,d71a6822cd2fec5 X-Google-Attributes: gidf43e6,public X-Google-Thread: 103376,5ea968aeb8c7f10d X-Google-Attributes: gid103376,public From: John Apa Subject: Re: Do I Really Need A Supervisor? Date: 1997/03/14 Message-ID: <33298FBE.323B@delphi.dasd.honeywell.com> X-Deja-AN: 225521114 References: <3327438E.942@earthlink.net> <5g7u24$1jeg@uni.library.ucla.edu> Organization: Honeywell DASD Newsgroups: comp.software-eng,comp.lang.ada Date: 1997-03-14T00:00:00+00:00 List-Id: Jay Martin wrote: > > Auntie Alias writes: > > >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? I just left a company that had 50+% management. It was a good place and had lot's of good people, but making progress tended to be very political. And hence very stressful. If any of my friends are reading this, don't worry I won't name names! > > >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.) True, the pointy haired guys seem to be all over. And there's no way (legally) to get rid of them. The only method is to give their phone # to a headhunter, or to leave yourself. > > >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. This is not a new thing. My father has been working in the defense/space industry for over 40 years. He's a system engineer, and knows more about software and design than many of the SW managers below him. But they went to school and _know_ (a few CS-MS) how to do it. He's content to give them his advice, and let them do as they want. When they fail and decide that he was right, they are amazed that someone who remembers WWII understands software. Really, it's not about SW it's about engineering. Managers should manage and stay our of the technical forum. Their job is to support you in getting your job done so that it mets spec. > > >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? Landfill? Seriously, good supervisors exist. I've been lucky to have a few. They should insulate you from the politics of the company and the customer. When they fail to do this, you have big problems. One manager I had was so confrontational that everyone just stopped designing and did exactly what he said. Now the average team member had 10 years experience with the project, and 6 years ada. The _manager_ had never been on a sucessful ada project, and did not have any domain experience. Result, half the team is now working elsewhere. And major schedule/budget slips. To be blunt, a blood-fest. My current leader loves schedules, they make him laugh a lot. Everytime he hands one out he qualifies it by saying, "If you don't like this one, wait till tomorrow." The problem with schedule is that noon knows how to do them. I've had people ask me how long its going to take to do something, I say 6 weeks. By the time I get the schedule back it says I've got two weeks, and they started a month ago. That's just stupid. And if you allow that to happen then, you are also at fault. You need to go to the PMO and tell them that your estimates are not being reflected in the schedule, and that you will not accept any non-written direction from that point on. Otherwise, you know where you'll get it. Yes, it's not fun to have to play the game, but you need to protect yourself. Think of it as a pump, and you know what flows downhill. If you can't go to the PMO because you don't trust them, then why are you working there? You need to be a team, if PMO doesn't want to hear bad news or get ideas for making things better then perhaps they aren't going to be very successful. > > >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? Having told a sad story about a bad situation, I should share a good story. I had a manager many years ago, who didn't care how you implemented something as long as it met the specs (specs we all designed and agreed on). He was a great guy to work for. He backed us up when management was looking for scape goats, and fought to reward those of us who did good work. It was wonderful. We all had the freedom to use our knowledge and do work. We could also take risks and try new things because we knew he wouldn't pull the rug out from under us. Most of all, everyone was happy and productive. Maybe another happy story too. Just before I left my last job we got a new manager to replace our confrontational one. The new manager was great. She actually talked to us and wanted to help everyone set goals that they wanted to accomplish. She really cared about the team and wanted it to be sucessful. She knew what she was doing and had great ideas of things to do in the future. I'd have stayed but I was ready for a change and wanted to try a different location. I wanted to get out of LA and someplace where people actually said hello and smiled. > > >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? It is true that SEI or any process initially adds to cost. It is frustrating, especially when it seems like you sit in meetings all day and argue, sorry, _discuss_ how many angels can sit on a pin(like angels would actually sit on a pin, ouch!) I've been there, the record is 33 hours in three days discussing such trivial crap that it almost makes me sick. But I've also seen how a _good_ process can be helpful, and over the long term can save money. The most productive I've ever been was on a small project with two other SW-eng, we averaged over 10 lines per day each of finished running code. While we didn't have a process documented, we were (and still are) good friends so we knew how to work together and the process evolved from that. If the process adds so much to your bids that you lose contracts or fail to meet them, there is something wrong. There is nothing wrong with failing, unless it's failing to learn from your mistakes. A bad process will shut down a company faster than acts of God. A process has to be a living thing, that adapts with your market, skills, and goals. If it doesn't change then you will not evolve with technology, and will be left behind. If you know of a problem with the process, get a copy, redline it and start the revision process. If you cannot do this then there is a _serious_ problem. Now, your change may not be deemed appropriate, but at least there will be discussion among your peer group that should provide you with some satisfaction. Maybe it's a great idea, but we have to deliever tomorrow. Sometimes there are great reasons to do something one way, you just aren't aware of some of the subtle reasons. The change process should either result in change or provide a solid reason for why no change ws needed. > > >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? I love working individually or in small teams. Much more efficient that the larger teams I've been in. It's wonderful. The problem is that most systems now days are getting to complicated for small teams of 1-5 people. Keeping teams small is great, but on a large project you need more than a few small teams. That means someone to coordinate everyones actions. Good managers should look out for the well being of the team and help it to work. Teams will have natural leaders within them, let that happen. Generally I've found that some of the best engineers (HW/SW) tend to be very independent. Free thought should be encouraged. Though not at the expense of team members. No one needs to have someone standing over them asking "how much longer", "does it works yet", "lack of adherance to the process will be reflected in your review", "what does this thing do?", "team member X left because he wasn't good enough, hope you learn from that", "I alone know what is right for the project, you engineers don't know sh%*". > > >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. > > Heh. As anyone in defense software knows, the main goal of defense > software is to suck the maximum $$$ out of the DOD while producing > little to zilch. So given inefficiency as something to optimize, your > company sounds like it is doing a brilliant job. Recognize their > genius! (forwarded to comp.software-eng) > > Jay Gee, Jay, perhaps you don't know how many brave men have died (to much revisionist history in CA schools) so that you can go to a bleeding heart school and protest defending this country. It's a good thing defense funding created the internet, and developed computers so many years ago. Otherwise you wouldn't be able to broadcast your short sighted, ignorant views to the entire world, and potential employers. Most people are not in defense for the money, the technology is generaly leading edge, and the tasks are very challenging. Some one has to provide our troops with good equipment so that in future conflicts (and there will be more, peace is dangerous) not so many will have to die defending your sorry life. You'll probably work for M$ and learn how to suck the life out of an entire industry, not to mention fleecing the people, stealing ideas, and setting up monopolies. Now that is much better than helping to defend our country. It must be. I hear it pays good to. Oops, didn't realize you're a cs at ucla. I'll type slower so you can understand. My apologies in advance for the CS/ucla crack to all the CS/ucla people who _know_ what they are doing. I've met to many from there who can't find the power switch. To busy protesting something perhaps? Maybe 400 students to a class is to much, especially with no professors. I used to live there and I know what goes on. -- *********************************** That's my opinion, not Honeywell's. John Thomas Apa Honeywell Defense Avionics Systems Albuquerque, New Mexico. ***********************************