When hiring software developers to work for your organisation, it may be a surprise to find they can spend as little as 30 percent of their time writing code. So, where does the rest of their time go? Here are three areas that are critical to the job and swallow those development hours.
The first area, and perhaps most important and difficult part of the job, is understanding exactly what new software is supposed to do. Defining requirements properly and in sufficient detail to be developed is essential for success but can be a long and arduous process. Developers usually haven’t worked elsewhere in the organisation and so don't know all the processes and procedures of the company as a whole. And they don't even know what they don’t know! Discovering the information needed to create the software, and verifying it is accurate and complete, can swallow large chunks of a developer's time.
Getting new developers up to speed with an organisation and how it works is vital. The temptation maybe to sit them down and get them writing code straight away but this is counterproductive. It is better to put them into key areas of the business alongside experienced staff and let them see firsthand what happens and why.
During software projects, providing easy access for developers to the right business-people can be the difference between success and failure. Assign key contacts in each major business area and plan time in advance for staff to spend with the developer. Trying to squeeze extra time over and above the day-to-day activities of busy people rarely works. Staff are focused (and rewarded) on their own jobs. Therefore, make a successful software project part of their job, rather than an add on.
The second area that often eats into a developer’s time is user interface (UI) and graphic designs. Long gone are the days when everything could be made to look like Excel. Even internal back-office applications need a simple and clear user-interface to ensure they are quick to learn and efficient to use. It gets worse if the software needs to be customer facing, as brand and style guidelines have to be adhered to. Whilst developers can do user interface (UI) and graphic design, they rarely do it particularly well or efficiently. If your organisation has people with design skills, let them support the developer and assist where and when they can. The results will speak for themselves.
Our third drain of a developer’s time is troubleshooting issues, repairing data, fixing bugs and re-releasing software. This is a big hit to their productivity, energy and morale. This can be prevented by testing but, testing is every developer’s least favourite activity. They dislike it even more than completing their timesheets or waiting for their computer to install the latest updates! They also tend to do it badly. Unfortunately, failure to get the testing right is all too common an occurrence.
One way to maximise the time a developer spends writing code is to ensure quality in a project as early as possible. The later it gets, the more time and effort it takes to fix. Test early and test frequently. Do not wait to do it all in one big bang at the end. Get business users involved from the start, establish quality early and don’t let additional development continue if there are major flaws remaining unfixed.
Good testing needs high-quality test data and dedicated test environments as its foundation. Putting time, effort and resources into testing during the development phase will pay for itself over and over again once in production.
In summary, whilst software development may appear a solitary affair, to get the most out of your developers and keep them in their happy place writing code, they need support from all areas of the business. It is not just about the coding.