Code reviews have many benefits, most importantly to find bugs early in the development phase and to enforce coding standards. Still, it is widely accepted that formal code reviews are time-consuming and the practical applicability in agile development is controversial. This work presents a continuous differential-based method and tool for code reviews. By using a continuous approach to code reviews, the review overhead can be reduced and the effectiveness and applicability in agile environments shall be improved.
{"title":"Adopting Code Reviews for Agile Software Development","authors":"Mario Bernhart, Andreas Mauczka, T. Grechenig","doi":"10.1109/AGILE.2010.18","DOIUrl":"https://doi.org/10.1109/AGILE.2010.18","url":null,"abstract":"Code reviews have many benefits, most importantly to find bugs early in the development phase and to enforce coding standards. Still, it is widely accepted that formal code reviews are time-consuming and the practical applicability in agile development is controversial. This work presents a continuous differential-based method and tool for code reviews. By using a continuous approach to code reviews, the review overhead can be reduced and the effectiveness and applicability in agile environments shall be improved.","PeriodicalId":442404,"journal":{"name":"2010 Agile Conference","volume":"5 3 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2010-08-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131972884","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Despite high expectations, agile methods have not always produced the desired results. The suitability of various agile practices depends on many situational factors, such as team size, project complexity, individuals competence, etc. As agile practices have become increasingly widespread, there is a growing body of literature that reports on empirical experiences, including factors that contribute to successful or problematic adoptions. However, this considerable body of knowledge is hard for the busy practitioner to digest, synthesize, and put to practice for the specific context at hand. Our previous work [1] introduced a repository of agile methods that provides evidential knowledge about the needed conditions (requisites) and promised benefits (objectives) of various Agile Method Fragments (AMFs). The knowledge was gathered through systematic review of empirical studies which investigated the enactment of agile methods in various project situations. This paper reports the use of repository in a software process improvement initiative in one of the R&D units of Ericsson Company in Italy.
{"title":"Capitalizing on Empirical Evidence during Agile Adoption","authors":"Hesam Chiniforooshan Esfahani, E. Yu, M. Annosi","doi":"10.1109/AGILE.2010.7","DOIUrl":"https://doi.org/10.1109/AGILE.2010.7","url":null,"abstract":"Despite high expectations, agile methods have not always produced the desired results. The suitability of various agile practices depends on many situational factors, such as team size, project complexity, individuals competence, etc. As agile practices have become increasingly widespread, there is a growing body of literature that reports on empirical experiences, including factors that contribute to successful or problematic adoptions. However, this considerable body of knowledge is hard for the busy practitioner to digest, synthesize, and put to practice for the specific context at hand. Our previous work [1] introduced a repository of agile methods that provides evidential knowledge about the needed conditions (requisites) and promised benefits (objectives) of various Agile Method Fragments (AMFs). The knowledge was gathered through systematic review of empirical studies which investigated the enactment of agile methods in various project situations. This paper reports the use of repository in a software process improvement initiative in one of the R&D units of Ericsson Company in Italy.","PeriodicalId":442404,"journal":{"name":"2010 Agile Conference","volume":"72 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2010-08-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129616752","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Lack of tool support is hindering the growing interest in incorporating usability evaluation into agile software development practices. To address this concern we have developed ActiveStory Enhanced, a tool for creation and remote evaluation of low-fidelity prototypes. Building on its predecessor, ActiveStory Enhanced remotely collects more forms of usability data and provides new visualizations of this data to aid in the detection of usability flaws.
{"title":"Distributed and Automated Usability Testing of Low-Fidelity Prototypes","authors":"Ali Hosseini-Khayat, T. Hellmann, F. Maurer","doi":"10.1109/AGILE.2010.11","DOIUrl":"https://doi.org/10.1109/AGILE.2010.11","url":null,"abstract":"Lack of tool support is hindering the growing interest in incorporating usability evaluation into agile software development practices. To address this concern we have developed ActiveStory Enhanced, a tool for creation and remote evaluation of low-fidelity prototypes. Building on its predecessor, ActiveStory Enhanced remotely collects more forms of usability data and provides new visualizations of this data to aid in the detection of usability flaws.","PeriodicalId":442404,"journal":{"name":"2010 Agile Conference","volume":"4 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2010-08-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"117000718","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
In this paper we present a statistically tested evidence about how quality and success rate are correlated with variables reflecting the organization and aspects of its project’s governance, namely retrospectives and metrics. The results presented in this paper are based on the Agile Projects Governance Survey that collected 129 responses. This paper discuss the deep analysis of this survey, and the main findings suggest that when applying agile software development, the quality of software improves as the organization measures customer satisfaction more frequently, and as the impact of retrospective increases. Project success improves as quality, frequency of measuring customer satisfaction, organization experience in agile development, retrospective impact, the team participation in retrospective and the team contribution to retrospective, increases.
{"title":"The Impact of Organization, Project and Governance Variables on Software Quality and Project Success","authors":"Noura Abbas, A. Gravell, G. Wills","doi":"10.1109/AGILE.2010.16","DOIUrl":"https://doi.org/10.1109/AGILE.2010.16","url":null,"abstract":"In this paper we present a statistically tested evidence about how quality and success rate are correlated with variables reflecting the organization and aspects of its project’s governance, namely retrospectives and metrics. The results presented in this paper are based on the Agile Projects Governance Survey that collected 129 responses. This paper discuss the deep analysis of this survey, and the main findings suggest that when applying agile software development, the quality of software improves as the organization measures customer satisfaction more frequently, and as the impact of retrospective increases. Project success improves as quality, frequency of measuring customer satisfaction, organization experience in agile development, retrospective impact, the team participation in retrospective and the team contribution to retrospective, increases.","PeriodicalId":442404,"journal":{"name":"2010 Agile Conference","volume":"3 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2010-08-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128278001","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Little is known about problems encountered in distributed Agile development environments. There have been some case studies reporting on them. However, these studies have been mainly limited to the scope and context of only one or a few companies. As a result, we do not possess an overall picture of what types of problems and challenges the companies may encounter in distributed Agile environments. In this paper, we analyze twelve case studies from the existing literature, identify thirteen problems reported in them and their solutions, and we group the problems into six classes: Culture, Time Zone, Communication, Customer Collaboration, Trust, Training and Technical Issues.
{"title":"Classes of Distributed Agile Development Problems","authors":"M. Kajko-Mattsson, Gayane Azizyan, M. Magarian","doi":"10.1109/AGILE.2010.14","DOIUrl":"https://doi.org/10.1109/AGILE.2010.14","url":null,"abstract":"Little is known about problems encountered in distributed Agile development environments. There have been some case studies reporting on them. However, these studies have been mainly limited to the scope and context of only one or a few companies. As a result, we do not possess an overall picture of what types of problems and challenges the companies may encounter in distributed Agile environments. In this paper, we analyze twelve case studies from the existing literature, identify thirteen problems reported in them and their solutions, and we group the problems into six classes: Culture, Time Zone, Communication, Customer Collaboration, Trust, Training and Technical Issues.","PeriodicalId":442404,"journal":{"name":"2010 Agile Conference","volume":"36 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2010-08-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114385509","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Stakeholder Theory is an area of strategic management that defines a stakeholder as someone who affects or is affected by the actions of the organization. The principles and concepts of stakeholder theory can be applied to software development organizations to give managers a better understanding of the diverse community of stakeholders that influence product development efforts. A deeper understanding of the broad community of stakeholders can help an organization that is transitioning to agile methods by highlighting the stakeholders that are affected. This paper describes the application of stakeholder theory to product development organizations in the context of a global product development company undergoing a multi-year transition to agile development. A model is presented for mapping stakeholders into stakeholder groups, and for quantifying the influence of stakeholders. This paper further uses a stakeholder approach to demonstrate how traditional organization roles map to roles in an agile product development organization.
{"title":"Stakeholder Identification in Agile Software Product Development Organizations: A Model for Understanding Who and What Really Counts","authors":"Ken Power","doi":"10.1109/AGILE.2010.17","DOIUrl":"https://doi.org/10.1109/AGILE.2010.17","url":null,"abstract":"Stakeholder Theory is an area of strategic management that defines a stakeholder as someone who affects or is affected by the actions of the organization. The principles and concepts of stakeholder theory can be applied to software development organizations to give managers a better understanding of the diverse community of stakeholders that influence product development efforts. A deeper understanding of the broad community of stakeholders can help an organization that is transitioning to agile methods by highlighting the stakeholders that are affected. This paper describes the application of stakeholder theory to product development organizations in the context of a global product development company undergoing a multi-year transition to agile development. A model is presented for mapping stakeholders into stakeholder groups, and for quantifying the influence of stakeholders. This paper further uses a stakeholder approach to demonstrate how traditional organization roles map to roles in an agile product development organization.","PeriodicalId":442404,"journal":{"name":"2010 Agile Conference","volume":"34 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2010-08-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115385033","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Agile organizations focus on developing software systems that satisfy their current customer base, without worrying about best practices to handle variations of requirements in the system. Scaling agile methods up to adopt variability management practices in their traditional form is challenging. In this paper, we discuss the challenges and we contribute a lightweight, iterative approach that enables agile organizations to manage variability on demand in a reactive manner. The approach relies on agile practices like iterative development, refactoring, and continuous integration and testing. We present a case study to show how the approach was used to handle variability arising from technical and usability issues, and we provide a discussion of the advantages and limitations of the approach.
{"title":"Reactive Variability Management in Agile Software Development","authors":"Yaser Ghanam, D. Andreychuk, F. Maurer","doi":"10.1109/AGILE.2010.6","DOIUrl":"https://doi.org/10.1109/AGILE.2010.6","url":null,"abstract":"Agile organizations focus on developing software systems that satisfy their current customer base, without worrying about best practices to handle variations of requirements in the system. Scaling agile methods up to adopt variability management practices in their traditional form is challenging. In this paper, we discuss the challenges and we contribute a lightweight, iterative approach that enables agile organizations to manage variability on demand in a reactive manner. The approach relies on agile practices like iterative development, refactoring, and continuous integration and testing. We present a case study to show how the approach was used to handle variability arising from technical and usability issues, and we provide a discussion of the advantages and limitations of the approach.","PeriodicalId":442404,"journal":{"name":"2010 Agile Conference","volume":"45 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2010-08-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"117101356","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
The benefits ascribed to Agile methods are attractive to software engineers working in the safety-critical software domain. There is limited industrial experience and evidence of successful applications of Agile methods in this domain, however, academic research has identified some of the key challenges of their adoption and application, and has started to present feasibility studies. In this paper, we propose an iterative approach for developing safety-critical software, making two novel contributions. Firstly, we address the notion of up-front design in safety-critical software development, and describe the characteristics fan up-front design that is minimal from the perspective of achieving safety objectives. Secondly, we identify a key difficulty of using iterative development for building safety-critical software, and present a way to develop both a software system and a safety argument iteratively. We also give details of a proof-of-concept example illustrating the use of the approach.
{"title":"An Iterative Approach for Development of Safety-Critical Software and Safety Arguments","authors":"Xiaocheng Ge, R. Paige, J. Mcdermid","doi":"10.1109/AGILE.2010.10","DOIUrl":"https://doi.org/10.1109/AGILE.2010.10","url":null,"abstract":"The benefits ascribed to Agile methods are attractive to software engineers working in the safety-critical software domain. There is limited industrial experience and evidence of successful applications of Agile methods in this domain, however, academic research has identified some of the key challenges of their adoption and application, and has started to present feasibility studies. In this paper, we propose an iterative approach for developing safety-critical software, making two novel contributions. Firstly, we address the notion of up-front design in safety-critical software development, and describe the characteristics fan up-front design that is minimal from the perspective of achieving safety objectives. Secondly, we identify a key difficulty of using iterative development for building safety-critical software, and present a way to develop both a software system and a safety argument iteratively. We also give details of a proof-of-concept example illustrating the use of the approach.","PeriodicalId":442404,"journal":{"name":"2010 Agile Conference","volume":"22 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2010-08-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115975297","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Rather than striving to be “perfectly agile, ” some organizations desire to be more agile than their competition and/or the industry. The Comparative Agility™ (CA) assessment tool can be used to aid organizations in determining their relative agility compared with other teams who responded to CA. The results of CA can be used by a team to guide process improvement related to the use of agile software development practices. This paper provides an overview of industry trends in agility based upon 1, 235 CA respondents in a range of domains and geographical locations. Additionally, the paper goes further in depth on the results of four industrial teams who responded to the CA, explaining why their results were relatively high or low based upon experiences with the teams. The paper also discusses the resultant process improvement reactions and plans of these teams subsequent to reviewing their CA results.
{"title":"Driving Process Improvement via Comparative Agility Assessment","authors":"L. Williams, Kenny Rubin, Mike Cohn","doi":"10.1109/AGILE.2010.12","DOIUrl":"https://doi.org/10.1109/AGILE.2010.12","url":null,"abstract":"Rather than striving to be “perfectly agile, ” some organizations desire to be more agile than their competition and/or the industry. The Comparative Agility™ (CA) assessment tool can be used to aid organizations in determining their relative agility compared with other teams who responded to CA. The results of CA can be used by a team to guide process improvement related to the use of agile software development practices. This paper provides an overview of industry trends in agility based upon 1, 235 CA respondents in a range of domains and geographical locations. Additionally, the paper goes further in depth on the results of four industrial teams who responded to the CA, explaining why their results were relatively high or low based upon experiences with the teams. The paper also discusses the resultant process improvement reactions and plans of these teams subsequent to reviewing their CA results.","PeriodicalId":442404,"journal":{"name":"2010 Agile Conference","volume":"105 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2010-08-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132269327","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
In this paper, factor analysis is applied on a set of data that was collected to study the effectiveness of 58 different agile practices. The analysis extracted 15 factors, each was associated with a list of practices. These factors with the associated practices can be used as a guide for agile process improvement. Correlations between the extracted factors were calculated, and the significant correlation findings suggested that people who applied iterative and incremental development and quality assurance practices had a high success rate, that communication with the customer was not very popular as it had negative correlations with governance and iterative and incremental development. Also, people who applied governance practices also applied quality assurance practices. Interestingly success rate related negatively with traditional analysis methods such as Gantt chart and detailed requirements specification.
{"title":"Using Factor Analysis to Generate Clusters of Agile Practices (A Guide for Agile Process Improvement)","authors":"Noura Abbas, A. Gravell, G. Wills","doi":"10.1109/AGILE.2010.15","DOIUrl":"https://doi.org/10.1109/AGILE.2010.15","url":null,"abstract":"In this paper, factor analysis is applied on a set of data that was collected to study the effectiveness of 58 different agile practices. The analysis extracted 15 factors, each was associated with a list of practices. These factors with the associated practices can be used as a guide for agile process improvement. Correlations between the extracted factors were calculated, and the significant correlation findings suggested that people who applied iterative and incremental development and quality assurance practices had a high success rate, that communication with the customer was not very popular as it had negative correlations with governance and iterative and incremental development. Also, people who applied governance practices also applied quality assurance practices. Interestingly success rate related negatively with traditional analysis methods such as Gantt chart and detailed requirements specification.","PeriodicalId":442404,"journal":{"name":"2010 Agile Conference","volume":"23 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2010-08-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132062779","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}