9 March 2010

Code Quality Assurance

Last week I had the opportunity to give an one hour presentation on code quality assurance as part of the lecture on software testing to students of the Fachhochschule Technikum Wien. By "code quality assurance" I meant principles and techniques used by software developers to test their software and keep it free of bugs.

I believe that the most important ingredient of code quality is the mind-set of the developer. So I started with some slides about the Zero-Defect Mindset and Software Craftsmanship. Then I did a live demo performing the Prime Factors Code Kata to show the basics of unit testing, Test-Driven Development and regression testing. This was the main part of the presentation.

Break  FreeAfter that I explained the principles of code coverage, continuous integration, static code analysis and code reviews to the students. I mixed the theory (slides) with hands-on examples on the newly created Java code using EclEmma, Hudson, PMD and ReviewClipse.

Doing the demo was fun and the whole presentation was a success. For the demo I tried to stick to Scott Hanselman's Tips for a Successful Technical Presentation, esp. font size (Lucida Console, 16pt). Here is my "BigFonty" checklist:
  • Create a new, clean user profile for presentation only.
  • Set icons to large and number of colours to maximum.
  • Remove all icons from the desktop and choose a plain desktop background. I like to minimise all windows if I get lost between them.
  • Disable any screen saver and turn off energy saving. Otherwise they will definitely activate at the most annoying moment.
  • Set the command shell font to Lucida Console 16 point, bold, green on black. Have the default shell point to your main demo directory.
  • Clean up the browser, remove unnecessary tool bars and symbols. Unfortunately, at least in Windows, new users always have tons of crap on the desktop and in the browser.
  • Set the default browser page to empty or your main demo web-site.
  • Set the font size in your browser to very large and enable override of font sizes in styles. This is done in some accessibility sub-menu.
  • Use the browser in full screen mode (F11). You need all the space available for the large text.
  • Set the main font in your IDE to Lucida Console 16. In Eclipse it's enough to change the Text Font (in the Basic category in the sub-menu Colours and Fonts in Appearance).
  • Turn on line numbering in the IDE for quick reference of single lines.
  • Maximise the IDE and use a full screen source window whenever possible. In Eclipse just press Ctrl-M to maximise a view.
  • Start all applications like IDE or any server before the presentation. They may take some time.
(Download slides or source of Prime Factors Code Kata.)

Update 20 April 2010

Student Feedback

Today I got the feedback evaluation from FH Technikum Wien. Several students mentioned my presentation as exciting and full of practical experience. :-) One called my presentation idiosyncratic - I don't mind, it definitely was. It's only weak point was that students were not able to study using the slides alone. Next time I will prepare some handouts with more information.Radio Podcast Days

Update 8 May 2010

German Podcast of Presentation

I finally managed to post-process the (German) audio stream of the talk and combine it with the slides. Watch the quality assurance podcast (in German). It's still missing the demos, but my explanations should give you a general idea what's going on.

5 comments:

Andreas Petersson said...

a quote that might interest you:
via Steve Freeman
http://www.m3p.co.uk/blog/2010/04/25/machiavelli-on-code-quality/
via Dee Hock, Birth of the Chaordic Age
via Nicolo Machiavelli, The Prince (original source)

---As the doctors say of a wasting disease, to start with, it is easy to cure but difficult to diagnose. After a time, unless it has been diagnosed and treated at the outset, it becomes easy to diagnose but difficult to cure.
lg
andreas

Peter Kofler said...

Thank you that’s a good one. It applies and is so true. I will definitely add it to my list of pointed remarks for more code quality at work...

Peter Kofler said...

The source code of the demo together with full history is available here.

Peter Kofler said...

I just uploaded the newest, brushed-up version four of the slides to Slideshare for more convenient consumption. Enjoy!

Peter Kofler said...

Bitbucket changed their URLs, the link to the source code does not work any more. The source code of the demo together with full history is available here.