Monday, October 19, 2009

Consultant is change agent for empowerment

I am pleased to have undertaken a three month engagement, formally as a software engineering consultant, in fact acting as a change agent for empowerment. By the end of the engagement, as a leadership team we had certainly seen a marked improvement in performance and engagement. Most of the positive feedback I received was themed around mentoring, experience and knowledge.

The explicit services expected of my role were to deliver software process improvements, to identify the gaps between current and best practice, define team structure, roles, KPIs for the engineering team and individual team members, responsibilities and accountabilities. In reality, the team needed to lift their spirits and confidence, to acquire the necessary skills and knowledge (or at least start on that path), and to be empowered to do their jobs effectively.

Effective KPIs are extraordinarily difficult to construct for software teams and even more so for individual developers. There are very useful project metrics to track, for example, the total number of issues, the number of new and resolved issues. For individual developers, KPIs should not be used as a stick; rather as a tool to identify training and development opportunities.

Part of the role was to help with current projects so I acted as software team leader, demonstrating by my own actions and words the behaviours and outcomes expected of a professional software engineering team. We introduced effective tools and lightweight processes for requirements and test management, issue-tracking and task management. However, daily stand-up meetings immediately led to improved visibility of the status of work-in-progress and greater engagement by the team members.

It is relevant to acknowledge the importance of bringing the team up-to-speed on contemporary patterns and practices, technology and professional conduct. The 'bookends' of requirements and testing envelope the regular, daily work of software engineers who undertake coding and unit testing.

Introducing modern C++ and C# practice included training and coaching in STL containers and iterators, Boost smart pointers, const-correctness, C++ idiom, unit testing frameworks, and so on. The relevance of design patterns, architectural layering and interface contracts also needed to be introduced as practical tools in the professional toolkit.

Of overriding importance over all of these facets of any engagement is that the role of the consultant is to empower both staff and management. Some consultants have a tendency to behave as if they are management themselves instead of coaching the existing managers, thus empowering them to manage effectively and to lead by their own example.

Saturday, October 17, 2009

Computer for the mobile professional

I'm typing this article on my brand new Toshiba Mini NB200 netbook, keying it's brilliant, full-sized keyboard, viewing on an external, full-sized LCD monitor and using an external USB mouse. This is an effective combination which is starting to convince me that the new generation of netbooks are a viable desktop and laptop alternative for mobile professionals who require access to their own computer.

Its heart, in common with comparable machines, is a 1.66GHz Atom processor bolted on to 1GB of DDR2 RAM along with a 160GB hard disk and WiFi. This is just as powerful as the previous generation of laptops and I believe is sufficient for most daily tasks including email, reading and writing documents, and even casual software development.

For me, the keyboard, mouse pad, mouse buttons and screen were the most-important features which drew me to the Toshiba over excellent mini netbooks from Asus, who invented the genre, and HP who have previously set the standard.

Let's install Eclipse SDK 3.5 and see how we go. I have already installed my registered copy of WinZip (great bit of software) so unzip, start up the development environment for the so-called Galileo release, create a new Java project, debug and voila, "Hello there!"

Easy and fast, usable even on the built-in 10.1" screen. Likewise, OpenOffice (the excellent open source office package), Microsoft Office (the academic version used by my wife, a teacher), the usual web browsers, gmail and google docs all work extremely well on this modestly-priced and light-weight platform.

I had hoped to have built-in Bluetooth for wireless connection to keyboard, mouse and mobile-phone modem however the advertisements for some of our major retailers misleadingly imply the 00D model has Bluetooth by writing 'Toshiba Mini NB200/00D Netbook features the Intel® Atom™ 1.6Ghz processor, 1GB Ram, a 160GB Hard Drive, Built-in webcam, Bluetooth®, Wi-Fi, 10.1" screen and ...' and adding 'Bluetooth Enabled No' in the fine print of the specifications.

(I believe it's an accidental sin of omission. It seems the up-market 00P/00Q models do include Bluetooth but not the cheaper 00C/00D models. I have let them know and they promised me a cheap Bluetooth adapter and to fix the web page.)

What else? I am a consultant and part of the reason for me to have a fully-functional ultra-portable is to enable me to work on the run, whether in coffee shops which lack WiFi access, or offices with good internal network security, so I must be able to connect to Telstra's excellent Next G network using Nokia PC Suite. It would have been useful to have built-in Bluetooth so I wouldn't have to remember to carry an extra cable as well as the netbook, on top of my mobile phone I always have with me.

Connecting to the Next G network using Nokia PC Suite, over a USB cable, works flawlessly and the connection is very fast, often bettering my broadband connection speed. I only use my mobile phone as a modem for email, documents and web access using gmail, google docs and so on. Beware you will quickly hit your monthly download limit or run-up excessive charges if you start to download stuff off the net willie-nillie.

Which reminds me, earlier today I phoned Telstra about an SMS I received telling me I had used all 150MB of my monthly downloads. Last night I trialled using my mobile as a modem for the first time on the new netbook. After speaking to five different people and being on hold for ages, they spoke to a techie who said it was not possible for me to download 130MB in the 20 minutes I was connected!

I actually downloaded 7.5MB Firefox 3.5 in a few minutes - blazingly fast - much faster than my broadband connection was running last night. So they upgraded my data pack to 300MB and credited $19.95 to my account - I have to call next month to change it back again to my usual $10 per month data pack for 150MB.

To conclude, I have no hesitation in recommending you consider a netbook as an effective computing platform for the mobile professional. In addition, I can confidently assert that you can use your netbook with an external screen and mouse as a desktop and laptop alternative for all but the most demanding of tasks.