Discover more from Engineering Enablement
Time Pressure in Software Development
The causes and effects of time pressure on engineering teams.
This is the latest issue of my newsletter. Each week I cover the latest research and perspectives on developer productivity.
This week I read What Do We Know About Time Pressure in Software Development? by researchers at the University of Oulu in Finland. This article summarizes findings from over 100 research papers on the causes and effects of time pressure in software engineering.
My summary of the paper
Time pressure, or “the perception that time is scarce in relation to the demands of the task,” is prevalent in software engineering and has been studied extensively. The authors of this paper aimed to synthesize existing research on the topic in a way that helps engineering leaders better understand what causes time pressure as well as how it may impact teams.
To conduct a systematic review of existing research, the researchers examined 5,414 sources found through repository searchers and snowballing. They narrowed their list to 102 relevant papers on time pressure in software engineering by applying inclusion and exclusion criteria. Then, they qualitatively coded and analyzed the selected papers to answer their research questions.
Here’s what their review found:
What causes time pressure
Prior research has identified three overarching causes of time pressure: problems in effort estimation, poor project management, or social causes such as leadership styles of company culture can all cause time pressure.
Poor effort estimates can be caused by a lack of data. Leaders may lack data because they haven’t collected it, their team has changed, or the project is unique in some way. Additionally, estimates may be poor because of pressure from the business to have earlier deadlines.
Poor project management may arise from task switching, poor organization, or a lack of buffer time allowed for unanticipated work.
Company culture may cause time pressure when leaders set strict deadlines in attempt to increase the pace of development. This may create a culture where long hours or constant deadline pressure are the norm.
Three theories that explain the effects of time pressure
Theory building is advocated for in research, with the perceived benefits being that it provides input for decision making and improves understanding and prediction in a given setting. Previous studies have put forward several theories to conceptualize and explain the effects of time pressure in software development, three of which are included in this paper (see Figure 1 above).
The Yerkes-Dodson Law refers to an inverted U-shaped relationship between performance and emotional activity (otherwise known as “arousal”), where performance increases with emotional activity—but only up to a certain point. After a maximum level of performance has been achieved, additional increases in emotional activity have a negative effect on performance. This is partly due to the negative effects of stress on cognitive performance.
The Job Demands-Resources Model generalizes every job as having demands and resources. In relation to time pressure, the next deadline can be seen as a demand, while time, given tools, support, and autonomy can be seen as resources. In the model, resources are seen to increase job motivation and decrease job strain. Similarly, job demands increase strain. This means that job resources, such as adequate time, autonomy, appraisal of job performance, and support from a superior, can buffer the negative effects of job demands on job strain.
The Dimensional Model of Emotions describes emotions along two axes: valence and arousal. Valence refers to the positive-negative dimension, while arousal refers to activity level and wakefulness. This is paired with the Challenge and Hindrance Time Pressure framework, in which challenge time pressure is viewed as encouraging and challenging and hindrance time pressure is viewed more negatively (for example, constant task switching under time pressure.) This model has been used to explain some cases of exceptional efficiency and performance under time pressure.
These theories are used to help explain time pressure in the context of software engineering.
The effects of time pressure
The researchers identified four types of effects that time pressure has on software engineering: effects on individuals, on process, and on efficiency and quality.
Effects on individuals
Time pressure gas been shown to decrease confidence and increase feelings of uneasiness.
Time pressure is reported to be one of the most frequent external causes of unhappiness amongst developers.
An individual’s knowledge plays a role in the mediation of time pressure: an expert’s performance either increases or does not suffer as much as that of a novice.
Effects on process
For this category, the researchers mapped their sources to process phases.
The process phase where the impact of time pressure was the most often reported was “quality assurance.” The authors suggest that this may be in part because in the traditional waterfall model of software development, testing is in the last phase, where time pressure has the effect of both lower quality product being tested and less time for testing.
Additionally, short-term solutions are prioritized when under time pressure. Several sources the researchers identified reported that time pressure was obstructing the adoption of software process improvement practices.
Effects on efficiency and quality
Time pressure increases efficiency up to a certain point. After that, increases in time pressure cause a decrease in efficiency. (This is explained by the Yerkes-Dodson law above.)
One variable that may create a situation in which time pressure has no effect on efficiency is the nature of the task. The researchers refer to a study where, in a database development task, participants were simply unable to go faster even when under time pressure.
Some studies have captured the negative efficiency as predicted by the Yerkes-Dodson law, when exceeding optimal time pressure leads to decreased efficiency.
Several studies support a reduction in software quality due to time pressure.
The researchers conclude this section with several additional observations from the studies they reviewed:
How time pressure is addressed or perceived can have an impact. The Challenge and Hindrance Time Pressure model explains how time pressure can be viewed as positive or negative.
Managerial reaction to time pressure may also differ. If time pressure is achieved by more overtime hours, then individual well-being will decrease while maintaining project efficiency. If time pressure is achieved by taking shortcuts, the efficiency will decrease as a result of rework.
The authors conclude: “In our view, the success of agile software development is inherently linked to a small to medium amount of time pressure and constant deadline setting.”
It may be hard to find an engineering team that doesn’t experience some time pressure, and for the same reasons listed in this paper: culture, estimates that don’t appropriately take into account tech debt or dependencies, or changing requirements after work has started. While time pressure may be inevitable in many teams, this paper gives us a more clear perspective on how it impacts teams.
The evidence supports what many managers already know: time pressure increases efficiency (up to a certain point), and reduces quality. Apart from this supporting evidence, I found the three theories to be particularly interesting and potentially useful.
That’s it for this week! If you’re finding this newsletter valuable, share it with a friend, and consider subscribing if you haven’t already: