Tuesday, 22 December 2009

PC holiday checklist

Here's a handy checklist for any PC maintenance you are asked to do over the holidays.

If you're visiting people over the holidays and they know you work in IT, they're sure to ask you to have a look at their PC. Here are some things you might want to try.

Safety first

Make sure Windows Update is switched on, and anti virus is up-to-date.

If there is no anti virus software, or if it is slowing down the machine too much (a problem with Norton), try one of:These both provide protection without eating up too many resources.

Microsoft Office

If the PC has a version of Microsoft Office earlier than 2007, make sure the Microsoft Office Compatibility Pack is installed to let them read office 2007 documents.

If they do not have Microsoft Office, consider installing the latest version of OpenOffice.org. As well as being a fully-functional office suite, it can read Office 2007 formats.

Windows Live

Some of the Microsoft Live Programs are great add-ons to Windows.

Windows Live Mail is a much more modern replacement for Outlook Express. Windows Live Photo Gallery provides Windows XP with very similar photo features to Vista.

Backup

The most important part of backup is being able to restore important documents, emails, photos and videos if the machine fails. Backup software focuses on backing up the entire system configuration, but is not so useful when it comes to restoring files onto a new PC when you do not have the same or compatible backup software.

I prefer taking simple copies. Show the PC's owner how to compress their documents onto a zip file and copy that to a USB flash drive. If you are handy with batch files, use XCOPY (or on Vista ROBOCOPY) to automate the backup to a removable drive or another PC on the network.

Passwords

To keep passwords securely, install a password manager like KeePass.

Startup programs

PCs are slow to start because of the large number of programs that insist on running at start up. Many of these are unnecessary. Use the msconfig utility, or download the Windows Defender and use the Software Explorer. (There may be problems if you run Windows Defender with Microsoft Security Essentials.) These will show you what runs at startup. A lot of programs install unnecessary startup components (particular Adobe, Apple, OpenOffice, Google). Experiment with disabling these to speed up startup.

Free stuff

There are thousands of fun free programs you could install. Two of my favourites are:
  • Google Earth which is a great way of exploring the planet from your armchair.
  • GIMP which is a superb image editor for anyone who takes a lot of digital photos.

Keep in touch

I love Skype, and use it all the time for work and to keep in touch with family. If the PC has not got Skype, install it.

This is not a definitive list. But it should be enough to earn you an extra mince pie this Christmas.

© Copyright 2009 Minimal IT Ltd. See the Minimal IT website for the original newsletter and copyright information.

Tuesday, 15 December 2009

What's wrong with government IT

The UK government's "Make IT Better" report is deeply flawed.

The Conservative party have published a leaked copy of the Make IT Better report which sets out the UK government's vision for public sector IT.

I am not an expert on public sector IT, but having read the document, I have four concerns:
  • It presents an inappropriate IT strategy for the UK public sector.
  • It will cause damage to the IT industry.
  • It will create a loss of political accountability.
  • It will weaken industry standards.

Public sector IT strategy is inappropriate

In the UK, the public sector takes around 43% of GDP, and presumably a similar proportion of IT activity. This is so large that you can not separate public sector IT from the IT industry in general. It is no more realistic to set strategy and architecture for the whole public sector than it is to do so for the entire IT industry. Rather than considering the public sector as a separate entity, the government should focus on policies to ensure a competitive, flexible and viable IT industry for the benefit of both public and private sector.

Damage to the IT industry

In pursuit of economies of scale, the report sets out public sector procurement initiatives for networks, data centres and applications. In the short term these may achieve their objectives, but in the long term a concentration of purchasing power and resultant concentration on a few major suppliers undermines competition in the IT industry. The best way to achieve economies is to ensure there is a competitive, flexible and viable IT industry.

The IT industry is largely supported by small and midsize IT businesses. Large scale centralisation disfavours these businesses and undermines the flexibility, economy and innovation that they bring.

Loss of political accountability

The report refers to sharing services across the public sector, but does not consider the impact on accountability.

We have separate public bodies, councils and authorities to provide accountability. Without this we would have a totalitarian state.

Different parts of the public sector need independent accountability and management. This means they must have separate IT systems. IT systems and IT service agreements must not cut across boundaries of political accountability.

Where data sharing is required, this should be achieved through controlled integration that is open to public scrutiny, and not through data centralisation. Different government agencies should be no more free to share your data without your permission than your bank, supermarket and power supplier.

Weaken standards

The report refers to standards, but does not grasp what needs to be done to ensure that the public sector strengthens standards rather than weakens them. I suggest:
  • All public sector standards should be replaced with standards that apply across both public and private sectors. There should be no standards that are "private" to the public sector.
  • Where possible, the public sector should contribute to existing standards, rather than create their own.
  • Any standards that receive significant public funding should, as a condition of funding, be available for free, allow royalty-free use, and freely permit the creation of derivative works. This opens up the usage and innovation around the standards.
For these reasons, I believe "Make IT Better" is deeply flawed.

© Copyright 2009 Minimal IT Ltd. See the Minimal IT website for the original newsletter and copyright information.

Tuesday, 8 December 2009

Rigorous testing

I recently implemented a software release with a significant bug in it. Does this mean my testing approach is flawed?

This weekend I implemented a minor enhancement to the Metrici Advisor service. The enhancement added some new features to assessment forms. I had followed our testing procedure thoroughly, the new version passed all the tests, and I put it live.

I was emailed on Saturday morning by one of our more active users. The assessment form, when accessed from one part of the system, did not work at all.

This particular way of accessing the form is not heavily used, and it fails so gracefully that it is not obviously an error. I do not suppose anybody else had really noticed. The bug itself was trivial to fix - I had missed out a single line on a configuration file. But that is not the point. I still managed to put in a version with a significant bug, and my testing did not catch it.

I was concerned by this. Does this bug suggests that we should change our testing approach?

We have always taken the development and testing of Metrici Advisor very seriously. Our software provides advice on IT management. We have to practice what we preach. As a small company, we have to be able to compete with much larger companies who spend a lot more on development. We have to do things right to survive.

We develop the software in small increments. We rely on test-drive development. We have automated tests for every level of the system: for the underlying code, for high-level services, for stylesheets, and for the user interface. We amend these before or during coding. We rely on the testing 100%. Once a new version has passed the tests, we consider it good to go live.

In some ways, our approach might look unprofessional. We only spend 45 minutes testing the entire system. I have known teams to spend months testing systems of similar size. For minor enhancements, we do not carry out much acceptance testing. Obviously, as this weekend shows, our approach just occasionally misses a bug.

Is our approach flawed? Although the tests are not perfect, the process is rigorous. Once a test condition is identified, either as part of development or because of a bug, it becomes a permanent part of the test packs. The test packs are maintained in parallel to the code. We have invested heavily in testing: our test packs include more than 2500 tests, which works out as one test per 24 lines of code.

We could put more effort into manual testing of releases. But the chances of finding anything that 2500 automated tests have not found are very slim. Every minute that we spend testing manually would be better invested in improving the software and the automated testing. We have only had about 20 software bugs in production in almost four years. I have been reading about test driven design. By using a similar approach, we are achieving defect rates (0.3 defects per thousand lines of code) that are much lower than industry averages.

To answer my own question, I am not going to change our testing approach. Test-driven design and development really works. One bug does not undermine that.

© Copyright 2009 Minimal IT Ltd. See the Minimal IT website for the original newsletter and copyright information.

Tuesday, 1 December 2009

The perils of PowerPoint

A compelling PowerPoint presentation is no substitute for proper systems design and project plans.

In theory, there are two ways to run a systems development project.

In traditional waterfall methods, you create formal documents at stages in the project to record the analysis and design, and get them signed off.

In more modern agile methods, you do away with much of the formal documentation. In its place, you collaborate closely with users and deliver working code frequently.

In practice, it is not like that.

Waterfall methods break. The rigid methods and documents are too cumbersome, they take too long, and are abandoned. Except in some organisations, where the methods are followed so rigorously that the whole process gets clogged up and everything is late.

Agile methods go wrong too. The user collaboration and frequent delivery does not happen. The agile mindset has not really taken hold. People just try delivering systems in a rush without proper process and controls.

Either way, the design process breaks. But there is still a need to get management to agree to the design to continue funding the work.

This is where PowerPoint steps in so dangerously. (I am not Microsoft-bashing. I use OpenOffice.org Impress, and the same applies.)

PowerPoint is an excellent tool for gaining agreement. With PowerPoint you do not need to show the detail — just a few references to strategic imperatives, some nice graphics, a few charts. With a bit of clever PowerPoint, you can get management to agree, and the project can continue.

But the problem with this is that the project has not had a proper design review or sign off, because you have not got a proper design. You have convinced someone to give you money, but not on the basis of any substance.

The thing we forget is that waterfall method documents and agile method processes are primarily about design, not about agreement.

The same happens in project management. A convincing PowerPoint is no substitute for realistic planning and project management engagement.

So, if you are using PowerPoint, do not ask yourself, "Will they agree?". They probably will.

Instead, ask yourself, "Can I back this up?" Have you carried out and documented the detailed design? Have you got working code and happy users? Is your plan realistic and have you got the project management organised?

Because if you get agreement, but have not got the substance to back it up, it will come back to bite you. The remainder of the project will be full of misery as you try to bridge the gap between reality and the unrealistic expectations that you set.

And if you are shown a PowerPoint presentation, ask for the detailed documents and plans that back it up. If the presenter does not have any, or they are "still working on it", they will not have thought through the design and plans, and you should not believe a word of what they say. If you agree solely on the basis of the PowerPoint, you will be deeply disappointed with the result.

Of course this is hard. It has to be. IT is hard. But the sooner we wean ourselves off "IT as presentation" to "IT as substance", the better.

© Copyright 2009 Minimal IT Ltd. See the Minimal IT website for the original newsletter and copyright information.