The Agile Success Model
The Agile Success Model (ASM) is an overarching theory to understand the dynamics of any Agile project.
The table summarizes the main findings and implications of the study.
H1: Top Management commitment -> Product Owner involvement
Supported. The relationship between the top management and the middle management is fairly strong, with a noteworthy path coefficient (0.46) and a moderate effect size (0.26).
POs need to be supported by the top management. They do represent the end customer, and their effort deserves recognition and attention from the organization.
H2: Top Management commitment -> Scrum Master leadership
Supported. This relationship is even stronger than H1 with a path coefficient of 0.63 with a large effect size (0.67).
SM are "in the trenches" with developers mediating the organization's needs and the team capabilities to deliver working software. It is a sensitive activity that deserves explicit recognition by the top management as PO.
H3: Product Owner involvement -> Developers skills
Supported. The relations between the 2nd-level and 3rd-level stakeholders are still significant (with a considerable path coefficient of 0.29) but with a small effect size (0.06).
The close interaction between the PO and the development team is highly relevant for the project's success. Developers can best use their skills to have a precise idea about the required features and their priorities.
H4: Scrum Master leadership -> Developers skills
Supported. We report a substantial path coefficient (0.34) with a medium effect size (0.15).
The leadership role of the SM gatekeeper is also crucial for the success model. Developers need to be focused on their tasks, whereas SM provides a productive working environment.
H5: Developers skills -> Project success
Supported. Developers' skills are crucial for project success (as a considerable path coefficient of 0.30 shows); however, we report only a medium effect size for this relation (0.12). The IPMA shows that developers are the most important element to improve Project success.
The failure or success of a software project highly relies on both the social and technical skills of the development team. This is a crucial consideration for hiring and setting up training programs. Managers aiming to lead the project to succeed should prioritize strengthening developers' skills.
H6: Top Management commitment -> Project Success
Supported. The top management's commitment is highly significant for project success (with a solid path coefficient of 0.43) with a medium-large effect size (0.25).
Project success mostly depends on the top management commitment. TM should be welcome the fact that they will lose some degree of control over the development after the transformation. As relatively high effect sizes suggest, teams' skills are not enough to drive success without the organization's support.
Successful Scrum Teams
Scrum is the most adopted Agile framework (VersionOne, 2020). In collaboration with The Liberators, a consultancy firm, we are investigating the most effective practices for project success using a data-driven approach. In particular, through a self-diagnostic survey, we are able to both collect valuable empirical data to understand how to improve a Scrum team performance and provide immediate feedback regarding processes that might need improvement.
Mission-Critical Agile Development
In collaboration with the Italian Army General Staff, I performed some research about the implementation of a Land Command and Control system (LC2Evo), developed in a tailored Scrum fashion: Italian Army Agile or iAgile.
Besides specific aspects related to the Agile transformation process, I investigated how the knowledge base of such a mission-critical system has been used for requirement disambiguation, interoperability with some legacy systems, and information retrieval and display of multiple information sources.
In addition, I focused on techno-legal challenges of public tenders for mission-critical Agile systems. Our proposed solution for Agile contracts consists of double-level contracting. The first level contract defines, in general terms, all customer’s needs, and in particular the context in which the software will be used to meet. With second-level contracts, parties agree to the specifications within a variable number of iterations. Before each iteration, both parties fine-tune the first level issues, in order to meet the iteration’s scope. In particular, the object of each iteration is specified, along with software’s functionalities, performance standard, product evaluation, terms of compensation, and time frame. In other words, the framework agreement (first level contract) opens the way to a number of subsequent detailed contracts for the execution of the whole project, each of which can be adjusted according to the results of the previous ones.