For some time now, I’ve deliberated whether or not development of software is evolving in the same direction as the rest of our society. It’s common knowledge how doctors receive an increasing administrative workload, in like manner teachers in school being obliged to fill in various reports. All of this to create statistics, instead of actually meetings patients and students, their main task!
Additionally, there are all the retrenchment programs, created to strike “fairly” within the organization. Therefore secretaries are removed from the offices, student assistants from the schools as well as all other forms of supplementary staff, resulting in the main tasks of doctors and students being granted less and less time. Not to mention the Swedish “jantelagen”, stating no one should receive any benefits unless they are available to everyone, resulting in jobs relieving the pressure from doctors or teachers at home being regarded as something disgraceful.
Another consequence of this saving eagerness, is the increasing unemployment rate, seeing that tasks not requiring a university degree shifted on to doctors and teachers.
Improving effectiveness does not mean cutting the costs, it means working smarter, utilizing the technology. The other day, I watched a stocktaking in a clothing store. The latest technology enabled the employee to walk around with a handheld computer. simply passing by all the clothes while the computer was automatically counting. All of a sudden, stocktaking is very simple and effective, the store saving money on a task not affecting the customer.
What has happened within our industry the latest decades? My personal conception is a development in a similar direction. Service staff previously facilitating the chores of developers are gradually disappearing. Possibly, chief executives receives help with diverse tasks, which of course is very productive. Personally I miss the support previously supplied. Such as rules concerning journeys, subsistence allowances (which I currently must look up after every trip), finding a suitable conference room, or a time when every individual is able to attend.
Working at Telia, there was a project office responsible for the foundation for all customer invoices, requested project statistics etc. These support services enabled me to focus on my main task, which over the years has been everything from software development, to testing as well as project management.
Among the developers, I’ve witnessed a growing officialism. Reports must be delivered to various managers, information compiled and reported, decision foundations written etc, resulting in recurring interruptions for the sake of items not being the main task. Mostly, the interruptions are due to managers being informed.
Allowing the developers to focus on their main assignment is crucial for the effectiveness. There is the effectiveness of each individual, as well as the effectiveness of the organization as a whole. Contracting as few developers as possible is essential.
Two developers working 100 % with development will cost half as much and produce more and better code compared to four developers working part time with development, also spending time on other tasks.
Provided that you have the possibility to relieve pressure from your critical resources, that is, the developers, do this before contemplating increasing the number of them. The inevitable increasing needs of communication with more developers will always reduce effectiveness. Ask yourself what tasks performed by the developers can actually be assigned to someone else, or might even be excessive. Proposals of areas of interest are:
- Project management tools not requiring constant attention and updates from the developers.
- Assigning simple testing to other staff than the developers.
- Bug reports reaching the developers being well specified and relatively easy to reproduce
- Letting other employees than the developers fill in journey bills and complicated attendance reports.
- A simple, and preferably automatic, follow-up of the project.