Discover more from Engineering Enablement
Factors affecting on-time delivery include requirements refinement, task dependencies, and organizational alignment.
This is the latest issue of my newsletter. Each week I cover research, opinion, or practice in the field of developer productivity and experience.
This week I read Factors Affecting On-Time Delivery in Large-Scale Agile Software Development by researchers from the Delft University of Technology. This study sought to identify the most relevant factors that affect on-time delivery.
My summary of the paper
On-time delivery has been a major challenge for decades: prior research identified that on average, software projects run around 30% overtime — a number that has not seemed to decrease since the 1980s. Here, researchers aimed to provide insight into how teams can become more predictable.
This was a mixed-methods study at the case company ING, a large Dutch internationally operating bank with more than 15,000 developers using agile development processes. Researchers conducted two rounds of surveys to identify factors, which were then quantified and statistically modeled using software repository data from teams.
Here were the key findings from the study:
The factors that affect on-time delivery
Researchers identified 25 factors that are perceived to affect the on-time delivery of epics. The factors are organized in Table 1 along five dimensions — organizational, process, project, people, and technical — and are described in more detail below.
Participants in this study were also asked to rate the level of impact for each factor on delivery schedules. The top five factors were, in order, requirements refinement, task dependencies, organizational alignment, organizational politics, and the geographic distribution of teams. Further analysis showed that respondents were quite consistent in their ratings of most factors.
Organizational factors. This category of factors concerns the uncertainty surrounding the organizational environment in which an epic delivery takes place.
Organizational alignment and executive support were found to contribute to timely delivery. Organizational alignment refers to having a shared vision and mission. Executive support includes the active involvement of management in strategy execution.
Organizational politics cause delays. This refers to teams being entrusted by management to come up with deadlines, instead of deadlines being pushed on them. Additionally, geographic distribution and organizational stability (i.e., restructuring) cause delays.
Process factors refer to the effectiveness and maturity of a software development team’s way of working.
The top mentioned cause of delays was requirements refinement, which specifically refers to requirements that are lacking.
Teams that regularly deliver software are perceived to be more predictable. This includes limiting the amount of work in progress.
Another prominent factor contributing to on-time delivery is agile maturity, which refers to the ability of a team to become more agile over time.
Project factors relate to the inherent complexity and uncertainty of a software project.
The project size, project newness (i.e., innovativeness), and project security (e.g., required level of testing) are all characteristics of a project that affect on-time delivery.
People factors refer to qualities associated with a software development team that can affect the timeliness of deliveries.
Team stability (i.e., low team member turnover), strong skills and knowledge, team familiarity (i.e., the amount of experience individuals have working with one another) and team commitment to on-time delivery (i.e., motivation to deliver on-time) all contribute to on-time delivery.
Communication between teams can cause delays.
Technical factors relate to the quality of the source code artifact, and the effectiveness of technology and tools used to produce that artifact.
Factors causing delays are poor code documentation, lack of code quality, bugs or incidents, insufficient testing, and technical dependencies.
How the factors interact with each other
In addition to identifying factors and their influence on delivery, researchers investigated participant responses to identify direct, indirect, and contributory relationships between the factors and on-time delivery.
Respondents mentioned three ways in which factors can have a direct impact; factors can lead to unplanned waiting time (WT), necessary rework (NR) or changes in team effectiveness (TE). WT and NR are described to lead to delays, while increased TE (i.e., a team’s capacity to achieve its goals and objectives) is reported to help with on-time delivery. Table 2 below shows the relevant type (NR, WT, or TE) for each perceived direct relationship.
One key finding from this phase of the study was that the factors interact hierarchically: organizational factors interact with people factors, which in turn impact technical factors. Technical factors have a direct impact on on-time delivery.
This paper provides a new lens on improving developer productivity by looking at what impacts on-time delivery. Leaders may find it a helpful reminder that organizational factors such as executive support have an importance influence on whether teams deliver on time.
Leaders may also use the latter section of this paper, which looks at the relationship between factors, to develop hypotheses to improve. For example, the study suggested that a lack of code quality leads to necessary rework, and thereby, delays. We may therefore hypothesize that code quality improvements may reduce the likelihood of rework and improve the on-time delivery performance. Alternatively, leaders may decide to focus on factors that have a direct impact on on-time delivery, such as technical dependencies or requirements refinement.
That’s it for this week! Share your thoughts and feedback anytime by replying to this email.
If this email was forwarded to you, subscribe here so you don’t miss any future posts: