tag:blogger.com,1999:blog-4172950626830217643.post8516912079817849978..comments2024-03-29T08:45:30.697-04:00Comments on Better Embedded System SW: Embedded Software Course Notes On-LinePhil Koopmanhttp://www.blogger.com/profile/11849599272360094243noreply@blogger.comBlogger7125tag:blogger.com,1999:blog-4172950626830217643.post-41316194129816556672017-12-02T12:30:52.691-05:002017-12-02T12:30:52.691-05:00My experience has been that full-blown Fagan Inspe...My experience has been that full-blown Fagan Inspections have a dramatically better result in a typical embedded system project. The typical failure mode is that if you don't treat a review as a formal, almost ceremonial, event the quality degrades rapidly and it becomes a 30-second checkbox with no value. If teams get proficient enough at reviews that they can track a consistent high defect removal rate (above 50% of all defects) and they can then relax formality, great for them. But when first implemented, my experience is that anything less than very formal reviews is very likely to fail. Since most of the students in my class have never done a peer review of any kind before (beyond perhaps a quick over-the-shoulder check), this is the best way to get their head in the game.<br /><br />If you are doing full-up PSP/TSP it might be that the benefits of a Fagan-level of formality review are subsumed by other practices, but to a first approximation none of the teams I see in industry are using PSP/TSP. (Probably this is because the PSP/TSP teams aren't suffering near-death experiences on projects that prompt them to call me in to help.) And the majority of students taking my class are ECE students who will never take another software engineering course besides mine in their life. So I stand by my recommendation for the majority of practitioners (not using PSP/TSP and looking for some way to improve things.) If you're using PSP/TSP and the metrics say less formal reviews are working for you, then that's fine.<br /><br />I suspect the difference in our observations is due to the underlying maturity and rigor of the engineering process beyond peer reviews. Thanks for your useful comments!Phil Koopmanhttps://www.blogger.com/profile/11849599272360094243noreply@blogger.comtag:blogger.com,1999:blog-4172950626830217643.post-4827549060880143482017-12-02T12:23:07.717-05:002017-12-02T12:23:07.717-05:00Rod, thanks for the thoughtful comment. This being...Rod, thanks for the thoughtful comment. This being a US-taught course they need C to be prepared for the job market :). I agree it's a good idea to give them exposure to more capable languages, especially in highly critical systems. I consider how to do this next semester when I teach the course. (In fairness I did spend a little time talking about SPARK in class, but it doesn't appear in the lecture notes.)Phil Koopmanhttps://www.blogger.com/profile/11849599272360094243noreply@blogger.comtag:blogger.com,1999:blog-4172950626830217643.post-23017251298834434472017-11-30T11:14:32.322-05:002017-11-30T11:14:32.322-05:00I been over most of the other modules - I really l...I been over most of the other modules - I really like the Code Review material... your guidance and results seem to be completely consistent with the PSP/TSP reviewing disciplines, other than PSP commends both Personal AND Peer review (i.e. do both!) rather than full-blown Fagan Inspections. Jim Over's team at SEI have a lot of data on this from TSP teams and PSP training classes...<br /> - Rod<br />Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-4172950626830217643.post-73518166024616173632017-11-30T06:42:08.253-05:002017-11-30T06:42:08.253-05:00Phil,
thanks for making this material available. ...Phil,<br /> thanks for making this material available. From a European/Formalist perspective, I am concerned that your students are leaving the course with the impression that embedded systems are programmed in, well, C and nothing else. That's not the way we do things over here. I would be encouraged if your students at least knew of the existence of other approaches such as SPARK (the Ada subset), the Frama-C toolset (as used by Airbus), and so on. How do you think the Typhoon aircraft stays in the air? :-) <br /> Yours, <br /> Rod Chapman, Director, Protean Code LimitedAnonymousnoreply@blogger.comtag:blogger.com,1999:blog-4172950626830217643.post-91145469622190338932017-11-28T16:31:05.443-05:002017-11-28T16:31:05.443-05:00Thanks for the kind words. The topics are based on...Thanks for the kind words. The topics are based on problems I've seen doing embedded system design reviews in industry. There are always more topics to cover than time available, but this covers a lot of the topics that practicing engineers tell me they wish they'd seen in college.Phil Koopmanhttps://www.blogger.com/profile/11849599272360094243noreply@blogger.comtag:blogger.com,1999:blog-4172950626830217643.post-66199608788864348762017-11-28T16:16:23.579-05:002017-11-28T16:16:23.579-05:00Wonderful. Thank you so much for this material. I ...Wonderful. Thank you so much for this material. I found the Toyota case study to be a particularly interesting read. I remember reading all the news surrounding the story and the handout gives a lot more context. I am impressed with the breadth of topics that are being covered in this course. Just curious, in terms of feedback, were there some suggestions from students about other topics to include in this course? Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-4172950626830217643.post-90373779561174535372017-11-28T13:19:11.636-05:002017-11-28T13:19:11.636-05:00Thanks for providing the material.
As a working em...Thanks for providing the material.<br />As a working embedded engineer professionnal I'm impressed that the course covers the real engineering process with requirements, quality etc. I wish I had known that before graduating and entering the field.Unknownhttps://www.blogger.com/profile/06153971701357400112noreply@blogger.com