Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/3551902.3551965acmotherconferencesArticle/Chapter ViewAbstractPublication PageseuroplopConference Proceedingsconference-collections
research-article
Open access

Process anti-pattern detection – a case study

Published: 07 February 2023 Publication History

Abstract

Anti-patterns are harmful phenomena repeatedly occurring, e.g., in software development projects. Though widely recognized and well-known, their descriptions are traditionally not fit for automated detection. The detection is usually performed by manual audits, or on business process models. Both options are time-, effort- and expertise-heavy, prone to biases, and/or omissions. Meanwhile, collaborative software projects produce much data as a natural side product, capturing their status and day-to-day history. Long-term, our research aims at deriving models for the automated detection of process and project management anti-patterns, applicable to project data. Here, we present a general approach for studies investigating occurrences of these types of anti-patterns in projects and discuss the entire process of such studies in detail, starting from the anti-pattern descriptions in literature. We demonstrate and verify our approach with the Fire Drill anti-pattern detection as a case study, applying it to data from 15 student projects. The results of our study suggest that reliable detection of at least some process and project management anti-patterns in project data is possible, with 13 projects assessed accurately for Fire Drill presence by our automated detection when compared to the ground truth gathered from independent data. The overall approach can be similarly applied to detecting patterns and other phenomena with manifestations in Application Lifecycle Management data.

References

[1]
Christopher Alexander, Sara Ishikawa, and Murray Silverstein. 1977. A pattern language: towns, buildings, construction. Oxford university press.
[2]
Scott W Ambler. 1998. Process patterns: building large-scale systems using object technology. Cambridge university press.
[3]
Ahmed Awad, Ahmed Barnawi, Amal Elgammal, Radwa Elshawi, Abduallah Almalaise, and Sherif Sakr. 2015. Runtime detection of business process compliance violations: An approach based on anti patterns. In Proceedings of the 30th Annual ACM Symposium on Applied Computing. 1203–1210.
[4]
Herbert D Benington. 1983. Production of large computer programs. Annals of the History of Computing 5, 4 (1983), 350–361.
[5]
Premek Brada and Petr Picha. 2019. Software process anti-patterns catalogue. In Proc. of the 24th European Conference on Pattern Languages of Programs. 1–10.
[6]
William H. Brown, Raphael C. Malveau, Hays W. McCormick, and Thomas J. Mowbray. 1998. AntiPatterns: Refactoring software, architectures, and projects in crisis. John Wiley & Sons, Inc.
[7]
William J Brown, Hays W McCormick, and Scott W Thomas. 2000. Anti-patterns project management. John Wiley & Sons, Inc.
[8]
Gabriela Castro Flores, Ana M. Moreno, and Lawrence Peters. 2021. Agile and Software Project Management Antipatterns: Clarifying the Partnership. IEEE Software 38, 5 (2021), 39–47. https://doi.org/10.1109/MS.2020.3001030
[9]
Jacob Cohen. 1968. Weighted kappa: nominal scale agreement provision for scaled disagreement or partial credit.Psychological bulletin 70, 4 (1968), 213.
[10]
Bill Curtis, Marc I Kellner, and Jim Over. 1992. Process modeling. Commun. ACM 35, 9 (1992), 75–90.
[11]
Norman C. Dalkey. 1969. The Delphi Method: An Experimental Study of Group Opinion. Technical Report. The RAND Corporation. https://www.rand.org/pubs/research_memoranda/RM5888.html
[12]
Manuel De Stefano, Emanuele Iannone, Fabiano Pecorelli, and Damian Andrew Tamburri. 2022. Impacts of software community patterns on process and product: An empirical study. Science of Computer Programming 214 (2022), 102731. https://doi.org/10.1016/j.scico.2021.102731
[13]
Dirk Draheim and Lukasz Pekacki. 2003. Process-centric analytical processing of version control data. In Software Evolution, 2003. Proceedings. Sixth International Workshop on Principles of. IEEE, 131–136.
[14]
Kweku Ewusi-Mensah. 2003. Software development failures. MIT Press.
[15]
Tomas Frtala and Valentino Vranic. 2015. Animating organizational patterns. In Cooperative and Human Aspects of Software Engineering (CHASE), 2015 IEEE/ACM 8th International Workshop on. IEEE, 8–14.
[16]
Inma Hernández, Carlos R Rivero, and David Ruiz. 2019. Deep Web crawling: a survey. World Wide Web 22, 4 (2019), 1577–1610.
[17]
Israel Herraiz and Gregorio Robles. 2006. Comparison between SLOCs and number of files as size metrics for software evolution analysis. In Proceedings of the Conference on Software Maintenance and Re-engineering. 206–213.
[18]
Abram Hindle, Daniel M German, and Ric Holt. 2008. What do large commits tell us? A taxonomical study of large commits. In Proceedings of the international working conference on Mining software repositories. 99–108.
[19]
Sebastian Hönel. 2022. Technical Reports Compilation: Detecting the Fire Drill anti-pattern using Source Code and issue-tracking data. CoRR abs/2104.15090 (2 2022). https://doi.org/10.13140/RG.2.2.35805.33766/2 arXiv:2104.15090
[20]
Sebastian Hönel, Morgan Ericsson, Welf Löwe, and Anna Wingkvist. 2020. Using source code density to improve the accuracy of automatic commit classification into maintenance activities. Journal of Systems and Software(2020), 110673.
[21]
Sebastian Hönel, Petr Picha, Premek Brada, Morgan Ericsson, Welf Löwe, and Anna Wingkvist. 2022 to appear. Utility and aptitude of continuous variables for software quality models. (2022 to appear).
[22]
Sebastian Hönel, Petr Pícha, Premek Brada, and Lenka Rychtarova. 2022. Detection of the Fire Drill anti-pattern: 15 real-world projects with ground truth, issue-tracking data, source code density, models and code. https://doi.org/10.5281/zenodo.4734053 The repository is at: https://github.com/sse-lnu/anti-pattern-models.
[23]
J Richard Landis and Gary G Koch. 1977. An application of hierarchical kappa-type statistics in the assessment of majority agreement among multiple observers. Biometrics (1977), 363–374.
[24]
Phillip A. Laplante and Colin J. Neill. 2005. Antipatterns: Identification, Refactoring, and Management (1 ed.). Auerbach Publications.
[25]
Marek Leszak, Dewayne E Perry, and Dieter Stoll. 2002. Classification and evaluation of defects in a project retrospective. Journal of Systems and Software 61, 3 (2002), 173–187.
[26]
Yue Li, He Zhang, Liming Dong, Bohan Liu, and Jinyu Ma. 2020. Constructing a Hybrid Software Process Simulation Model in Practice: An Exemplar from Industry. In Proceedings of the International Conference on Software and System Processes. 135–144.
[27]
Patrícia Gomes Fernandes Matsubara, Bruno Freitas Gadelha, Igor Steinmacher, and Tayana Uchôa Conte. 2021. SEXTAMT: A systematic map to navigate the wide seas of factors affecting expert judgment software estimates. Journal of Systems and Software(2021), 111148. https://doi.org/10.1016/j.jss.2021.111148
[28]
Leon J Osterweil. 1980. A software lifecycle methodology and tool support. In Software Development Tools. Springer, 82–92.
[29]
Mirko Perkusich, Gustavo Soares, Hyggo Almeida, and Angelo Perkusich. 2015. A procedure to detect problems of processes in software development projects using Bayesian networks. Expert Systems with Applications 42, 1 (2015), 437–450.
[30]
Petr Pícha and Premek Brada. 2016. ALM tool data usage in software process metamodeling. In 42nd Euromicro Conference on Software Engineering and Advanced Applications. IEEE, 1–8.
[31]
Petr Picha and Premek Brada. 2019. Software process anti-pattern detection in project data. In Proc. 24th European Conf. on Pattern Languages of Programs. 1–12.
[32]
Petr Picha, Premek Brada, Ralf Ramsauer, and Wolfgang Mauerer. 2017. Towards Architect’s Activity Detection Through a Common Model for Project Pattern Analysis. In Int. Conf. on Software Architecture Workshops. IEEE, 175–178.
[33]
Ralf Ramsauer, Daniel Lohmann, and Wolfgang Mauerer. 2016. Observing Custom Software Modifications: A Quantitative Approach of Tracking the Evolution of Patch Stacks. In Proceedings of the 12th International Symposium on Open Collaboration. ACM, New York, NY, USA, 4.
[34]
Linda Rising and Norman S Janoff. 2000. The Scrum software development process for small teams. IEEE Software 17, 4 (2000), 26–32.
[35]
Jorge Roa, Emiliano Reynares, María Laura Caliusco, and Pablo Villarreal. 2016. Towards Ontology-Based Anti-patterns for the Verification of Business Process Behavior. In New Advances in Information Systems and Technologies. Springer, New York, NY, USA, 665–673.
[36]
Colette Rolland. 1998. A comprehensive view of process engineering. In International Conference on Advanced Information Systems Engineering. Springer, 1–24.
[37]
Dimitrios Settas, Stamatia Bibi, Panagiotis Sfetsos, Ioannis Stamelos, and Vassilis Gerogiannis. 2006. Using bayesian belief networks to model software project management antipatterns. In Software Engineering Research, Management and Applications, 2006. Fourth International Conference on. IEEE, 117–124.
[38]
Dimitrios Settas and Ioannis Stamelos. 2007. Using Ontologies to Represent Software Project Management Antipatterns. In Proceedings of the Nineteenth International Conference on Software Engineering & Knowledge Engineering. Knowledge Systems Institute Graduate School, Skokie, IL, USA, 604–609.
[39]
Pedro Dias Silva, Ana María Moreno Sánchez-Capuchino, and Lawrence Peters. 2015. Software project management: Learning from our mistakes. IEEE Software 32, 3 (2015), 12–15.
[40]
Lenka Simeckova, Premek Brada, and Petr Picha. 2020. SPEM-Based Process Anti-Pattern Models for Detection in Project Data. In 46th Euromicro Conference on Software Engineering and Advanced Applications. IEEE, 89–92.
[41]
Ioannis Stamelos. 2010. Software project management anti-patterns. Journal of Systems and Software 83, 1 (2010), 52–59.
[42]
E Burton Swanson. 1976. The dimensions of maintenance. In Proceedings of the 2nd international conference on Software engineering. 492–497.
[43]
Sylva Žáková Talpováand Tereza Čtvrtníková. 2021. Scrum anti-patterns, team performance and responsibility. International Journal of Agile Systems and Management 14, 1(2021), 170–204.
[44]
Arthur H. M. Ter Hofstede, Chun Ouyang, Marcello La Rosa, Liang Song, Jianmin Wang, and Artem Polyvyanyy. 2013. APQL: A process-model query language. In Asia-Pacific Conference on Business Process Management. Springer, 23–38.
[45]
Eray Tüzün, Hakan Erdogmus, Maria Teresa Baldassarre, Michael Felderer, Robert Feldt, and Burak Turhan. 2021. Ground truth deficiencies in software engineering: when codifying the past can be counterproductive. IEEE Software (2021).
[46]
Wil M.P. van der Aalst. 2019. A practitioner’s guide to process mining: Limitations of the directly-follows graph. Procedia Computer Science 164 (2019), 321–328. https://doi.org/10.1016/j.procs.2019.12.189
[47]
Hans Van Vliet. 2008. Software engineering: principles and practice. Vol. 13. John Wiley & Sons Hoboken, NJ.
[48]
Claes Wohlin, Per Runeson, Martin Höst, Magnus C. Ohlsson, Björn Regnell, and Anders Wesslén. 2012. Case Studies. Springer Berlin Heidelberg, Berlin, Heidelberg, 55–72. https://doi.org/10.1007/978-3-642-29044-2_5

Cited By

View all

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Other conferences
EuroPLop '22: Proceedings of the 27th European Conference on Pattern Languages of Programs
July 2022
338 pages
ISBN:9781450395946
DOI:10.1145/3551902
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 07 February 2023

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. ALM tools
  2. Fire Drill
  3. pattern detection
  4. project management anti-patterns
  5. software process anti-patterns

Qualifiers

  • Research-article
  • Research
  • Refereed limited

Funding Sources

  • Ministry of Education, Youth and Sports of Czech Republic

Conference

EuroPLop '22

Acceptance Rates

Overall Acceptance Rate 216 of 354 submissions, 61%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • 0
    Total Citations
  • 657
    Total Downloads
  • Downloads (Last 12 months)364
  • Downloads (Last 6 weeks)51
Reflects downloads up to 25 Dec 2024

Other Metrics

Citations

Cited By

View all

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

HTML Format

View this article in HTML Format.

HTML Format

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media