Chapter

Improved Agile: A Customized Scrum Process for Project Management in Defense and Security

Authors:
  • Defence & Security Software Engineers Association
To read the full-text of this research, you can request a copy directly from the authors.

Abstract

This chapter describes our experience of adopting agile project management in a software development project in the defense context. Adopting an agile approach for both software development and the management of the consequent project is becoming increasingly more relevant in many domains, and the defense domain is no exception. However, this relevance does not by itself facilitate adoption as the defense environment is sometimes characterized as an unyielding culture where change is very difficult to effect. We addressed this characterization by obtaining strong unequivocal support from the top leadership, extending the standard scrum roles to fit within a hierarchical organization, and creating mixed teams of civilian consultants and military officers. This strategy was further supported by dedicated infrastructure consisting of specialized training , a suite of computer-aided software engineering tools , a structured governance community, and a custom agile doctrine . As a result of the introduction of our method, we obtained a marked improvement in development costs and project scope with a consequent sharp increase of customer satisfaction. The product has already been tested in an inter-force simulation with excellent results, which further confirms the feasibility of our method for mission-critical software systems for the Italian Armed Forces.

No full-text available

Request Full-text Paper PDF

To read the full-text of this research,
you can request a copy directly from the authors.

... Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale Sprints lasted 4 weeks + 1 for certification [6] Business people and developers must work together daily throughout the project Developers and users worked daily together [3] Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done iAgile has been quite successful, exploting the enthusiasm of both civil and military developers [7] The most efficient and effective method of conveying information to and within a development team is face-to-face conversation Daily meetings and physical shared taskboard were used systematically [4] Working software is the primary measure of progress ...
... An important question that we should answer closing this paper is: which is the difference between iAgile and Scrum, and which impact has on development tools? This is a relevant question that has been already partially answered in [6,7]. We now offer a new discussion after having built CAS. ...
Chapter
Full-text available
Tools are of paramount importance in automating software engineering tasks; although the Agile Manifesto prefers “individuals and their interactions over processes and tools”, some agile development activities make no exception and can be automated effectively and successfully. In process frameworks like Scrum or similar ones some activities are in fact quite structured and need specific tool support. Hence, it is interesting to study the combination of specific agile practices with OSS tools. In this paper we introduce the Compositional Agile System (CAS), an environment created to support iAgile and automate some of its tasks using OSS tools. iAgile is a Scrum-like model designed to develop critical systems in the military domain .
... Since the main characteristic features of the projects are unforeseen, complexity, limited resources (e.g., time, budget, and material), changes, and high risks, the Agile Project Management (APM) concept was introduced to bring solutions to these issues. Therefore, different applications of APM can be seen in diverse industries such as automotive [14], defense [15], healthcare [16], and manufacturing [17]. ...
... The next step in our research is to verify the effectiveness of this new architecture in software companies. Additional research and development will focus on collection of source code metrics as well as the connection to requirement collection [30], to the use of third parties components [3], to the application of advanced models for data analysis as already discussed in several other works [1,2,4,11,13,17,23,[32][33][34] and the extension to distributed development [6,7]. ...
Conference Paper
Despite that non-invasive software measurement tools have proven their usefulness in software production, their adoption in software industry is still limited. Reasons for the limited distributions have been studied and analysed recently. In this paper, we propose a new architecture for non-invasive software measurement systems that address the problems of the existing systems. The outcome of our early experimentation is quite promising and gives us the desired additional confidence on its successful distribution.
... There is increasing interest and use of developer dashboards in the software industry [2,4,10,13,14]. Developer dashboards are typically used to visualize the overall status of a project -the assumption here is that visualization helps managers/developers be aware of the overall status of the projects they are working on, and make proper collaborative/individual decisions while developing software, which will improve the overall productivity and reliability of a team [4-6, 8, 14, 15] and avoiding misinterpretation of data [3,9]. However, this promising assumption hold only if a dashboard displays information needed by the users, without undesired and distracting details. ...
Conference Paper
Designing an effective and useful dashboard is expensive and it would be important to determine if it is possible to elaborate a "generic" useful and effective dashboard, usable in a variety of circumstances. To determine if it is possible to develop such dashboard and, if so, its structure we interviewed 67 software engineers from 44 different companies. Their answers made us confident in the possibility of building such dashboard.
... • PROM plug-ins for IDE that track application-generated data, collect and send all these data to PROM Transfer with timestamp and user authentication features. These authentication feature are different from traditional ones, so they allow multi-user logins to 'Agile' practices such as pair programming [28][29][30][31][32]. ...
Conference Paper
Despite that non-invasive software measurement tools have proven their usefulness in software production, their adoption in software industry is still limited. Reasons for the limited distributions have been studied and analyzed in works like (Coman et al, Proceedings of 476 the 31st International Conference on Software Engineering (ICSE 2009), Vancouver 89–99, 2009) [1]. In this paper, we propose a new architecture for non-invasive software measurement systems that address the problems of the existing systems. The outcome of our early experimentation is quite promising and gives us the desired additional confidence on its successful distribution.
Chapter
Today, companies are confronted with a dynamic, volatile, uncertain and complex environment. To cope with this situation, companies have to be agile. Agility is a key factor for a company’s success when a product’s and process’s complexity increases. Agile describes a set of values and principles, which is realized by the application of different practices, methods and tools. During the last years, the application of agile methods has increased continuously. The purpose of this research is to provide a systematic, explicit and reproducible literature overview regarding agile methods for complexity management. Different definitions for agile methods are described and a new overall definition for agile methods is presented. Furthermore, the existing agile methods are identified and analyzed according to their content and applicability for complexity management. The literature overview was done by systematically collecting and analyzing existing literature. The gap in the literature is pointed out. A general overview of agile methods for complexity management does not exist yet.
Thesis
Full-text available
A falta de gestão de riscos ou a sua aplicação inadequada é um dos motivos de fracasso dos projetos de desenvolvimento de software. Os métodos ágeis, que estão em crescente adoção, não oferecem atividades específicas para gerenciar os riscos. Estudos recomendam a integração de métodos tradicionais de gestão de riscos aos métodos ágeis, mas esta ação pode causar prejuízos ao princípio da agilidade. Portanto, este estudo objetiva propor e avaliar um guia para gerenciar riscos em projetos de desenvolvimento de software que utilizam métodos ágeis, visando aumentar as chances de sucesso destes projetos. O guia proposto foi desenvolvido a partir de práticas de gestão de riscos identificadas em trabalhos sobre métodos ágeis. A priorização destas práticas foi realizada por meio da aplicação do método multicritério AHP e contou com a participação de especialistas no assunto. A eficácia do guia proposto foi analisada por meio da realização de uma pesquisa experimental com a participação de profissionais que atuam em projetos ágeis. Os resultados indicam que o guia proposto aumentou a eficácia do plano de resposta aos riscos, sem aumentar o tempo investido neste processo. Observou-se que os participantes avessos ao risco foram mais eficazes no planejamento de respostas aos riscos do que os participantes de perfil neutro e propenso, independentemente da sua experiência em métodos ágeis e gestão de riscos. Esta tese contribui com os praticantes de métodos ágeis, pois disponibiliza uma ferramenta que pode aumentar as taxas de sucesso dos projetos ágeis por meio do aperfeiçoamento da gestão de riscos. A comunidade científica também é beneficiada em virtude da escassez de pesquisas sobre o tema que analisam a eficácia das suas propostas.
Chapter
This position paper describes an approach to create a framework for modeling emotion role and its contagion influence between agile teams at various activities for producing defense software, and a procedure to test the model by introducing Multi Criteria Decision Methods to the defense sector. Emotions influence and its contagions between developers can significantly influence underlying people-centred processes such as agile methods. Based on current observations, negative emotions and its contagion between teams can be reduced by applying the Multi Criteria Decision Methods which enable the involvement of larger actors pool in different activities, such as decision making, which ultimately help agile teams to acquire higher quality of defense software products and lower development time.
Article
Full-text available
The reputation of lightweight software development processes such as Agile and Lean is damaged by practitioners that claim benefits of such processes that are not true. Teams that want to demonstrate their seriousness, could benefit from matching their processes to the CMMI model, a recognized model by industry and the public administration. CMMI stands for Capability Maturity Model Integration and provides a reference model to improve and evaluate processes according to their maturity based on best practices. On the other hand, particularly in a lightweight software development process, the costs of a CMMI appraisal are hard to justify since its advantages are not directly related to the creation of value for the customer. This paper presents Jidoka4CMMI, a tool that — once a CMMI appraisal has been conducted — allows the documentation of the assessment criteria in form of executable test cases. The test cases, and so the CMMI appraisal, can be repeated anytime, without additional costs. The use of Jidoka4CMMI increases the benefits of conducting a CMMI appraisal. We hope that this encourages practitioners using lightweight software development processes to assess their processes using a CMMI model.
Chapter
Full-text available
Agile software development represents a new approach for planning and managing software projects. It puts less emphasis on up-front plans and strict control and relies more on informal collaboration, coordination, and learning. This chapter provides a characterization and definition of agile project management based on extensive studies of industrial projects. It explains the circumstances behind the change from traditional management with its focus on direct supervision and standardization of work processes, to the newer, agile focus on self-managing teams; including its opportunities and benefits, but also its complexity and challenges. The main contribution of the chapter is the four principles of agile project management: minimum critical specification, autonomous teams, redundancy, and feedback and learning.
Article
Full-text available
In the last decade, there has been increasing interest in pair programming (PP). However, despite the existing work, there is still a lack of substantial evidence of the effects of PP in industrial environments. To address this issue, we have analyzed the work of a team of 17 industrial developers for 14 months. The team is part of the IT department of a large Italian manufacturing company; it adopts a customized version of extreme programming (XP). We have investigated the effects of PP on software quality in five different scenarios. The results show that PP appears to provide a perceivable but small effect on the reduction of defects in these settings.
Article
Full-text available
Pair Programming is one of the most studied and debated development techniques. However, at present, we do not have a clear, objective, and quantitative understanding of the claimed benefits of such development approach. All the available studies focus on the analysis of the effects of Pair Programming (e.g., code quality, development speed, etc.) with different findings and limited replicability of the experiments. This paper adopts a different approach that could be replicated in an easier way: it investigates how Pair Programming affects the way developers write code and interact with their development machine. In particular, the paper focuses on the effects that Pair Programming has on developers' attention and productivity. The study was performed on a professional development team observed for ten months and it finds out that Pair Programming helps developers to eliminate distracting activities and to focus on productive activities.
Conference Paper
Full-text available
As agile software development gains awareness and popularity in the software industry, it also continues to capture the interest of the research community. There are several topics within the agile software development area that demand deeper understanding and research. One such topic is 'Agile Project Management' which relates to the management of software projects that are developed using various agile frameworks such as eXtreme Programming (XP) and Scrum. This paper outlines proposed research on agile project management. In particular we hope to explore the role of the project manager, the process and problems of transitioning into an agile framework, and the management of outsourced agile projects.
Conference Paper
Full-text available
Developers use tools to develop software systems and always alleged better tools are being produced and purchased. Still there have been only limited studies on how people really use tools; these studies have used limited data, and the interactions between tools have not been properly elaborated. The advent of the AISEMA (Automated In-Process Software Engineering Measurement and Analysis) systems [3] has enabled a more detailed collection of tools data. Our "new idea" is to take advantage of such data to build a simple model based on an oriented graph that enables a good understanding on how tools are used individually and collectively. We have empirically validated the model analyzing an industrial team of 19 developers for a period of 10 months.
Article
Full-text available
Software metrics are useful means in helping software engineers to develop large and complex software systems. In the past years, many software metrics have been proposed in order to represent several different concepts such as complexity, coupling, inheritance, reuse, etc. However, this requires the collection of large volumes of metrics and, without flexible and transparent tools, is nearly impossible to collect data accurately. This paper presents the design and the implementation of a tool for collecting and analyzing product metrics in a non-invasive way.
Conference Paper
Full-text available
The improvement of the software development process through the development and utilization of high quality and reusable software components has been advocated for a long time. Agile Methods promote some interesting practices, in particular the practice of refactoring, which are supposed to im- prove understandability and maintainability of source code. In this research we analyze if refactoring promotes ad-hoc reuse of object-oriented classes by im- proving internal quality metrics. We conduct a case study in a close-to indus- trial, agile environment in order to analyze the impact of refactoring on internal quality metrics of source code. Our findings sustain the hypothesis that refactor- ing enhances quality and reusability of - otherwise hard to reuse - classes in an agile development environment. Given such promising results, additional ex- perimentation is required to validate and generalize the results of this work.
Conference Paper
Full-text available
In this paper we present a study on how pair programming (PP) facilitates the introduction of new developers (novices) in a team. Data has been collected non-invasively on how people paired in an industrial team of developers for 10 months; during such time novices joined the team. We focused on spontaneous PP, that is, on PP occurring when developers think it is most effective. Social network analysis techniques are used to analyze developers interactions and infer possible conclusions. It appears that initially PP is used to initiate novices, then it is drastically reduced to be resumed eventually when novices ldquofeelrdquo they have reached a significant level of maturity in the team. These phases are coherent with available works on group development and confirm existing findings on the importance of PP in the introduction of novices in teams, and, more generally, on team dynamics.
Conference Paper
Full-text available
The use of refactoring as a way to continuously improve the design and quality of software and prevent its aging is mostly limited to Agile Methodologies and to a lower amount to software reengineering. In these communities refactoring is supposed to improve in the long-term the structure of existing code in order to make it easier to modify and maintain. To sustain such claims and analyze the impact of refactoring on maintenance we need to know how much refactoring developers do. In few cases such information is directly available for example from CVS log messages. In this study we propose a model on how to mine software repositories in order to obtain information of refactoring effort throughout the evolution of a software system. Moreover, we have developed a prototype that implements our model and validate our approach with two small case studies.
Conference Paper
Full-text available
Refactoring is a hot and controversial issue. Supporters claim that it helps increasing the quality of the code, making it easier to understand, modify and maintain. Moreover, there are also claims that refactoring yields higher development productivity - however, there is only limited empirical evidence of such assumption. A case study has been conducted to assess the impact of refactoring in a close-to industrial environment. Results indicate that refactoring not only increases aspects of software quality, but also improves productivity. Our findings are applicable to small teams working in similar, highly volatile domains (ours is application development for mobile devices). However, additional research is needed to ensure that this is indeed true and to generalize it to other contexts.
Conference Paper
Full-text available
Agile project management with Scrum derives from best business practices in companies like Fuji-Xerox, Honda, Canon, and Toyota. Toyota routinely achieves four times the productivity and 12 times the quality of competitors. Can Scrum do the same for globally distributed teams? Two Agile companies, SirsiDynix and StarSoft Development Laboratories achieved comparable performance developing a Java application with over 1,000,000 lines of code. During 2005, a distributed team of 56 Scrum developers working from Provo, Utah; Waterloo, Canada; and St. Petersburg, Russia, delivered 671,688 lines of production Java code. At 15.3 function points per developer/month, this is the most productive Java project ever documented. SirsiDynix best practices are similar to those observed on distributed Scrum teams at IDX Systems, radically different than those promoted by PMBOK, and counterintuitive to practices advocated by the Scrum Alliance. This paper analyzes and recommends best practices for globally distributed Agile teams.
Conference Paper
Full-text available
There is still no standardization of software measures and metrics extraction tools have to be updated frequently to handle the changes. A possible solution is represented by using an intermediate abstraction layer to decouple the information extraction process from the use of the information. In this way a metrics researcher do not have to deal with language parsing production concepts such as declarations, class specifiers, and base clauses. This paper presents WebMetrics, an automated tool for software metrics collection. The tool uses, as intermediate layer, a set of intuitive relations to describe the source code structure. These relations are stored in a database in order to calculate metrics directly by performing SQL queries. To test the architecture, we applied the tool to the source code of an opensource project in order to compute CK metrics suite.
Conference Paper
Full-text available
Measures represent important data in all engineering disciplines. This data allows engineers to understand how things work and how to make changes to produce desired results. In software engineering, it is difficult to collect useful measures because developers do not consider it an important activity, compared to coding. Moreover, manual collected data is often affected by errors, making it unusable. The shortage of automated tools for collecting and analyzing measures does not contribute to the evolution of software engineering. We present PROM (PRO Metrics), an automated tool for collecting and analyzing software metrics as well as personal software process (PSP) data. The tool uses an architecture based on plug-ins that automatically collects data from development tools.
Chapter
Agile Project Management Roles Agile Project Management Approach Agile Project Management Practices Agile and A Guide to Project Management Body of Knowledge (PMBOK® Guide)
Conference Paper
The continuous evolution of the military “land operations ” generates instability of the Command & Control systems requirements obliging the developers to work with unstable and unconsolidated mission needs. In 2013, the Italian Army General Staff Logistic Department decided to overcome the problem of the “volatile requirement” transitioning to a completely different software development methodology derived from the commercial, area but almost completely new to the “mission critical” software applications: the so called “agile” methodology. The introduction of “agile” in the development of high reliability software was not easy and implied the generation of a brand new “agile” methodology called: Italian Army Agile or ITA2. Setting up the LC2Evo (the evolution software of the land C2) implied the solution of many problems and the construction of a solid structure based on four “pillars”: User Community Governance, Specific “agile” Training, new “agile” CASE1 Tools, custom “agile” development doctrine. This paper gives a short description of the Italian C2 software evolution from the current SIACCON2 to the LC2Evo whose first components are in use already in various national and out of area operations. The LC2Evo “dismounted Soldier segment software using augmented reality and goggle glass-like display is also described. The major problems tackled and solved for the construction of the “four pillars” are treated.
Conference Paper
Agile methods are now a mainstream production process and their proponents are no longer considered hackers or cowboy coders. Still, in embedded and safety critical domains there is somehow the expectation that the approach be "more" plan-based; at least, many of the current normatives seem to lean toward such approach. A definite change in attitude has emerged with the latest DoD standards in the United States; in Italy, this change has been introduced through a new initiative taken at the 4th Logistic Division of the General Staffs of the Italian Army.
Chapter
If you have worked long enough as a software developer, you have definitely wished that you could start a project totally from scratch. Throw away all the messy code and build it from scratch with all the knowledge you have now. But why is it that code becomes messy? We even have specific terms to describe it—code rot, big ball of mud, spaghetti code.
Chapter
Capturing the “user requirement” has always been the most critical phase in systems engineering. The problem becomes even more complicated in software engineering where uncertainty of the functions to implement and volatility of the user needs are the rule. In the past, this initial difficulty of the software production phase was tackled by the requirement engineers using formal methods to structure the dialogue with the user. The solutions offered by this discipline are controversial. Agile methods put once again the human factor at the center of the user needs capture phase, using the intrinsic nonlinearity of the human mind to translate the user stories into software development. Although this practice has a positive outcome, the built-in ambiguity of the natural language is a consistent limit. An attempt to structure this dialogue without disturbing the “Agile” approach is presented, and some considerations on the possibility of using semantic tools are made.
Book
Management and enables them to deal with the demands and complexities of modern, agile systems/software/hardware development teams. The book examines the project/program manager beyond the concepts of leadership and aims to connect to employees' sense of identity. The text examines human psychological concepts such as “locus of control,” which will help the manager understand their team members’ view and how best to manage their “world” contributions. The authors cover new management tools and philosophies for agile systems/software/hardware development teams, with a specific focus on how this relates to engineering and computer science. This book also includes practical case studies. Discusses management skills needed as they relate to the advances in software development practices Examines how to manage an agile development team that includes teams across geographically, ethnically, and culturally diverse backgrounds Embraces all of the aspects of modern management and leadership
Conference Paper
Popularity of Agile Methods is growing up and along with this popularity is also growing the interest in adopting these methods in conjunction with maturity models, like CMMI. Dozens of reports about this topic can be found with different results. Therefore, a Systematic Literature Review was conducted with the goal of identifying characteristics of agile project management in organizations using agile methods and maturity models. We accepted 34 primary studies published from 2001 to 2013. The results show that the area still lacks details on how to perform the software development activities, what techniques can be used to meet issues not directly addressed by agile methods without losing the desired agility and what tools can be used to facilitate the combination of approaches.
Book
This book introduces readers to the concept of Agile Project Management and enables them to deal with the demands and complexities of modern, agile systems/software/hardware development teams. The book examines the project/program manager beyond the concepts of leadership and aims to connect to employees' sense of identity. The text examines human psychological concepts such as “locus of control,” which will help the manager understand their team members’ view and how best to manage their “world” contributions. The authors cover new management tools and philosophies for agile systems/software/hardware development teams, with a specific focus on how this relates to engineering and computer science. This book also includes practical case studies.
Article
This article provides software cost, quality and productivity benchmarks in twelve application-oriented domains that readers can use to determine how well their organizations are performing relative to industry averages. In addition to answering common questions raised relative to these benchmarks, the article summarizes the return on investments firms are realizing as they try to harness new technology for a variety of reasons.
Managing Successful Projects with PRINCE2®
Managing Successful Projects with PRINCE2®, AXELOS, London, 2009
The PRINCE2® Foundation PDF Training Manual, Management Plaza
  • F Tuley
Tuley F., The PRINCE2® Foundation PDF Training Manual, Management Plaza, Belgium, 2015
Agile project management Software project management in a changing world
  • T Dyba
  • T Dingsøyr
  • Mn Brede
The Lean Toolbox, PICSIE
  • J Bicheno
  • M Holweg
Bicheno J., Holweg, M., The Lean Toolbox, PICSIE, 2009. ISBN 978-0-9541244-5-8.
Systematic Literature Review on the Characteristics of Agile Project Management in the Context of Maturity Models
  • L F Chagas
  • D D De Carvalho
  • A M Lima
  • C A L Reis
Chagas L.F., de Carvalho D.D., Lima A.M., Reis C.A.L., Systematic Literature Review on the Characteristics of Agile Project Management in the Context of Maturity Models, A. Mitasiunas et al. (Eds.): SPICE 2014, CCIS 477, pp. 177-189, Springer International Publishing Switzerland, 2014.
Principles of computer-integrated manufacturing
  • J Waldner
Waldner J., Principles of Computer-Integrated Manufacturing, John Wiley, 1992. ISBN 0-471-93450-X
  • W De Kort
de Kort W., DevOps on the Microsoft Stack, Apress, 2016, DOI 10.1007/978-1-4842-1446-6_5
  • A Sillitti
  • A Janes
  • G Succi
  • T Vernazza
Sillitti A., Janes A., Succi G., Vernazza T., Collecting, Integrating and Analyzing Software Metrics and Personal Software Process Data, EUROMICRO 2003, Belek-Antalya, Turkey, 1 -6 September 2003.