Browse Books

Go to Case Study Research in Software Engineering

  • Wiley Publishing

Save to Binder

ACM Digital Library

Based on their own experiences of in-depth case studies of software projects in international corporations, in this bookthe authors present detailed practical guidelines on the preparation, conduct, design and reporting of case studies of software engineering. This is the first software engineering specific book on thecase study research method.

ACM

  • Meixner K, Feichtinger K, Fadhlillah H, Greiner S, Marcher H, Rabiser R and Biffl S (2024). Variability modeling of products, processes, and resources in cyber–physical production systems engineering, Journal of Systems and Software , 211 :C , Online publication date: 1-May-2024 .
  • Arvanitou E, Gagoutis D, Ampatzoglou A, Mittas N, Deligiannis I and Chatzigeorgiou A (2024). What does matter in the success of a decentralized application? From idea to development, Information and Software Technology , 169 :C , Online publication date: 1-May-2024 .
  • Rico S, Ali N, Engström E and Höst M (2024). Experiences from conducting rapid reviews in collaboration with practitioners — Two industrial cases, Information and Software Technology , 167 :C , Online publication date: 1-Mar-2024 .
  • de la Vara J, Bahamonde H and Ayora C (2024). Assessment of the quality of the text of safety standards with industrial semantic technologies, Computer Standards & Interfaces , 88 :C , Online publication date: 1-Mar-2024 .
  • Ouni A, AlOmar E, Hamdi O, Cinnéide M, Mkaouer M and Saied M (2023). On the impact of single and co-occurrent refactorings on quality attributes in android applications, Journal of Systems and Software , 205 :C , Online publication date: 1-Nov-2023 .
  • Rainer A and Wohlin C (2023). Case study identification, Information and Software Technology , 161 :C , Online publication date: 1-Sep-2023 .
  • Galeano I, Merín M, González M and Cernuzzi L (2023). A methodological approach for mobile applications development, Science of Computer Programming , 230 :C , Online publication date: 1-Aug-2023 .
  • Zabardast E, Gonzalez-Huerta J, Gorschek T, Šmite D, Alégroth E and Fagerholm F (2023). A taxonomy of assets for the development of software-intensive products and services, Journal of Systems and Software , 202 :C , Online publication date: 1-Aug-2023 .
  • Giachetti G, Luis de la Vara J and Marín B (2023). A model-driven approach to adopt good practices for agile process configuration and certification, Computer Standards & Interfaces , 86 :C , Online publication date: 1-Aug-2023 .
  • Pérez-Castillo R, Jiménez-Navajas L and Piattini M (2023). Dynamic analysis of quantum annealing programs, Journal of Systems and Software , 201 :C , Online publication date: 1-Jul-2023 .
  • Tan J, Feitosa D and Avgeriou P (2023). The lifecycle of Technical Debt that manifests in both source code and issue trackers, Information and Software Technology , 159 :C , Online publication date: 1-Jul-2023 .
  • Shafiee S, Wautelet Y, Poelmans S and Heng S (2023). An empirical evaluation of scrum training’s suitability for the model-driven development of knowledge-intensive software systems, Data & Knowledge Engineering , 146 :C , Online publication date: 1-Jul-2023 .
  • Šmite D, Moe N, Floryan M, Gonzalez-Huerta J, Dorner M and Sablis A (2023). Decentralized decision-making and scaled autonomy at Spotify, Journal of Systems and Software , 200 :C , Online publication date: 1-Jun-2023 .
  • Jolak R, Wortmann A, Liebel G, Umuhoza E and Chaudron M (2023). Design thinking and creativity of colocated versus globally distributed software developers, Journal of Software: Evolution and Process , 35 :5 , Online publication date: 25-Apr-2023 .
  • Alfayez R, Winn R, Alwehaibi W, Venson E and Boehm B (2023). How SonarQube-identified technical debt is prioritized, Information and Software Technology , 156 :C , Online publication date: 1-Apr-2023 .
  • Holtmann J, Deantoni J and Fockel M (2022). Early timing analysis based on scenario requirements and platform models, Software and Systems Modeling (SoSyM) , 21 :6 , (2171-2211), Online publication date: 1-Dec-2022 .
  • Avritzer A, Britto R, Trubiani C, Camilli M, Janes A, Russo B, van Hoorn A, Heinrich R, Rapp M, Henß J and Chalawadi R (2022). Scalability testing automation using multivariate characterization and detection of software performance antipatterns, Journal of Systems and Software , 193 :C , Online publication date: 1-Nov-2022 .
  • Singjai A and Zdun U (2022). Conformance assessment of Architectural Design Decisions on API endpoint designs derived from domain models, Journal of Systems and Software , 193 :C , Online publication date: 1-Nov-2022 .
  • Rainer A and Wohlin C (2022). Recruiting credible participants for field studies in software engineering research, Information and Software Technology , 151 :C , Online publication date: 1-Nov-2022 .
  • Sas C and Capiluppi A (2022). Antipatterns in software classification taxonomies, Journal of Systems and Software , 190 :C , Online publication date: 1-Aug-2022 .
  • Catak F, Kuzlu M, Catak E, Cali U and Unal D (2022). Security concerns on machine learning solutions for 6G networks in mmWave beam prediction, Physical Communication , 52 :C , Online publication date: 1-Jun-2022 .
  • Breckel A, Pietron J, Juhnke K, Sihler F and Tichy M (2022). A domain-specific language for modeling and analyzing solution spaces for technology roadmapping, Journal of Systems and Software , 184 :C , Online publication date: 1-Feb-2022 .
  • Sas D, Avgeriou P, Pigazzini I and Arcelli Fontana F (2021). On the relation between architectural smells and source code changes, Journal of Software: Evolution and Process , 34 :1 , Online publication date: 18-Jan-2022 .
  • Wohlin C and Runeson P (2021). Guiding the selection of research methodology in industry–academia collaboration in software engineering, Information and Software Technology , 140 :C , Online publication date: 1-Dec-2021 .
  • Rico S, Bjarnason E, Engström E, Höst M and Runeson P (2021). A case study of industry–academia communication in a joint software engineering research project, Journal of Software: Evolution and Process , 33 :10 , Online publication date: 3-Oct-2021 .
  • Medeiros R Unburdening onboarding in software product lines Proceedings of the 43rd International Conference on Software Engineering: Companion Proceedings, (260-262)
  • Chatterjee P, Damevski K and Pollock L Automatic Extraction of Opinion-based Q&A from Online Developer Chats Proceedings of the 43rd International Conference on Software Engineering, (1260-1272)
  • Ozdenizci Kose B (2020). Business process management approach for improving agile software process and agile maturity, Journal of Software: Evolution and Process , 33 :4 , Online publication date: 1-Apr-2021 .
  • Rafi S, Yu W, Akbar M, Mahmood S, Alsanad A and Gumaei A (2020). Readiness model for DevOps implementation in software organizations, Journal of Software: Evolution and Process , 33 :4 , Online publication date: 1-Apr-2021 .
  • Sablis A, Smite D and Moe N (2020). Team‐external coordination in large‐scale software development projects, Journal of Software: Evolution and Process , 33 :3 , Online publication date: 3-Mar-2021 .
  • Pérez‐Castillo R, Caivano D, Ruiz F and Piattini M (2020). ArchiRev—Reverse engineering of information systems toward ArchiMate models. An industrial case study, Journal of Software: Evolution and Process , 33 :2 , Online publication date: 14-Feb-2021 .
  • Pradhan D, Wang S, Ali S, Yue T and Liaaen M (2021). CBGA-ES + : A Cluster-Based Genetic Algorithm with Non-Dominated Elitist Selection for Supporting Multi-Objective Test Optimization, IEEE Transactions on Software Engineering , 47 :1 , (86-107), Online publication date: 1-Jan-2021 .
  • Ferrari A, Spoletini P, Bano M and Zowghi D (2020). SaPeer and ReverseSaPeer: teaching requirements elicitation interviews with role-playing and role reversal, Requirements Engineering , 25 :4 , (417-438), Online publication date: 1-Dec-2020 .
  • Alves F, L’Erario A and Gonçalves J A conceptual framework to validate new features of corporate software, including client stakeholders 2020 IEEE Frontiers in Education Conference (FIE), (1-8)
  • Sajedi‐Badashian A and Stroulia E (2020). Guidelines for evaluating bug‐assignment research, Journal of Software: Evolution and Process , 32 :9 , Online publication date: 3-Sep-2020 .
  • Arya D, Guo J and Robillard M (2020). Information correspondence between types of documentation for APIs, Empirical Software Engineering , 25 :5 , (4069-4096), Online publication date: 1-Sep-2020 .
  • Grubb A and Chechik M (2019). Reconstructing the past: the case of the Spadina Expressway, Requirements Engineering , 25 :2 , (253-272), Online publication date: 1-Jun-2020 .
  • Ramírez‐Mora S, Oktaba H and Patlán Pérez J (2019). Group maturity, team efficiency, and team effectiveness in software development, Journal of Software: Evolution and Process , 32 :4 , Online publication date: 1-Apr-2020 .
  • Linåker J, Regnell B and Damian D (2019). A method for analyzing stakeholders’ influence on an open source software ecosystem’s requirements engineering process, Requirements Engineering , 25 :1 , (115-130), Online publication date: 1-Mar-2020 .
  • Wohlrab R, Knauss E, Steghöfer J, Maro S, Anjorin A and Pelliccione P (2018). Collaborative traceability management: a multiple case study from the perspectives of organization, process, and culture, Requirements Engineering , 25 :1 , (21-45), Online publication date: 1-Mar-2020 .
  • Ochodek M, Kopczyńska S and Nawrocki J A Case Study on a Hybrid Approach to Assessing the Maturity of Requirements Engineering Practices in Agile Projects (REMMA) SOFSEM 2020: Theory and Practice of Computer Science, (689-698)
  • Sadaj A, Ochodek M, Kopczyńska S and Nawrocki J Maintainability of Automatic Acceptance Tests for Web Applications—A Case Study Comparing Two Approaches to Organizing Code of Test Cases SOFSEM 2020: Theory and Practice of Computer Science, (454-466)
  • Rainer A and Williams A (2019). Using blog‐like documents to investigate software practice, Journal of Software: Evolution and Process , 31 :11 , Online publication date: 15-Nov-2019 .
  • Chatzimparmpas A and Bibi S (2019). Maintenance process modeling and dynamic estimations based on Bayesian networks and association rules, Journal of Software: Evolution and Process , 31 :9 , Online publication date: 13-Oct-2019 .
  • Čavrak I, Bosnić I, Ciccozzi F and Mirandola R (2019). Resilience of distributed student teams to stress factors, Information and Software Technology , 114 :C , (258-274), Online publication date: 1-Oct-2019 .
  • Abodei E, Norta A, Azogu I, Udokwu C and Draheim D Blockchain Technology for Enabling Transparent and Traceable Government Collaboration in Public Project Processes of Developing Economies Digital Transformation for a Sustainable Society in the 21st Century, (464-475)
  • Linåker J, Regnell B and Damian D (2019). A Community Strategy Framework – How to obtain influence on requirements in meritocratic open source software communities?, Information and Software Technology , 112 :C , (102-114), Online publication date: 1-Aug-2019 .
  • Bjarnason E, Sharp H and Regnell B (2019). Improving requirements-test alignment by prescribing practices that mitigate communication gaps, Empirical Software Engineering , 24 :4 , (2364-2409), Online publication date: 1-Aug-2019 .
  • Liebel G, Tichy M and Knauss E (2019). Use, potential, and showstoppers of models in automotive requirements engineering, Software and Systems Modeling (SoSyM) , 18 :4 , (2587-2607), Online publication date: 1-Aug-2019 .
  • Wang Y, Graziotin D, Kriso S and Wagner S (2022). Communication channels in safety analysis, Journal of Systems and Software , 153 :C , (135-151), Online publication date: 1-Jul-2019 .
  • Pradhan D, Wang S, Ali S, Yue T and Liaaen M (2022). Employing rule mining and multi-objective search for dynamic test case prioritization, Journal of Systems and Software , 153 :C , (86-104), Online publication date: 1-Jul-2019 .
  • Pradhan D, Wang S, Yue T, Ali S and Liaaen M (2019). Search-based test case implantation for testing untested configurations, Information and Software Technology , 111 :C , (22-36), Online publication date: 1-Jul-2019 .
  • Dasanayake S, Aaramaa S, Markkula J and Oivo M (2019). Impact of requirements volatility on software architecture, Journal of Software: Evolution and Process , 31 :6 , Online publication date: 24-Jun-2019 .
  • Johanssen J, Bernius J and Bruegge B Toward usability problem identification based on user emotions derived from facial expressions Proceedings of the 4th International Workshop on Emotion Awareness in Software Engineering, (1-7)
  • Seiler M, Hübner P and Paech B Comparing traceability through information retrieval, commits, interaction logs, and tags Proceedings of the 10th International Workshop on Software and Systems Traceability, (21-28)
  • Vierhauser M, Cleland-Huang J, Burge J and Grünbacher P The interplay of design and runtime traceability for non-functional requirements Proceedings of the 10th International Workshop on Software and Systems Traceability, (3-10)
  • Nayebi M, Cai Y, Kazman R, Ruhe G, Feng Q, Carlson C and Chew F A longitudinal study of identifying and paying down architecture debt Proceedings of the 41st International Conference on Software Engineering: Software Engineering in Practice, (171-180)
  • Burden H, Steghöfer J and Svensson O Facilitating entrepreneurial experiences through a software engineering project course Proceedings of the 41st International Conference on Software Engineering: Software Engineering Education and Training, (28-37)
  • Helgesson D, Engström E, Runeson P and Bjarnason E Cognitive load drivers in large scale software development Proceedings of the 12th International Workshop on Cooperative and Human Aspects of Software Engineering, (91-94)
  • Rios N, Spínola R, de Mendonça Neto M and Seaman C Supporting analysis of technical debt causes and effects with cross-company probabilistic cause-effect diagrams Proceedings of the Second International Conference on Technical Debt, (3-12)
  • Knutas A, Palacin V, Maccani G and Helfert M Software engineering in civic tech a case study about code for Ireland Proceedings of the 41st International Conference on Software Engineering: Software Engineering in Society, (41-50)
  • Smite D, Moe N, Krekling T and Stray V Offshore outsourcing costs Proceedings of the 14th International Conference on Global Software Engineering, (40-47)
  • Britto R, Smite D, Damm L and Börstler J Performance evolution of newcomers in large-scale distributed software projects Proceedings of the 14th International Conference on Global Software Engineering, (1-11)
  • Johanssen J, Kleebaum A, Paech B and Bruegge B (2019). Continuous software engineering and its support by usage and decision knowledge, Journal of Software: Evolution and Process , 31 :5 , Online publication date: 20-May-2019 .
  • Diebold P, Theobald S, Wahl J and Rausch Y (2019). Stepwise transition to agile, Journal of Software: Evolution and Process , 31 :5 , Online publication date: 20-May-2019 .
  • Sulaman S, Beer A, Felderer M and Höst M (2019). Comparison of the FMEA and STPA safety analysis methods---a case study, Software Quality Journal , 27 :1 , (349-387), Online publication date: 1-Mar-2019 .
  • Klotins E, Unterkalmsteiner M and Gorschek T (2019). Software engineering in start-up companies, Empirical Software Engineering , 24 :1 , (68-102), Online publication date: 1-Feb-2019 .
  • Voelter M, Kolb B, Szabó T, Ratiu D and Deursen A (2019). Lessons learned from developing mbeddr, Software and Systems Modeling (SoSyM) , 18 :1 , (585-630), Online publication date: 1-Feb-2019 .
  • Alsanoosy T, Spichkova M and Harland J (2020). The influence of power distance on requirements engineering activities, Procedia Computer Science , 159 :C , (2394-2403), Online publication date: 1-Jan-2019 .
  • Perez‐Castillo R and Piattini M (2018). An empirical study on how project context impacts on code cloning, Journal of Software: Evolution and Process , 30 :12 , Online publication date: 12-Dec-2018 .
  • García‐García J, García‐Borgoñón L, Escalona M and Mejías M (2018). A model‐based solution for process modeling in practice environments, Journal of Software: Evolution and Process , 30 :12 , Online publication date: 12-Dec-2018 .
  • Ochei L, Bass J and Petrovski A (2018). Degrees of tenant isolation for cloud-hosted software services, Journal of Cloud Computing: Advances, Systems and Applications , 7 :1 , (1-39), Online publication date: 1-Dec-2018 .
  • Oliveira P, Santos Neto P, Britto R, Rabêlo R, Braga R and Souza M (2018). CIaaS - computational intelligence as a service with Athena, Computer Languages, Systems and Structures , 54 :C , (95-118), Online publication date: 1-Dec-2018 .
  • Molléri J, Petersen K and Mendes E (2018). Towards understanding the relation between citations and research quality in software engineering studies, Scientometrics , 117 :3 , (1453-1478), Online publication date: 1-Dec-2018 .
  • Bosch J and Olsson H (2018). Ecosystem traps and where to find them, Journal of Software: Evolution and Process , 30 :11 , Online publication date: 14-Nov-2018 .
  • Patón-Romero J, Baldassarre M, Rodríguez M and Piattini M (2018). Green IT Governance and Management based on ISO/IEC 15504, Computer Standards & Interfaces , 60 :C , (26-36), Online publication date: 1-Nov-2018 .
  • Souag A, Mazo R, Salinesi C and Comyn-Wattiau I (2018). Using the AMAN-DA method to generate security requirements, Requirements Engineering , 23 :4 , (557-580), Online publication date: 1-Nov-2018 .
  • Tolfo C, Wazlawick R, Ferreira M and Forcellini F (2018). Agile practices and the promotion of entrepreneurial skills in software development, Journal of Software: Evolution and Process , 30 :9 , Online publication date: 17-Sep-2018 .
  • Usman M, Britto R, Damm L and Börstler J (2018). Effort estimation in large-scale software development, Information and Software Technology , 99 :C , (21-40), Online publication date: 1-Jul-2018 .
  • Britto R, Cruzes D, Smite D and Sablis A (2017). Onboarding software developers and teams in three globally distributed legacy projects, Journal of Software: Evolution and Process , 30 :4 , Online publication date: 17-Apr-2018 .
  • Zagalsky A, German D, Storey M, Teshima C and Poo-Caamaño G (2018). How the R community creates and curates knowledge, Empirical Software Engineering , 23 :2 , (953-986), Online publication date: 1-Apr-2018 .
  • Budgen D, Brereton P, Williams N and Drummond S (2018). The contribution that empirical studies performed in industry make to the findings of systematic reviews, Information and Software Technology , 94 :C , (234-244), Online publication date: 1-Feb-2018 .
  • Ramler R, Buchgeher G and Klammer C (2018). Adapting automated test generation to GUI testing of industry applications, Information and Software Technology , 93 :C , (248-263), Online publication date: 1-Jan-2018 .
  • khan M, iftikhar S, Iqbal M and Sherin S (2018). Empirical studies omit reporting necessary details, Computer Standards & Interfaces , 55 :C , (156-170), Online publication date: 1-Jan-2018 .
  • Paschali M, Ampatzoglou A, Bibi S, Chatzigeorgiou A and Stamelos I (2017). Reusability of open source software across domains, Journal of Systems and Software , 134 :C , (211-227), Online publication date: 1-Dec-2017 .
  • Yang C, Liang P, Avgeriou P, Eliasson U, Heldal R, Pelliccione P and Bi T (2017). An industrial case study on an architectural assumption documentation framework, Journal of Systems and Software , 134 :C , (190-210), Online publication date: 1-Dec-2017 .
  • Valena G and Alves C (2017). A theory of power in emerging software ecosystems formed by small-to-medium enterprises, Journal of Systems and Software , 134 :C , (76-104), Online publication date: 1-Dec-2017 .
  • Classe T, Braga R, David J, Campos F and Arbex W (2017). A Distributed Infrastructure to Support Scientific Experiments, Journal of Grid Computing , 15 :4 , (475-500), Online publication date: 1-Dec-2017 .
  • Trinkenreich B, Santos G, Barcellos M and Conte T Eliciting strategies for the GQM+strategies approach in IT service measurement initiatives Proceedings of the 11th ACM/IEEE International Symposium on Empirical Software Engineering and Measurement, (374-383)
  • Mourão E, Kalinowski M, Murta L, Mendes E and Wohlin C Investigating the use of a hybrid search strategy for systematic reviews Proceedings of the 11th ACM/IEEE International Symposium on Empirical Software Engineering and Measurement, (193-198)
  • Sanchez-Gordon M, de Amescua A, OConnor R and Larrucea X (2017). A standard-based framework to integrate software work in small settings, Computer Standards & Interfaces , 54 :P3 , (162-175), Online publication date: 1-Nov-2017 .
  • Garca F, Pedreira O, Piattini M, Cerdeira-Pena A and Penabad M (2017). A framework for gamification in software engineering, Journal of Systems and Software , 132 :C , (21-40), Online publication date: 1-Oct-2017 .
  • Steghfer J, Burden H, Alahyari H and Haneberg D (2017). No silver brick, Journal of Systems and Software , 131 :C , (230-247), Online publication date: 1-Sep-2017 .
  • Vogel-Heuser B, Fischer J, Feldmann S, Ulewicz S and Rsch S (2017). Modularity and architecture of PLC-based software for automated production Systems, Journal of Systems and Software , 131 :C , (35-62), Online publication date: 1-Sep-2017 .
  • Martnez-Fernndez S, Ayala C, Franch X and Marques H (2017). Benefits and drawbacks of software reference architectures, Information and Software Technology , 88 :C , (37-52), Online publication date: 1-Aug-2017 .
  • Borg M, Wnuk K, Regnell B and Runeson P (2017). Supporting Change Impact Analysis Using a Recommendation System: An Industrial Case Study in a Safety-Critical Context, IEEE Transactions on Software Engineering , 43 :7 , (675-700), Online publication date: 1-Jul-2017 .
  • Rainer A (2017). Using argumentation theory to analyse software practitioners defeasible evidence, inference and belief, Information and Software Technology , 87 :C , (62-80), Online publication date: 1-Jul-2017 .
  • mite D, Moe N, blis A and Wohlin C (2017). Software teams and their knowledge networks in large-scale software development, Information and Software Technology , 86 :C , (71-86), Online publication date: 1-Jun-2017 .
  • Rodrguez G, Prez J, Cueva S and Torres R (2017). A framework for improving web accessibility and usability of Open Course Ware sites, Computers & Education , 109 :C , (197-215), Online publication date: 1-Jun-2017 .
  • Klotins E Using the case survey method to explore engineering practices in software start-ups Proceedings of the 1st International Workshop on Software Engineering for Startups, (24-26)
  • Souza R, Malta K and de Almeida E Software engineering in startups Proceedings of the 1st International Workshop on Software Engineering for Startups, (17-23)
  • Oliveira R, Sousa L, de Mello R, Valentim N, Lopes A, Conte T, Garcia A, Oliveira E and Lucena C Collaborative identification of code smells Proceedings of the 39th International Conference on Software Engineering: Software Engineering in Practice Track, (33-42)
  • Kalinowski M, Curty P, Paes A, Ferreira A, Spínola R, Fernández D, Felderer M and Wagner S Supporting defect causal analysis in practice with cross-company data on causes of requirements engineering problems Proceedings of the 39th International Conference on Software Engineering: Software Engineering in Practice Track, (223-232)
  • Di Penta M and Tamburri D Combining quantitative and qualitative studies in empirical software engineering research Proceedings of the 39th International Conference on Software Engineering Companion, (499-500)
  • Borg M, Alégroth E and Runeson P Software engineers' information seeking behavior in change impact analysis Proceedings of the 25th International Conference on Program Comprehension, (12-22)
  • Heinrich R, Merkle P, Henss J and Paech B (2017). Integrating business process simulation and information system simulation for performance prediction, Software and Systems Modeling (SoSyM) , 16 :1 , (257-277), Online publication date: 1-Feb-2017 .
  • Skersys T, Danenas P and Butleris R (2016). Model-based M2M transformations based on drag-and-drop actions, Journal of Systems and Software , 122 :C , (327-341), Online publication date: 1-Dec-2016 .
  • Zahedi M and Ali Babar M (2016). Why does site visit matter in global software development, Information and Software Technology , 80 :C , (36-56), Online publication date: 1-Dec-2016 .
  • dos Santos Neto P, Britto R, Rablo R, Cruz J and Lira W (2016). A hybrid approach to suggest software product line portfolios, Applied Soft Computing , 49 :C , (1243-1255), Online publication date: 1-Dec-2016 .
  • Yagüe A, Garbajosa J, Díaz J and González E (2016). An exploratory study in communication in Agile Global Software Development, Computer Standards & Interfaces , 48 :C , (184-197), Online publication date: 1-Nov-2016 .
  • Bjarnason E, Unterkalmsteiner M, Borg M and Engström E (2016). A multi-case study of agile requirements engineering and the use of test cases as requirements, Information and Software Technology , 77 :C , (61-79), Online publication date: 1-Sep-2016 .
  • Könnölä K, Suomi S, Mäkilä T, Jokela T, Rantala V and Lehtonen T (2016). Agile methods in embedded system development, Journal of Systems and Software , 118 :C , (134-150), Online publication date: 1-Aug-2016 .
  • Paschali M, Ampatzoglou A, Bibi S, Chatzigeorgiou A and Stamelos I A Case Study on the Availability of Open-Source Components for Game Development Proceedings of the 15th International Conference on Software Reuse: Bridging with Social-Awareness - Volume 9679, (149-164)
  • Neiva F, David J, Braga R and Campos F (2016). Towards pragmatic interoperability to support collaboration, Information and Software Technology , 72 :C , (137-150), Online publication date: 1-Apr-2016 .
  • Arvanitou E, Ampatzoglou A, Chatzigeorgiou A and Avgeriou P (2016). Software metrics fluctuation, Information and Software Technology , 72 :C , (110-124), Online publication date: 1-Apr-2016 .
  • Tofan D, Galster M, Lytra I, Avgeriou P, Zdun U, Fouche M, de Boer R and Solms F (2016). Empirical evaluation of a process to increase consensus in group architectural decision making, Information and Software Technology , 72 :C , (31-47), Online publication date: 1-Apr-2016 .
  • Hesse T and Paech B Documenting Relations Between Requirements and Design Decisions Proceedings of the 22nd International Working Conference on Requirements Engineering: Foundation for Software Quality - Volume 9619, (188-204)
  • Mellegård N, Ferwerda A, Lind K, Heldal R and Chaudron M (2016). Impact of Introducing Domain-Specific Modelling in Software Maintenance: An Industrial Case Study, IEEE Transactions on Software Engineering , 42 :3 , (245-260), Online publication date: 1-Mar-2016 .
  • Staron M and Meding W (2016). MeSRAM - A method for assessing robustness of measurement programs in large software development organizations and its industrial evaluation, Journal of Systems and Software , 113 :C , (76-100), Online publication date: 1-Mar-2016 .
  • Saay S, Norta A and Laanpere M Towards an Architecture for e-Learning Infrastructures on a National Level Revised Selected Papers of the ICWL 2015 International Workshops on Current Developments in Web Based Learning - Volume 9584, (98-107)
  • Morales-Trujillo M, Oktaba H and Piattini M (2015). The making of an OMG standard, Computer Standards & Interfaces , 42 :C , (84-94), Online publication date: 1-Nov-2015 .
  • El Emam K, Farah H, Samet S, Essex A, Jonker E, Kantarcioglu M and Earle C (2015). A privacy preserving protocol for tracking participants in phase I clinical trials, Journal of Biomedical Informatics , 57 :C , (145-162), Online publication date: 1-Oct-2015 .
  • Ampatzoglou A, Chatzigeorgiou A, Charalampidou S and Avgeriou P (2015). The Effect of GoF Design Patterns on Stability: A Case Study, IEEE Transactions on Software Engineering , 41 :8 , (781-802), Online publication date: 1-Aug-2015 .
  • Hamill M and Goseva-Popstojanova K (2015). Exploring fault types, detection activities, and failure severity in an evolving safety-critical software system, Software Quality Journal , 23 :2 , (229-265), Online publication date: 1-Jun-2015 .
  • Ekaputra F Ontology Change in Ontology-Based Information Integration Systems Proceedings of the 12th European Semantic Web Conference on The Semantic Web. Latest Advances and New Domains - Volume 9088, (711-720)
  • Rombach D and Jedlitschka A The maturation of empirical studies Proceedings of the Third International Workshop on Conducting Empirical Studies in Industry, (1-2)
  • Georg G, Mussbacher G, Amyot D, Petriu D, Troup L, Lozano-Fuentes S and France R (2015). Synergy between Activity Theory and goal/scenario modeling for requirements elicitation, analysis, and evolution, Information and Software Technology , 59 :C , (109-135), Online publication date: 1-Mar-2015 .
  • Zhi J, Garousi-Yusifoğlu V, Sun B, Garousi G, Shahnewaz S and Ruhe G (2015). Cost, benefits and quality of software development documentation, Journal of Systems and Software , 99 :C , (175-198), Online publication date: 1-Jan-2015 .
  • Petersen K, Roos P, Nyström S and Runeson P (2014). Early identification of bottlenecks in very large scale system of systems software development, Journal of Software: Evolution and Process , 26 :12 , (1150-1171), Online publication date: 1-Dec-2014 .
  • Abelein U and Paech B State of Practice of User-Developer Communication in Large-Scale IT Projects Proceedings of the 20th International Working Conference on Requirements Engineering: Foundation for Software Quality - Volume 8396, (95-111)
  • Ghaisas S, Rose P, Daneva M, Sikkel K and Wieringa R Generalizing by similarity Proceedings of the 1st International Workshop on Conducting Empirical Studies in Industry, (37-42)
  • Zorn-Pauli G, Paech B, Beck T, Karey H and Ruhe G Analyzing an industrial strategic release planning process Proceedings of the 19th international conference on Requirements Engineering: Foundation for Software Quality, (269-284)
  • Callele D, Penzenstadler B and Wnuk K Risk identification at the interface between business case and requirements Proceedings of the 19th international conference on Requirements Engineering: Foundation for Software Quality, (253-268)

Per Runeson

  • Publication Years 1994 - 2024
  • Publication counts 134
  • Citation count 3,956
  • Available for Download 33
  • Downloads (cumulative) 12,634
  • Downloads (12 months) 2,924
  • Downloads (6 weeks) 536
  • Average Downloads per Article 383
  • Average Citation per Article 30
  • Publication Years 1997 - 2024
  • Publication counts 68
  • Citation count 2,366
  • Available for Download 20
  • Downloads (cumulative) 8,240
  • Downloads (12 months) 934
  • Downloads (6 weeks) 228
  • Average Downloads per Article 412
  • Average Citation per Article 35
  • Publication Years 1999 - 2024
  • Publication counts 45
  • Citation count 577
  • Available for Download 17
  • Downloads (cumulative) 7,845
  • Downloads (12 months) 536
  • Downloads (6 weeks) 53
  • Average Downloads per Article 461
  • Average Citation per Article 13
  • Publication Years 1995 - 2020
  • Publication counts 71
  • Citation count 2,347
  • Available for Download 5
  • Downloads (cumulative) 4,264
  • Downloads (12 months) 185
  • Downloads (6 weeks) 9
  • Average Downloads per Article 853
  • Average Citation per Article 33

Recommendations

Software engineering research versus software development.

Engineering research differs greatly, both in its aims and in its methods, from traditional "scientific" research. While Sciences deal with the study of existing objects and phenomena, be it physically, metaphysically or conceptually, Engineering is ...

Software, software engineering and software engineering research: some unconventional thoughts

Software engineering is broadly discussed as falling far short of expectations. Data and examples are used to justify how software itself is often poor, how the engineering of software leaves much to be desired, and how research in software engineering ...

Is software engineering research addressing software engineering problems?: (keynote)

Brian Randell described software engineering as "the multi-person development of multi-version programs". David Parnas expressed that this "pithy phrase implies everything that differentiates software engineering from other programming" (Parnas, 2011). ...

Export Citations

  • Please download or close your previous search result export first before starting a new bulk export. Preview is not available. By clicking download, a status dialog will open to start the export process. The process may take a few minutes but once it finishes a file will be downloadable from your browser. You may continue to browse the DL while the export process is in progress. Download
  • Download citation
  • Copy citation

We are preparing your search results for download ...

We will inform you here when the file is ready.

Your file of search results citations is now ready.

Your search export query has expired. Please try again.

Case Study Research in Software Engineering: Guidelines and Examples by Per Runeson, Martin Höst, Austen Rainer, Björn Regnell

Get full access to Case Study Research in Software Engineering: Guidelines and Examples and 60K+ other titles, with a free 10-day trial of O'Reilly.

There are also live events, courses curated by job role, and more.

DESIGN OF THE CASE STUDY

3.1 introduction.

Software engineering case studies examine software engineering phenomena in their real-life settings and it is because the phenomena and setting will change during the study that such case studies require a flexible design, in contrast to for example the fixed designs of classic experiments. A flexible design does not mean that there should be no design or, alternatively, that a laissez-faire attitude to the design of the case study is acceptable. It is precisely because the case study researcher expects the phenomenon to change, and in unanticipated ways, that the design should be intended to be flexible enough to accommodate that change. In other words, the researcher should design for flexibility while also maintaining rigor and relevance.

The research design for the case study can be distinguished from both a workplan for the study, and from the legal, professional, and ethical requirements of the study. For example, researchers could develop a sophisticated multiple case study design but not have the time or resources to conduct a study with such a design. Software, and hence software engineering, is becoming increasingly complex with increased costs and resource requirements. Software engineering research must examine these increases in complexity, but this has implications for the costs and resource requirements of the software engineering research itself. Research projects will typically have resource constraints and these ...

Get Case Study Research in Software Engineering: Guidelines and Examples now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.

Don’t leave empty-handed

Get Mark Richards’s Software Architecture Patterns ebook to better understand how to design components—and how they should interact.

It’s yours, free.

Cover of Software Architecture Patterns

Check it out now on O’Reilly

Dive in for free with a 10-day trial of the O’Reilly learning platform—then explore all the other resources our members count on to build skills and solve problems every day.

case study examples for software engineering

W

  • General & Introductory Computer Science
  • Software Engineering

case study examples for software engineering

Case Study Research in Software Engineering: Guidelines and Examples

ISBN: 978-1-118-18100-3

case study examples for software engineering

Per Runeson , Martin Host , Austen Rainer , Bjorn Regnell

Dr. Austen Rainer is a Senior Lecturer in the School of Computer Science at the University of Hertfordshire. He is an active member of the Centre for Empirical Software Process Research (CESPR) and teaches several courses?in the BSc(Hons) and MSc degree programs.

Dr. Per Runeson is leader of the Software Engineering Research Group at Lund University, as well as Research Director for EASE - Embedded Applications Software Engineering. He is a Senior Researcher at Sony Ericsson, where he fulfills his role as a verification advisor. His research focuses on efficient verification and validation processes.

Dr. Martin Höst is Director of the M.Sc. Programme in Computer Science and Engineering at Lund University and a member of the Software Engineering Research Group (SERG).

Dr. Björn Regnell is a professor of Software Engineering at Lund University's Department of Computer Science and Vice Dean of Research at the Faculty of Engineering, LTH. His research interests include market-driven software development, requirements engineering, software quality, software innovation, software product management, and empirical research methods.

case study examples for software engineering

DevOps in Action: Real-world Case Studies

Vinod Bhat

In the ever-evolving landscape of software development and IT operations, DevOps has emerged as a game-changer. It’s not just a buzzword; it’s a set of practices, principles, and a culture that has the potential to transform organizations. To truly understand the impact of DevOps, one needs to explore its application in real-world scenarios. In this extensive blog, we will dive into a series of real-world case studies, each showcasing how DevOps practices have brought about remarkable changes in various businesses. These stories highlight the tangible benefits of automation, improved collaboration, and a relentless focus on continuous improvement. Prepare to be inspired by the potential of DevOps in action!

Case Study 1: Accelerating Software Delivery with Continuous Integration

Background: Our case study begins with a well-established e-commerce company facing a common challenge in the digital era: the need to innovate and deliver new features and updates to its online store rapidly. In a highly competitive market, speed to market and agility were critical factors that could set them apart from their competitors. However, their existing software development process was plagued by slow manual testing and deployment procedures, leading to delays in delivering new features and bug fixes to customers.

The DevOps Solution: Continuous Integration and Continuous Deployment (CI/CD): To address these challenges, the company embraced DevOps principles, focusing initially on implementing Continuous Integration (CI) and Continuous Deployment (CD) pipelines. Here’s how they did it:

  • Automated Testing: They automated their testing process, ensuring that every code change was automatically subjected to a battery of unit tests, integration tests, and regression tests. This allowed for quick identification of defects and issues, reducing the chances of bugs making their way into production.
  • Version Control: They adopted a robust version control system (like Git) to track code changes, enabling developers to collaborate seamlessly and ensuring that the codebase remained stable and maintainable.
  • CI/CD Pipelines: CI/CD pipelines were implemented to automate the entire software delivery process. Developers would commit their code to the version control repository, triggering the CI/CD pipeline. The pipeline consisted of stages such as building the application, running automated tests, and deploying the application to a staging environment for further testing.
  • Deployment Automation: The CD part of the pipeline included automated deployment to production once the changes passed all tests in the staging environment. This automated deployment process eliminated the need for manual intervention, reducing the chances of human error.

Results: The implementation of CI/CD pipelines had a profound impact on the e-commerce company’s software delivery process:

  • Faster Time to Market: The time required to deliver new features and updates was drastically reduced. What previously took weeks or even months could now be accomplished in a matter of days or hours.
  • Higher Quality Software: Automated testing and deployment significantly improved software quality. Bugs and issues were caught early in the development process, reducing post-release bug fixes.
  • Enhanced Collaboration: The CI/CD pipeline encouraged collaboration among development and operations teams. The pipeline’s transparency allowed everyone to see the progress of changes from development to production.
  • Improved Customer Satisfaction: With quicker releases and a reduced number of bugs, customer satisfaction soared. The e-commerce site provided a smoother, more reliable shopping experience.
  • Competitive Advantage: The company gained a competitive edge by being able to respond swiftly to market demands, seasonal changes, and emerging trends. They could roll out features in response to customer feedback more rapidly than ever before.

Conclusion: This case study illustrates the transformative power of Continuous Integration and Continuous Deployment (CI/CD) in the world of DevOps. By automating testing and deployment processes, the e-commerce company was able to accelerate software delivery, improve software quality, and stay ahead in a competitive market. It underscores the fact that CI/CD is not just a technology but a cultural shift that can revolutionize how software is developed, tested, and delivered. In the fast-paced digital age, organizations that embrace CI/CD are better positioned to meet customer expectations and thrive in the market.

Case Study 2: Revolutionizing Infrastructure with Infrastructure as Code (IaC)

The Challenge

Our case study focuses on a financial institution that faced significant challenges with its infrastructure management. They operated a complex network of servers, databases, and networking components, with manual configuration changes consuming a substantial amount of their IT team’s time. This manual approach not only led to human errors but also hindered the organization’s ability to scale quickly and respond to changing demands.

The Solution: Embracing Infrastructure as Code (IaC)

To address these challenges, the financial institution embarked on a journey to implement Infrastructure as Code (IaC) practices. IaC involves defining and managing infrastructure configurations through code, enabling automated provisioning, configuration, and scaling of infrastructure resources. The key components of their IaC solution included:

  • Tool Selection: The organization carefully evaluated IaC tools and selected one that aligned with their technology stack and needs. They opted for Terraform, a popular IaC tool known for its multi-cloud support and robust community.
  • IaC Blueprint: They created standardized IaC blueprints that described their infrastructure requirements. These blueprints were defined using Terraform’s domain-specific language (DSL), providing a human-readable and version-controlled way to describe infrastructure.
  • Automation Pipelines: The team integrated their IaC blueprints into their existing CI/CD pipelines. Now, whenever there was a code change in the IaC repository, the pipelines would automatically apply the changes to the infrastructure.
  • Version Control: Just like application code, the IaC code was placed under version control using Git. This allowed the team to track changes, collaborate effectively, and roll back changes if necessary.

The Impact: Transforming Infrastructure Management

The adoption of Infrastructure as Code had a profound impact on the financial institution’s operations:

  • Automation and Efficiency: Manual infrastructure management tasks were drastically reduced. The IaC solution automated the provisioning of new resources, configuration updates, and even scaling based on demand. This freed up the IT team to focus on strategic initiatives.
  • Reduced Errors: Automation eliminated human errors that were common during manual configuration changes. Infrastructure changes were now consistent and reliable, reducing the risk of outages and vulnerabilities.
  • Scalability: The organization could easily scale its infrastructure up or down in response to fluctuating workloads. This agility allowed them to handle increased traffic during peak times efficiently.
  • Cost Savings: IaC’s ability to provision and de-provision resources on-demand led to significant cost savings. Unused resources were automatically terminated, preventing unnecessary expenses.
  • Disaster Recovery: With IaC, disaster recovery became more straightforward. They could recreate the entire infrastructure in a consistent manner, ensuring business continuity in case of failures.
  • Compliance and Documentation: The IaC code served as documentation for the infrastructure. Compliance requirements were easier to meet, as the IaC blueprints incorporated security and compliance best practices.

Future-Ready Infrastructure

The financial institution’s successful implementation of Infrastructure as Code not only resolved their immediate infrastructure challenges but also future-proofed their operations. They were now equipped to respond quickly to changing business needs, seamlessly adopt new technologies, and scale without constraints.

This case study underscores the transformative power of Infrastructure as Code in the DevOps landscape. It demonstrates how IaC can revolutionize infrastructure management, enhance automation, reduce errors, improve scalability, and ultimately contribute to the overall success of an organization. By adopting IaC, businesses can build a solid foundation for a future-ready IT infrastructure that aligns with the principles of DevOps.

Case Study 3: Secure DevOps: Integrating Security into the Pipeline

In the world of healthcare, security and compliance are of paramount importance. Any breach or vulnerability can have severe consequences, ranging from data breaches to regulatory fines and, most importantly, patient safety. This case study revolves around a healthcare organization that recognized the need to enhance its security posture while maintaining agility and efficiency in its software development and deployment processes.

The Initial Challenge

Before embracing DevSecOps, the organization faced several security-related challenges:

  • Manual Security Assessment: Security assessments were conducted manually after the development phase, causing delays and often leading to the identification of vulnerabilities late in the development cycle.
  • Compliance Burden: Meeting regulatory compliance standards, such as HIPAA (Health Insurance Portability and Accountability Act) and GDPR (General Data Protection Regulation), required significant time and effort, diverting resources from other critical tasks.
  • Lack of Visibility: Limited visibility into the security status of applications made it challenging to proactively address vulnerabilities.
  • High Risk of Data Breaches: The healthcare industry is a prime target for cyberattacks, making the need for robust security practices even more critical.

The DevSecOps Transformation

To address these challenges, the organization decided to implement DevSecOps practices, which emphasize integrating security into the entire software development lifecycle. Here’s how they went about it:

1. Early Security Assessment:

They introduced automated security scans and assessments at various stages of the development pipeline, including code commits, builds, and deployments. This allowed them to identify and address security vulnerabilities much earlier in the development process, reducing the risk of vulnerabilities making their way into production.

2. Security as Code:

By treating security configurations as code, they automated the provisioning and hardening of infrastructure and applications. Infrastructure as Code (IaC) tools like Terraform and Ansible played a crucial role in defining and enforcing security policies across the entire environment.

3. Continuous Compliance Monitoring:

DevSecOps practices ensured that compliance checks were performed continuously throughout the development cycle. Automated checks and audits helped the organization maintain compliance with healthcare regulations and standards without the burden of manual audits.

4. Security Training and Culture:

They invested in security training for development and operations teams to create a shared understanding of security best practices. This not only improved the security knowledge of team members but also fostered a security-conscious culture within the organization.

5. Collaboration and Feedback Loops:

DevSecOps encouraged collaboration between development, operations, and security teams. Security experts worked closely with developers to provide guidance and feedback on secure coding practices, ensuring that security was an integral part of the development process.

The Results

The adoption of DevSecOps practices had a profound impact on the healthcare organization:

  • Reduced Vulnerabilities: Security vulnerabilities were identified and addressed early in the development process, significantly reducing the risk of security breaches.
  • Faster Compliance: Continuous compliance monitoring streamlined the process of meeting regulatory requirements, reducing the compliance burden and associated costs.
  • Improved Visibility: Real-time security monitoring provided clear visibility into the security status of applications and infrastructure, enabling proactive security measures.
  • Enhanced Reputation: The organization’s commitment to security and compliance bolstered its reputation among patients, partners, and regulatory bodies.
  • Cost Savings: By automating security assessments and compliance checks, the organization saved time and resources previously spent on manual processes.

This case study exemplifies how the integration of security into DevOps practices, known as DevSecOps, can yield significant benefits for organizations, particularly those in highly regulated industries like healthcare. The healthcare organization’s journey showcases that security need not be a roadblock to agility and innovation. Instead, it can be an integral part of the development process, ensuring that software is not only functional but also secure and compliant. The lessons learned from this case study emphasize the importance of proactive security measures and the value of a security-first mindset in DevOps.

Case Study 4: Scaling with Microservices and Kubernetes

In this case study, we’ll explore how a rapidly growing startup, “TechSprint,” successfully scaled its application infrastructure by embracing a microservices architecture and harnessing the power of Kubernetes orchestration.

Challenges Faced by TechSprint

TechSprint began as a promising startup with a single, monolithic application that served its initial user base well. However, as the user base expanded and feature requests poured in, they encountered several challenges:

  • Scalability: The monolithic architecture struggled to handle the increasing user load efficiently, resulting in performance issues and downtimes during traffic spikes.
  • Release Bottlenecks: Developers found it increasingly challenging to coordinate releases, leading to delayed feature delivery and a high risk of introducing bugs.
  • Resource Allocation: Resource allocation was inefficient, as the entire monolithic application had to be scaled up or down, even if only specific components needed adjustment.

The Solution: Microservices and Kubernetes

Recognizing the need for a more scalable and agile architecture, TechSprint decided to transition from a monolithic application to a microservices-based architecture. Here’s how they approached this transformation:

  • Microservices Adoption: TechSprint decomposed its monolithic application into a set of loosely coupled microservices. Each microservice was responsible for a specific function or feature, allowing developers to work independently on smaller, more manageable codebases.
  • Kubernetes Orchestration: To manage the deployment and scaling of these microservices efficiently, TechSprint adopted Kubernetes, a container orchestration platform. Kubernetes provided automated scaling, load balancing, and self-healing capabilities.

The Benefits Realized

The adoption of microservices and Kubernetes brought about several significant benefits for TechSprint:

  • Scalability: With Kubernetes, TechSprint could easily scale individual microservices based on demand. This fine-grained control allowed them to optimize resource utilization and improve overall system performance.
  • Continuous Delivery: By breaking down the monolith into smaller components, TechSprint embraced a microservices-based CI/CD pipeline. Developers could now independently develop, test, and release their microservices, accelerating feature delivery.
  • Fault Tolerance: Kubernetes’ self-healing capabilities ensured that if a microservice failed, it would automatically be restarted or replaced. This improved the overall system’s fault tolerance.
  • Resource Efficiency: Resource allocation became more efficient, as Kubernetes allocated resources dynamically to microservices based on their actual resource needs. This resulted in cost savings and reduced infrastructure overhead.
  • Improved Developer Productivity: Developers enjoyed greater autonomy and ownership of their microservices, which led to increased innovation and quicker issue resolution.

Lessons Learned and Future Plans

While the transition to microservices and Kubernetes was a resounding success, TechSprint also encountered some challenges along the way. Managing the complexity of a distributed system and ensuring seamless communication between microservices required careful planning.

In the future, TechSprint plans to explore advanced Kubernetes features such as Helm charts for simplifying deployment and Istio for managing microservices communication and security. They are also considering a multi-cloud strategy to increase redundancy and further enhance reliability.

TechSprint’s journey from a struggling monolithic application to a scalable, agile, and fault-tolerant microservices architecture powered by Kubernetes is a testament to the transformative power of DevOps practices. This case study showcases how organizations can overcome scalability challenges, improve release velocity, and optimize resource utilization by embracing microservices and container orchestration. As TechSprint continues to innovate and refine its architecture, they are well-positioned for sustained growth and success in the competitive tech landscape.

Case Study 5: Cloud-native DevOps with AWS, Azure, and GCP

Introduction: The Challenge of Modernization

In today’s rapidly evolving digital landscape, businesses strive to stay competitive by modernizing their IT infrastructure and adopting cloud-native approaches. This case study presents the journey of a global technology company that embarked on a transformational path by embracing Cloud-native DevOps practices. Their goal was to leverage the strengths of cloud providers like Amazon Web Services (AWS), Microsoft Azure, and Google Cloud Platform (GCP) to enhance agility, scalability, and cost-efficiency.

The Vision: Becoming Cloud-Native

The company recognized that to remain at the forefront of innovation, they needed to move away from traditional on-premises infrastructure and embrace cloud-native principles. This shift involved the adoption of microservices architecture, containerization, and serverless computing, all of which align with DevOps practices.

DevOps as the Enabler: Collaboration and Automation

To facilitate this transformation, the organization adopted DevOps as the cultural and operational foundation. DevOps encouraged collaboration between development and operations teams, breaking down silos, and fostering a shared responsibility for the end-to-end software delivery process. Automation became a cornerstone, ensuring that development, testing, deployment, and scaling processes could occur seamlessly and reliably across cloud environments.

AWS: Harnessing the Power of the Cloud Giant

The organization’s journey began by harnessing the capabilities of AWS, one of the leading cloud providers. AWS offered a broad spectrum of services, including EC2 for scalable compute resources, S3 for object storage, and Lambda for serverless computing. DevOps practices enabled the team to leverage these services effectively.

By implementing Infrastructure as Code (IaC) using tools like AWS CloudFormation, the organization automated the provisioning and management of cloud resources. They also adopted AWS Elastic Beanstalk and AWS Lambda for deploying and scaling applications effortlessly, embracing the serverless paradigm for certain workloads.

Azure: Seamless Integration with Microsoft Tools

In parallel, the company integrated Microsoft Azure into their cloud-native DevOps strategy. Azure seamlessly integrated with their existing Microsoft tools and applications, allowing them to lift and shift workloads to the cloud and modernize applications using Azure services.

Azure DevOps Services played a pivotal role in streamlining the CI/CD pipeline. Teams used Azure Kubernetes Service (AKS) for container orchestration and Azure Functions for serverless computing. Azure’s strong support for hybrid cloud deployments further eased the transition from on-premises infrastructure to the cloud.

GCP: Embracing Google’s Innovations

Completing the trifecta, the organization turned to Google Cloud Platform (GCP) to harness its unique strengths in data analytics and machine learning. GCP’s BigQuery, Dataflow, and AI/ML offerings opened up new possibilities for data-driven insights and innovations.

Using Kubernetes Engine (GKE), they managed containerized applications efficiently. Google’s data storage solutions, such as Cloud Storage and Bigtable, facilitated data management and scalability.

Results and Benefits: A Cloud-Native Success Story

By adopting cloud-native DevOps practices across AWS, Azure, and GCP, the organization achieved remarkable results:

  • Agility: Teams could quickly develop, test, and deploy new features and services, responding swiftly to market demands.
  • Scalability: The cloud-native approach allowed for elastic scaling, ensuring applications could handle fluctuations in traffic effortlessly.
  • Cost-Efficiency: Cloud-native optimization and cost management strategies led to substantial cost savings compared to traditional infrastructure.
  • Innovation: Leveraging cloud provider-specific services, such as machine learning and data analytics, opened new avenues for innovation and data-driven decision-making.
  • Resilience: The redundancy and fault tolerance provided by cloud-native architectures ensured high availability and reliability.

Conclusion:

This case study illustrates the power of cloud-native DevOps in transforming a global technology company. By embracing AWS, Azure, and GCP within a DevOps culture, the organization achieved agility, scalability, cost-efficiency, and innovation. Their journey showcases the potential for businesses to thrive in the digital era by marrying DevOps principles with the capabilities of leading cloud providers. As organizations continue to evolve and modernize, cloud-native DevOps remains a powerful enabler of success in the dynamic world of technology.

Conclusion: Transforming Businesses, One DevOps Practice at a Time

These real-world case studies are not just stories; they are powerful examples of how DevOps practices have the potential to transform businesses across various domains. Whether it’s accelerating software delivery, revolutionizing infrastructure management, enhancing security, embracing modern architectures, or leveraging cloud-native technologies, DevOps is the common thread that ties these success stories together. As you explore each case study, you’ll gain insights into the practical application of DevOps principles, leaving you inspired and ready to embark on your own DevOps journey.

Vinod Bhat

Written by Vinod Bhat

🚀 Full Stack Developer and DevOps Enthusiast | 🌐 Tech Wizard | 📚 Problem Solver

Text to speech

  • Software Testing Course
  • Software Engineering Tutorial
  • Software Development Life Cycle
  • Waterfall Model
  • Software Requirements
  • Software Measurement and Metrics
  • Software Design Process
  • System configuration management
  • Software Maintenance
  • Software Development Tutorial
  • Software Testing Tutorial
  • Product Management Tutorial
  • Project Management Tutorial
  • Agile Methodology
  • Selenium Basics

Computer Aided Software Engineering (CASE)

Computer-aided software engineering (CASE) is the implementation of computer-facilitated tools and methods in software development. CASE is used to ensure high-quality and defect-free software. CASE ensures a check-pointed and disciplined approach and helps designers, developers, testers, managers, and others to see the project milestones during development. 

CASE can also help as a warehouse for documents related to projects, like business plans, requirements, and design specifications. One of the major advantages of using CASE is the delivery of the final product, which is more likely to meet real-world requirements as it ensures that customers remain part of the process. 

CASE illustrates a wide set of labor-saving tools that are used in software development. It generates a framework for organizing projects and to be helpful in enhancing productivity. There was more interest in the concept of CASE tools years ago, but less so today, as the tools have morphed into different functions, often in reaction to software developer needs. The concept of CASE also received a heavy dose of criticism after its release. 

What is CASE Tools?

The essential idea of CASE tools is that in-built programs can help to analyze developing systems in order to enhance quality and provide better outcomes. Throughout the 1990, CASE tool became part of the software lexicon, and big companies like IBM were using these kinds of tools to help create software. 

Various tools are incorporated in CASE and are called CASE tools, which are used to support different stages and milestones in a software development life cycle. 

Types of CASE Tools:

  • Diagramming Tools:  It helps in diagrammatic and graphical representations of the data and system processes. It represents system elements, control flow and data flow among different software components and system structures in a pictorial form. For example, Flow Chart Maker tool for making state-of-the-art flowcharts.  
  • Computer Display and Report Generators:  These help in understanding the data requirements and the relationships involved. 
  • (i) Accept 360, Accompa, CaseComplete for requirement analysis. 
  • (ii) Visible Analyst for total analysis.   
  • Central Repository:  It provides a single point of storage for data diagrams, reports, and documents related to project management.
  • Documentation Generators:  It helps in generating user and technical documentation as per standards. It creates documents for technical users and end users.  For example, Doxygen, DrExplain, Adobe RoboHelp for documentation.  
  • Code Generators:  It aids in the auto-generation of code, including definitions, with the help of designs, documents, and diagrams.
  • Tools for Requirement Management: It makes gathering, evaluating, and managing software needs easier.
  • Tools for Analysis and Design : It offers instruments for modelling system architecture and behaviour, which helps throughout the analysis and design stages of software development.
  • Tools for Database Management: It facilitates database construction, design, and administration.
  • Tools for Documentation: It makes the process of creating, organizing, and maintaining project documentation easier.

Advantages of the CASE approach: 

  • Improved Documentation: Comprehensive documentation creation and maintenance is made easier by CASE tools. Since automatically generated documentation is usually more accurate and up to date, there are fewer opportunities for errors and misunderstandings brought on by out-of-current material.
  • Reusing Components: Reusable component creation and maintenance are frequently facilitated by CASE tools. This encourages a development approach that is modular and component-based, enabling teams to shorten development times and reuse tested solutions.
  • Quicker Cycles of Development: Development cycles take less time when certain jobs, such testing and code generation, are automated. This may result in software solutions being delivered more quickly, meeting deadlines and keeping up with changing business requirements.
  • Improved Results : Code generation, documentation, and testing are just a few of the time-consuming, repetitive operations that CASE tools perform. Due to this automation, engineers are able to concentrate on more intricate and imaginative facets of software development, which boosts output.
  • Achieving uniformity and standardization:  Coding conventions, documentation formats and design patterns are just a few of the areas of software development where CASE tools enforce uniformity and standards. This guarantees consistent and maintainable software development.

Disadvantages of the CASE approach: 

  • Cost: Using a case tool is very costly. Most firms engaged in software development on a small scale do not invest in CASE tools because they think that the benefit of CASE is justifiable only in the development of large systems.
  • Learning Curve: In most cases, programmers’ productivity may fall in the initial phase of implementation, because users need time to learn the technology. Many consultants offer training and on-site services that can be important to accelerate the learning curve and to the development and use of the CASE tools.
  • Tool Mix: It is important to build an appropriate selection tool mix to urge cost advantage CASE integration and data integration across all platforms is extremely important.

Conclusion:

In today’s software development world, computer-aided software engineering is a vital tool that enables teams to produce high-quality software quickly and cooperatively. CASE tools will probably become more and more essential as technology develops in order to satisfy the demands of complicated software development projects.

Please Login to comment...

Similar reads.

  • Software Engineering
  • 105 Funny Things to Do to Make Someone Laugh
  • Best PS5 SSDs in 2024: Top Picks for Expanding Your Storage
  • Best Nintendo Switch Controllers in 2024
  • Xbox Game Pass Ultimate: Features, Benefits, and Pricing in 2024
  • #geekstreak2024 – 21 Days POTD Challenge Powered By Deutsche Bank

Improve your Coding Skills with Practice

 alt=

What kind of Experience do you want to share?

(Stanford users can avoid this Captcha by logging in.)

  • Send to text email RefWorks EndNote printer

Case study research in software engineering : guidelines and examples

Available online.

  • Safari Books Online

More options

  • Find it at other libraries via WorldCat
  • Contributors

Description

Creators/contributors, contents/summary.

  • FOREWORD xiii PREFACE xv ACKNOWLEDGMENTS xvii PART I CASE STUDY METHODOLOGY
  • 1 INTRODUCTION 3 1.1 What is a Case Study? 3 1.2 A Brief History of Case Studies in Software Engineering 5 1.3 Why a Book on Case Studies of Software Engineering? 6 1.4 Conclusion 9
  • 2 BACKGROUND AND DEFINITION OF CONCEPTS 11 2.1 Introduction 11 2.2 Research Strategies 11 2.3 Characteristics of Research Strategies 13 2.3.1 Purpose 13 2.3.2 Control and Data 14 2.3.3 Triangulation 15 2.3.4 Replication 16 2.3.5 Inductive and Deductive Enquiries 16 2.4 What Makes a Good Case Study? 17 2.5 When is the Case Study Strategy Feasible? 19 2.6 Case Study Research Process 20 2.7 Conclusion 21
  • 3 DESIGN OF THE CASE STUDY 23 3.1 Introduction 23 3.2 Elements of the Case Study Design 24 3.2.1 Rationale for the Study 24 3.2.2 Objective of the Study 24 3.2.3 Cases and Units of Analyses 26 3.2.4 Theoretical Framework 29 3.2.5 Research Questions 30 3.2.6 Propositions and Hypotheses 31 3.2.7 Concepts 32 3.2.8 Methods of Data Collection 32 3.2.9 Methods of Data Analysis 33 3.2.10 Case Selection 33 3.2.11 Selection of Data 35 3.2.12 Data Definition and Data Storage 36 3.2.13 Quality Control and Assurance 36 3.2.14 Maintaining the Case Study Protocol 37 3.2.15 Reporting and Disseminating the Case Study 38 3.3 Legal, Ethical, and Professional Issues 40 3.4 Conclusion 45
  • 4 DATA COLLECTION 47 4.1 Introduction 47 4.2 Different Types of Data Source 47 4.2.1 Classification of Data Sources 47 4.2.2 Data Source Selection 49 4.3 Interviews 50 4.3.1 Planning Interviews 50 4.3.2 The Interview Session 52 4.3.3 Postinterview Activities 53 4.4 Focus groups 54 4.5 Observations 56 4.6 Archival Data 57 4.7 Metrics 58 4.8 Conclusion 60
  • 5 DATA ANALYSIS AND INTERPRETATION 61 5.1 Introduction 61 5.2 Analysis of Data in Flexible Research 62 5.2.1 Introduction 62 5.2.2 Level of Formalism 64 5.2.3 Relation to Hypotheses 65 5.3 Process for Qualitative Data Analysis 65 5.3.1 Introduction 65 5.3.2 Steps in the Analysis 66 5.3.3 Techniques 68 5.3.4 Tool support 70 5.4 Validity 71 5.4.1 Construct Validity 71 5.4.2 Internal Validity 71 5.4.3 External Validity 71 5.4.4 Reliability 72 5.5 Improving Validity 72 5.6 Quantitative Data Analysis 74 5.7 Conclusion 76
  • 6 REPORTING AND DISSEMINATION 77 6.1 Introduction 77 6.2 Why Report and Disseminate 78 6.3 The Audience for the Report 79 6.4 Aspects of the Case Study to Report and Disseminate 80 6.5 When to Report and Disseminate 81 6.6 Guidelines on Reporting 82 6.6.1 The Generic Content of an Academic Report 82 6.6.2 Reporting Recommendations from Evaluative Case Studies 84 6.6.3 Reporting to Stakeholders, Including Sponsor(s) 85 6.6.4 Reporting the Context of the Case Study 87 6.6.5 Reporting to Students 89 6.6.6 Ad Hoc and Impromptu Reporting 90 6.7 Formats and Structures for a Report 91 6.8 Where to Report 94 6.9 Ethics and Confidentiality 94 6.10 Conclusion 95
  • 7 SCALING UP CASE STUDY RESEARCH TO REAL-WORLD SOFTWARE PRACTICE 97 7.1 Introduction 97 7.2 The Aims of Scaling up Case Studies 98 7.3 Dimensions of Scale 99 7.4 Longitudinal Case Studies 100 7.5 Multiple Case Studies 102 7.5.1 Multiple Cases and Replications 102 7.5.2 Selecting the Cases 104 7.6 Multiresearcher Case Studies 105 7.7 Conclusion 107
  • 8 USING CASE STUDY RESEARCH 109 8.1 Introduction 109 8.2 Reading and Reviewing Case Studies 109 8.2.1 Development of Checklists 110 8.2.2 Checklists for Conducting Case Study Research 111 8.2.3 Checklists for Reading and Reviewing Case Studies 111 8.2.4 Development of Practice 111 8.3 Identifying and Synthesizing Use Case Research 111 8.3.1 Identifying Primary Studies 112 8.3.2 Synthesis of Evidence from Multiple Case Studies 113 8.3.3 Current State of Synthesis 117 8.4 The Economics of Case Study Research 118 8.4.1 Costs and Benefits of Evaluation Techniques 119 8.4.2 Evaluation of the DESMET Methodology 119 8.4.3 Frameworks for Organizing Methods of Evaluation 119 8.5 Specializing Case Study Research for Software Engineering 121 8.5.1 The Longitudinal Chronological Case Study Research Strategy 122 8.5.2 Controlled Case Studies 123 8.6 Case Studies and Software Process Improvement 123 8.7 Conclusion 125 PART II EXAMPLES OF CASE STUDIES
  • 9 INTRODUCTION TO CASE STUDY EXAMPLES 129 9.1 Introduction 129
  • 10 CASE STUDY OF EXTREME PROGRAMMING IN A STAGE-GATE CONTEXT 133 10.1 Introduction 133 10.1.1 Methodological Status 133 10.2 Case Study Design 134 10.2.1 Rationale 134 10.2.2 Objectives 134 10.2.3 Cases and Units of Analysis 135 10.2.4 Theoretical Frame of Reference 136 10.2.5 Research Questions 136 10.3 Planning 136 10.3.1 Methods of Data Collection 136 10.3.2 Selection of Data 137 10.3.3 Case Selection Strategy 137 10.3.4 Case Study Protocol 137 10.3.5 Ethical Considerations 137 10.4 Data Collection 139 10.5 Data Analysis 139 10.5.1 Threats to Validity 144 10.6 Reporting 144 10.6.1 Academics 144 10.6.2 Practitioners 144 10.7 Lessons Learned 146
  • 11 TWO LONGITUDINAL CASE STUDIES OF SOFTWARE PROJECT MANAGEMENT 149 11.1 Introduction 149 11.2 Background to the Research Project 149 11.3 Case Study Design and Planning 150 11.3.1 Rationale 150 11.3.2 Objective 150 11.3.3 Definition of the Case 150 11.3.4 Units of Analyses 151 11.3.5 Theoretical Frame of Reference and Research Questions 151 11.3.6 Case Selection 151 11.3.7 Replication Strategy 152 11.3.8 Case Study Protocol 152 11.3.9 Quality Assurance, Validity, and Reliability 152 11.3.10 Legal, Ethical, and Professional Considerations 153 11.4 Data Collection 154 11.4.1 Sources of Data 154 11.5 Data Analysis 157 11.6 Reporting 159 11.6.1 Internal Reporting of Results 160 11.6.2 Dissemination of Artifacts 160 11.7 Lessons Learned 160
  • 12 AN ITERATIVE CASE STUDY OF QUALITY MONITORING 163 12.1 Introduction 163 12.2 Case Study Design 164 12.2.1 Objectives 164 12.2.2 Cases and Units of Analysis 165 12.2.3 Theoretical Frame of Reference 165 12.2.4 Research Questions 165 12.3 Planning 165 12.3.1 Methods of Data Collection 165 12.3.2 Case Selection Strategy 167 12.3.3 Case Study Protocol 167 12.3.4 Ethical Considerations 167 12.3.5 Data Collection 168 12.3.6 Exploratory Study 168 12.3.7 Confirmatory Study 168 12.3.8 Explanatory Study 168 12.4 Data Analysis 169 12.5 Reporting 169 12.6 Lessons Learned 169
  • 13 A CASE STUDY OF THE EVALUATION OF REQUIREMENTS MANAGEMENT TOOLS 171 13.1 Introduction 171 13.2 Design of the Case Study 172 13.2.1 Rationale 172 13.2.2 Objective 172 13.2.3 The Case and Its Context 173 13.2.4 The Units of Analyses 174 13.2.5 Theoretical Framework 175 13.2.6 Research Questions 175 13.2.7 Propositions, Concepts, and Measures 175 13.2.8 Case Study Protocol 175 13.2.9 Methods of Data Collection 176 13.2.10 Methods of Data Analysis 176 13.2.11 Case Selection Strategy 177 13.2.12 Data Selection Strategy 177 13.2.13 Replication Strategy 177 13.2.14 Quality Assurance, Validity, and Reliability 177 13.3 Data Collection 178 13.4 Data Analysis 179 13.5 Reporting and Dissemination 180 13.6 Lessons Learned 181
  • 14 A LARGE-SCALE CASE STUDY OF REQUIREMENTS AND VERIFICATION ALIGNMENT 183 14.1 Introduction 183 14.2 Case Study Design 184 14.2.1 Rationale 184 14.2.2 Objectives 184 14.2.3 Cases and Units of Analysis 185 14.2.4 Theoretical Frame of Reference 186 14.2.5 Research Questions 187 14.3 Planning 188 14.3.1 Methods of Data Collection 189 14.3.2 Case Selection Strategy 190 14.3.3 Selection of Data 191 14.3.4 Case Study Protocol 191 14.3.5 Ethical Considerations 192 14.4 Data Collection 192 14.5 Data Analysis 193 14.6 Lessons Learned 195 14.6.1 Effort Estimation Lessons 195 14.6.2 Design and Planning Lessons 196 14.6.3 Data Collection Lessons 197 14.6.4 Data Analysis Lessons 198 14.6.5 Reporting Lessons 199 14.6.6 A General Lesson 199 EPILOGUE 201 Appendix A: CHECKLISTS FOR READING AND REVIEWING CASE STUDIES 203 A.1 Design of the Case Study 203 A.2 Data Collection 204 A.3 Data Analysis and Interpretation 204 A.4 Reporting and Dissemination 204 A.5 Reader's Checklist 205 Appendix B: EXAMPLE INTERVIEW INSTRUMENT (XP) 207 Appendix C: EXAMPLE INTERVIEW INSTRUMENT (REVV) 209 Appendix D: EXAMPLE OF A CODING GUIDE 213 D.1 Coding Instructions 213 D.2 Codes 214 D.2.1 High Level Codes: Research Questions 214 D.2.2 Medium Level Codes: Categories 216 D.2.3 Coding Example 216 Appendix E: EXAMPLE OF A CONSENT INFORMATION LETTER 219 REFERENCES 221 INDEX 235.
  • (source: Nielsen Book Data)

Bibliographic information

Browse related items.

Stanford University

  • Stanford Home
  • Maps & Directions
  • Search Stanford
  • Emergency Info
  • Terms of Use
  • Non-Discrimination
  • Accessibility

© Stanford University , Stanford , California 94305 .

Custom Software

Leverage our technology expertise for custom applications and API's as well application rewrites. Driven by emerging technologies in open source, AI, automation, IoT and big data.

AI Solutions

Platform solutions, consulting expertise and seasoned advisory for defining and executing AI services. These can be internal operational improvements or external support and services.

Hire Talent

Quick turn around of individuals and teams within our core disciplines. Exceptional technical vetting and retention with global location and time zone coverage. Flex utilization for certain roles.

  • Strategy & Ideation
  • UX/UI Design
  • Integration & APIs
  • Quality Assurance
  • Support and Hosting Services
  • Custom SaaS Dev and Cloud Services
  • Telehealth Software
  • EHR Software
  • EMR Software
  • Medical Software
  • Engagements
  • Mobile Apps
  • Mobile Testing
  • React Native
  • Objective-C
  • Ruby on Rails
  • About Intersog
  • Why Intersog
  • Leadership Team
  • Letter from the CEO
  • Team Management
  • Software Dev Blogs
  • IT Strategy
  • Coding Tips
  • IT News and Trends
  • White Papers
  • Strategy & Ideation
  • Integration/APIs
  • MVP Development
  • Backend Development
  • Agriculture
  • IT Cost Calculator
  • Software Development

Agile Software Development Life Cycle: Case Study

Learn more about our agile software development life cycle from our Mitsubishi case study.

Any software development project, either big or small, requires a great deal of planning and steps that divide the entire development process into several smaller tasks that can be assigned to specific people, completed, measured, and evaluated. Agile Software Development Life Cycle (SDLC), is the process for doing exactly that – planning, developing, testing, and deploying information systems. The benefit of agile SDLC is that project managers can omit, split, or mix certain steps depending on the project’s scope while maintaining the efficiency of the development process and the integrity of the development life cycle. 

Today, we are going to examine a software development life cycle case study from one of Intersog’s previous projects to show how agility plays a crucial role in the successful delivery of the final product. Several years back, we worked with Mitsubishi Motors helping one of the world’s leading automotive manufacturers to develop a new supply chain management system. With the large scope of the project, its complex features, and many stakeholders relying on the outcomes of the project, we had to employ an agile approach to ensure a secure software development life cycle.

Business Requirements

Mitsubishi Motors involves many stakeholders and suppliers around the world, which makes its supply chain rather complex and data-heavy. That is why timely improvements are crucial for the proper functioning of this huge system and a corporation as a whole. Over the years of functioning, the old supply chain has been accumulating some noticeable frictions that resulted in the efficiency bottlenecks, and Intersog offered came ups with just the right set of solutions to make sufficient solutions that would help Mitsubishi ensure a coherent line of communication and cooperation with all the involved suppliers.

  • Intelligent Automation: Top 3 Ways to Expand RPA with AI

Previously, Mitsubishi used an outdated supply chain management system that involved a large number of spreadsheets that required a lot of manual input. Considering a large number of stakeholders, the problem of synchronization has been a pressing one as well – different stakeholders would input the data at different speeds and at different times of day, which created a degree of confusion among suppliers. Though the system has been sufficient for a long time, the time has come to eliminate all the redundancies and streamline data input. 

The legacy system has been partially automated and ran on the IBM AS400 server, which allows for impressive flexibility, but it no longer sufficed for Mitsubishi’s growing needs. The main requirement, thus, was to create a robust online supply chain solution that would encompass the entire logistics process starting with auto parts and steel suppliers and ending with subcontractors and car dealerships around the world. That being said, Mitsubishi did not want to completely change the system, they opted for overhaul, and we came up with the idea of an integrated web application that was meant to function in conjunction with a DB2 base that was already used on the IBM AS400 server. 

IT Architecture and Agile SDLC

Mitsubishi employs a series of guidelines and rules on how to build, modify, and acquire new IT resources, which is why Intersog had to be truly agile to adapt to the client’s long-established IT architecture. Adapting to the requirements of the client, and especially to the strict regulations of the IT architecture of large corporations like Mitsubishi requires knowledge, flexibility, and strong industry expertise. Each software development company has its own architecture standards and frameworks for building new systems but many face difficulties when working with the existing systems and modifying them to the new requirements.

Intersog has no such problems. We approached Mitsubishi’s case with strong industry expertise and flexibility to account for all the client’s needs and specifications of the existing system. Obviously, following the client’s architecture regulations requires a profound understanding of said regulations, which is why information gathering is an integral phase of the software development life cycle.

Requirements Gathering

The requirements gathering phase can take anywhere from just a couple of days to several weeks. Working with complex and multi-layered legacy systems like the one used by Mitsubishi requires serious analysis and information gathering. In the case of Mitsubishi, our dedicated team had to gain a clear understanding of how the legacy system functions, create new software specifications, map out the development process, gather and create all the necessary documentation, track all the issues related to the functioning of the legacy system, outline the necessary solutions, and allocate all the resources to achieve the project’s goals in the most efficient manner. 

Working on the Mitsubishi project, our team has been gathering all the required information for up to 4 weeks. This included a profound examination of the legacy system, mapping out all of its flaws and specifications, bridging the gaps between the current state of the system and the requirements of the client, and outlining the development process. 

case study examples for software engineering

  • The Power of Generative AI: Enhancing Business Strategies

The design stage includes all the integral decisions regarding the software architecture, its makeover, the tech frameworks that would be used in the system’s rework. During this stage, developers discuss the coding guidelines, the tools, practices, and runtimes that will help the team meet the client’s requirements. Working with large corporations like Mitsubishi, a custom software development team has to work closely with the company’s own developers to better understand the specifics of the architecture and create a design that reflects all the requirements. 

After all the requirements are gathered, we initiated the design stage based on all of the client’s specifications and came up with a number of solutions that matched Mitsubishi’s specs:

  • Convenient data model meant to optimize data duplication;
  • Permission system that differentiated the users by their access levels;
  • Appealing user interface mockup to improve the comfortability of user-system interaction;
  • Integration with the legacy RPG system;
  • Notifications for the partners to keep them up with the important activities.

This set of essential solutions has been discussed and approved in the course of the design stage that lasted for 2 months. During this stage, Intersog and Mitsubishi development teams worked closely to come up with the solutions that matched the client’s requirements to the tee. Proper functioning of the supply chain is vital for the entire corporation, which is why it was critical to do everything flawlessly. 2 months might seem like quite a timeline, but for this case study on software development life cycle, it was not that long considering how complex Mitsubishi’s legacy system was. 

Solution Development

After approving the solution design, the team can move to develop those solutions. That’s the core of the entire project, a stage at which the teams meet the goals and achieve the outcomes set during previous stages. The success of the development stage depends heavily on how good a job the teams did during the design stage – if everything was designed with laser precision, the team can expect few if any, surprises during the development stage. 

What happens during the development stage is the teams coding their way towards the final product based on decisions that have been made earlier. With Mitsubishi, we followed the guidelines we came up with earlier and implemented a set of essential solutions:

  • We built a convenient data model that minimizes the risk of human error by reducing redundant and repetitive data entry and duplication. 
  • Improved Mitsubishi’s security system to differentiate the users by their level of access and give them the respective level of control over the data.
  • Added the notifications for the users so that they could react to the relevant changes faster.
  • Designed an appealing and comfortable user interface using the AJAX framework to make the user-system interaction more comfortable and time-efficient. 
  • Deployed the platform running on the IBM AS400 server with the integration of DB2 databases.
  • Integrated the existing RPG software into the new system.
  • Migrated the existing spreadsheets and all the essential data into the new system.

All of these solutions took us 6 months to implement, which is rather fast for a project of such scale. Such a time-efficiency was possible only thanks to the huge amount of work we’ve done throughout the research and design stages. The lesson to learn from these software development life cycle phases for the example case study is that the speed of development would depend heavily on how well you prepare. 

Depending on the scale of the project, you might be looking at different timelines for the development stage. Small scale projects can be finished in a matter of weeks while some of the most complicated solutions might take more than a year to finish. In the case of the Mitsubishi project, it was essential for the client to get things done faster. Rushing things up is never a good idea, but you can always cut your development timeline by doing all the preparation work properly and having a clear understanding of what needs to be done and in which order.

Quality Assurance                   

Quality assurance is as vital for your project’s success as any other stage; this is where you test your code, assess the quality of solutions, and make sure everything runs smoothly and according to plan. Testing helps you identify all the bugs and defects in your code and eliminate those in a timely manner. Here at Intersog, we prefer testing our software on a regular basis throughout the development process. This approach helps us to identify the issues on the go and fix them before they snowball into serious problems. 

That’s it, quality assurance is a set of procedures aimed at eliminating bugs and optimizing the functioning of the software solutions. Here at Intersog, we run both manual and automated tests so that we can be truly sure of the quality of solutions we develop for our clients. With Mitsubishi, we ran tests throughout the development process and after the development stage was over. It took us an additional month to test all the solutions we’ve developed, after which we were ready for the implementation stage.

Would you like to learn more

about talent solutions

Integration and Support

Following the testing, and once we are sure all the solutions work flawlessly, the development team gets to the implementation stage. Also known as the integration stage, this is where we integrate the new solution into the client’s pre-existing ecosystem. Basically, you are putting new gears into a complex mechanism that has been functioning for many years, and it is essential to make sure all of those gears fit perfectly. 

With such a complex system as the one employed by Mitsubishi and a vast amount of accumulated data, our developers had to be incredibly precise not to lose anything. We are talking about surgical precision because Mitsubishi’s suppliers amassed thousands upon thousands of spreadsheets full of critical data on supplies, material and product deliveries, accounting data, and more. All of that had to be carefully integrated with the new automated solution. 

After 2 months, the solutions have been fully integrated with Mitsubishi’s existing ecosystem. Intersog usually backs the clients up by offering support and maintenance services to ensure flawless functioning of the system over time, but this time, our client was fully capable of maintaining the new system on their own. As said, Mitsubishi has its own development team that is able to take care of the system maintenance, so that our cooperation was finished after the integration stage. 

Final Thoughts and Outtakes

A software development life cycle depends on many factors that are unique for each company. In the case of Mitsubishi, we’ve managed to get things done in just under a year, which is rather fast for a project of such an immense scale. Different projects have different life cycles, and it depends on the scale, the client’s ability to explain their needs, and the development team’s ability to understand those needs, gather all the necessary information, design the appropriate set of solutions, develop said solutions, ensure their quality, and implement them fast.

' src=

Related Posts

Software development blogs leveraging ai data analytics: marketing strategies for success, software development blogs intersog gains game-changer status on clutch, software development blogs the persistent challenge of tech talent acquisition.

case study examples for software engineering

This website uses these cookies:

This week: the arXiv Accessibility Forum

Help | Advanced Search

Computer Science > Software Engineering

Title: enabling cost-effective ui automation testing with retrieval-based llms: a case study in wechat.

Abstract: UI automation tests play a crucial role in ensuring the quality of mobile applications. Despite the growing popularity of machine learning techniques to generate these tests, they still face several challenges, such as the mismatch of UI elements. The recent advances in Large Language Models (LLMs) have addressed these issues by leveraging their semantic understanding capabilities. However, a significant gap remains in applying these models to industrial-level app testing, particularly in terms of cost optimization and knowledge limitation. To address this, we introduce CAT to create cost-effective UI automation tests for industry apps by combining machine learning and LLMs with best practices. Given the task description, CAT employs Retrieval Augmented Generation (RAG) to source examples of industrial app usage as the few-shot learning context, assisting LLMs in generating the specific sequence of actions. CAT then employs machine learning techniques, with LLMs serving as a complementary optimizer, to map the target element on the UI screen. Our evaluations on the WeChat testing dataset demonstrate the CAT's performance and cost-effectiveness, achieving 90% UI automation with $0.34 cost, outperforming the state-of-the-art. We have also integrated our approach into the real-world WeChat testing platform, demonstrating its usefulness in detecting 141 bugs and enhancing the developers' testing process.
Subjects: Software Engineering (cs.SE)
Cite as: [cs.SE]
  (or [cs.SE] for this version)
  Focus to learn more arXiv-issued DOI via DataCite (pending registration)

Submission history

Access paper:.

  • HTML (experimental)
  • Other Formats

license icon

References & Citations

  • Google Scholar
  • Semantic Scholar

BibTeX formatted citation

BibSonomy logo

Bibliographic and Citation Tools

Code, data and media associated with this article, recommenders and search tools.

  • Institution

arXivLabs: experimental projects with community collaborators

arXivLabs is a framework that allows collaborators to develop and share new arXiv features directly on our website.

Both individuals and organizations that work with arXivLabs have embraced and accepted our values of openness, community, excellence, and user data privacy. arXiv is committed to these values and only works with partners that adhere to them.

Have an idea for a project that will add value for arXiv's community? Learn more about arXivLabs .

IMAGES

  1. (PDF) Case studies for software engineers

    case study examples for software engineering

  2. Case Study Research In Software Engineering: Guidelines And Examples

    case study examples for software engineering

  3. 49 Free Case Study Templates ( + Case Study Format Examples + )

    case study examples for software engineering

  4. Case Study

    case study examples for software engineering

  5. How to Make Engineering Case Study: Tips and Ways

    case study examples for software engineering

  6. PPT

    case study examples for software engineering

VIDEO

  1. Software Architecture Case Study Overview

  2. Design Case Study: Transforming the Enterprise Employee Experience

  3. Software Engineering RGPV Most Important Questions 🔥| Zeenat Hasan Academy

  4. Design Case Study: Disrupting Research with "Design with Us"

  5. Master Software Testing: Cracking the Code of Test Cases

  6. Developing use cases|software requirements|Software Engineering|Malayalam Tutorial

COMMENTS

  1. PDF Case Studies for Software Engineers

    Time Series Analysis. Ü The objective of time series analysis is to examine relevant "how" and "why" questions about the relationship of events over time. Ü Time series analysis can follow intricate patterns. Ü The more intricate the pattern, the firmer the foundation for conclusions of the case study.

  2. CASE STUDY RESEARCH IN SOFTWARE ENGINEERING

    This book will help both experienced and novice case study researchers improve their research methodology. The authors provide comprehensive examples of case study research they, and others, have conducted. They also critique the examples. This is very useful for researchers wanting to undertake case study research and will help them to avoid ...

  3. PDF Case Studies for Software Engineers

    Recognizing Case Studies 2. Designing Case Studies 3. Publishing Case Studies 4. Reviewing Case Studies Authorized licensed use limited to: IEEE Xplore. Downloaded on January 20, 2009 at 14:53 from IEEE Xplore. Restrictions apply.

  4. PDF Tutorial F2 Case Studies for Software Engineers

    Session 1: Recognising Case Studies. 9:00-9:30 Empirical Methods in SE. 9:30-9:45 Basic Elements of a case study 9:45-10:30 Exercise: Read and Discuss Published Case studies. 10:30-11:00 Coffee break. Session 2: Designing Case Studies I. 11:00-11:30 Theory Building 11:30-11:45 Exercise: Identifying theories in SE.

  5. Case Study Research in Software Engineering: Guidelines and Examples

    Based on their own experiences of in-depth case studies of software projects in international corporations, in this bookthe authors present detailed practical guidelines on the preparation, conduct, design and reporting of case studies of software engineering. This is the first software engineering specific book on thecase study research method.

  6. Case Study Research in Software Engineering

    Based on their own experiences of in-depth case studies of software projects in international corporations, in this book the authors present detailed practical guidelines on the preparation, conduct, design and reporting of case studies of software engineering. This is the first software engineering specific book on the case study research method.

  7. Case Study Research in Software Engineering: Guidelines and Examples

    Get Case Study Research in Software Engineering: Guidelines and Examples now with the O'Reilly learning platform. O'Reilly members experience books, live events, courses curated by job role, and more from O'Reilly and nearly 200 top publishers.

  8. Case Study Research in Software Engineering: Guidelines and Examples

    CHAPTER 3 DESIGN OF THE CASE STUDY 3.1 INTRODUCTION. Software engineering case studies examine software engineering phenomena in their real-life settings and it is because the phenomena and setting will change during the study that such case studies require a flexible design, in contrast to for example the fixed designs of classic experiments.

  9. PDF Case Studies for Software Engineers

    Abstract. The topic of this full-day tutorial was the correct use and interpretation of case studies as an empirical research method. Using an equal blend of lecture and discussion, it gave attendees a foundation for conducting, reviewing, and reading case studies. There were lessons for software engineers as researchers who conduct and report ...

  10. (PDF) Case studies for software engineers

    The case study is a popular evaluation method in software engineering research. Case studies are frequently used in papers to demonstrate the capabilities of new techniques and methods [122] .

  11. PDF Case Study Research in Software Engineering

    8.6 Case Studies and Software Process Improvement 123 8.7 Conclusion 125 PART II EXAMPLES OF CASE STUDIES 9 INTRODUCTION TO CASE STUDY EXAMPLES 129 9.1 Introduction 129 10 CASE STUDY OF EXTREME PROGRAMMING IN A STAGE-GATE CONTEXT 133 10.1 Introduction 133 10.1.1 Methodological Status 133 10.2 Case Study Design 134 10.2.1 Rationale 134 10.2.2 ...

  12. PDF Tutorial: Case Studies in Software Engineering

    in software engineering. The term "case study" appears every now and then in the title of software engineer-ing research papers. However, the presented studies range from very ambitious and well organized studies in the field, to small toy examples that claim to be case studies. However, case studies which are conducted and reported as ...

  13. PDF Tutorial F2 Case Studies for Software Engineers

    6. Part 1: Study Questions. Study design always starts with research questions. Clarify precisely the nature of the research question. Ensure the questions can be answered with a case study. Generally, should be "how" and "why" questions. Identify and interpret the relevant theoretical constructs. Examples:

  14. Case Study Research in Software Engineering—It is a Case, and it is a

    1. Introduction. Case studies are common in software engineering, and guidelines have been provided, for example, byRuneson et al. [1].They based their definition of case study on definitions from other areas including the definitions byYin [2], Benbasat et al. [3] andRobson [4].Runeson et al. [1] define a case study as follows within software engineering - "Case study in software ...

  15. Case Study Research in Software Engineering: Guidelines and Examples

    Based on their own experiences of in-depth case studies of software projects in international corporations, in this book the authors present detailed practical guidelines on the preparation, conduct, design and reporting of case studies of software engineering. This is the first software engineering specific book on the case study research method.

  16. Case Study Research in Software Engineering -- Guidelines and Examples

    In software engineering, such as testing, projects use a single case study [14,58, 59]. Stol and Fitzgerald [77] agreed on the fact that a single case study can be used to provide in-depth details ...

  17. PDF Guidelines for conducting and reporting case study research in software

    of the principles should be applied". We do neither assess the current status of case study research in software engineering. This is worth a study on its own, similar to the systematic review on experiments by Sjøberg et al. (2005). Further, examples are used both to illustrate good practices and lack thereof. This paper is outlined as follows.

  18. DevOps in Action: Real-world Case Studies

    Case Study 1: Accelerating Software Delivery with Continuous Integration. ... Real World Examples. Devops Success. Automation---- ... The resume that got a software engineer a $300,000 job at Google.

  19. Computer Aided Software Engineering (CASE)

    Computer-aided software engineering (CASE) is the implementation of computer-facilitated tools and methods in software development. CASE is used to ensure high-quality and defect-free software. CASE ensures a check-pointed and disciplined approach and helps designers, developers, testers, managers, and others to see the project milestones during development.

  20. PDF CS 5150 Software Engineering 7. Scenarios and Use Cases

    Scenarios. are a tool for requirements analysis. They are useful to validate use cases and in checking the design of a system. They can be used as test cases for acceptance testing. Use cases are a tool for modeling requirements. A set of use cases can provide a framework for the requirements specification.

  21. Case study research in software engineering : guidelines and examples

    Publisher's summary. Based on their own experiences of in-depth case studies of software projects in international corporations, in this bookthe authors present detailed practical guidelines on the preparation, conduct, design and reporting of case studies of software engineering. This is the first software engineering specific book on thecase ...

  22. Software Development Life Cycle (Case Study)

    Agile Software Development Life Cycle (SDLC), is the process for doing exactly that - planning, developing, testing, and deploying information systems. The benefit of agile SDLC is that project managers can omit, split, or mix certain steps depending on the project's scope while maintaining the efficiency of the development process and the ...

  23. [2409.07829] Enabling Cost-Effective UI Automation Testing with

    UI automation tests play a crucial role in ensuring the quality of mobile applications. Despite the growing popularity of machine learning techniques to generate these tests, they still face several challenges, such as the mismatch of UI elements. The recent advances in Large Language Models (LLMs) have addressed these issues by leveraging their semantic understanding capabilities. However, a ...

  24. Competency-based assessment tools for engineering higher education: a

    The courses, part of the same institution's Industrial Engineering and Mechanical Engineering programs, served as experimentation units for this study. Specifically, 'IN2017 Facility Design and Materials Handling' and 'M2002B Mechanical Engineering Design of Products Subjected to Static Charges' were chosen to test the methodology pre ...

  25. PDF Case Studies for Software Engineers

    Case Studies. "A technique for detailed exploratory investigations, both prospectively and retrospectively, that attempt to understand and explain phenomenon or test theories, using primarily qualitative analysis". good for. Answering detailed how and why questions. Gaining deep insights into chains of cause and effect.

  26. Electrical Resistivity Tomography study above inaccessible old mine

    Old and abandoned mine workings become inaccessible with time owing to safety issues thereby demanding insight review of strata overlying such areas. Electrical Resistivity Tomography (ERT) survey was carried out at locations within Kajora area of Eastern Coalfield Limited (ECL) in Raniganj coalfield, India to assess the present strata condition for the proposed high voltage electric ...