Nothing Special   »   [go: up one dir, main page]

skip to main content
10.1145/3378936.3378953acmotherconferencesArticle/Chapter ViewAbstractPublication PagesicsimConference Proceedingsconference-collections
research-article

Software Engineering Wastes - A Perspective of Modern Code Review

Published: 07 March 2020 Publication History

Abstract

Identification and eradication of waste are the principal emphases of lean thinking. Waste is defined as any activity that consumes resources but does not deliver any value to the stakeholder and it can also be demarcated as an impediment to process flow. Lean thinking has been applied in the software engineering domain concerning overall software development, however, still, there is a need to take action regarding waste identification and elimination concerning specific software engineering activities. This paper describes the wastes generated during Modern Code Review (MCR). MCR is a socio-technical software engineering activity and acknowledged as a lightweight process for defect identification, code improvement and software quality enhancement. It involves coordination and communication among multiple software engineers having different personalities, preferences, and technical skills, thus it can generate multiple types of wastes. Therefore, the study has two objectives that are to recognize and report various wastes generated during MCR and to map the identified MCR wastes on the existing software engineering wastes. Systematic Literature Review and grounded theory has been utilized to recognize and produce a unique list of the waste generated during MCR. The identified unique list of MCR wastes and their mapping on existing software engineering wastes are validated through software engineering experts. The study findings report 28 unique wastes out of which 25 wastes map to the existing software engineering wastes. However, 3 wastes such as negative emotions, inequality/biasness and insignificant feedback are not reported in the existing software engineering literature. The study will be useful for researchers to identify the wastes in same context or for other software engineering activities and to provide the strategies to minimize the generation of identified wastes.

References

[1]
Hiva, A., Tony, G., and Richard, B.S. 2019. An exploratory study of waste in software development organizations using agile or lean approaches: A multiple case study at 14 organizations. Inf. Softw. Technol. 105, August 2018 (2019), 78--94.
[2]
Foundjem, A., Foutse, K., and Bram, A. 2017. Broadcast vs. Unicast Review Technology: Does It Matter? In in Proc. 10th IEEE International Conference on Software Testing, Verification and Validation, 219--229.
[3]
Bm, A. 2001. A practical guide on conducting expert-opinion elicitation of probabilities and consequences for corps facilities. Inst. Water Resour. Alexandria, VA, USA January (2001).
[4]
Alberto, B., and Christian, B. 2013. Expectations, outcomes, and challenges of modern code review. In Proc. International Conference on Software Engineering, 712--721.
[5]
Tobias, B., Fabian, K., Kurt, S., Arthur, B., and Jens, S. 2017. Comparing pre-commit reviews and post-commit reviews using process simulation. J. Softw. Evol. Process 29, 11 (2017), 1--15.
[6]
Tobias, B., Olga, L., Kai, N., and Kurt, S. 2016. Factors influencing code review processes in industry. Proc. 2016 24th ACM SIGSOFT Int. Symp. Found. Softw. Eng. - FSE 2016 (2016), 85--96.
[7]
Amiangshu, B., Jeffrey, C. C., Christian, B., Jonathan, O., and Christopher, C. 2017. Process Aspects and Social Dynamics of Contemporary Code Review: Insights from Open Source Development and Industrial Practice at Microsoft. IEEE Trans. Softw. Eng. 43, 1 (2017), 56--75.
[8]
Pierre, B., and Richard, E. F. 2014. Software Engineering -Body of Knowledge.
[9]
Lykes, C., and Francisco, St. 2018. Understanding and Leveraging Developer Inexpertise. Proc. 40th Int. Conf. Softw. Eng. Companion Proceeedings (2018), 404--405.
[10]
Dr. Jeffrey, K. L. 2004. Toyota Way: 14 Management Principles from the World's Greatest Manufacturer. McGraw-Hill Education, New York. Retrieved from https://www.accessengineeringlibrary.com/browse/toyota-way-14-management-principles-from-the-worlds-greatest-manufacturer#fullDetails
[11]
Felipe, E., Fernando, C., Nicole, N., and Alexander, S. 2017. Confusion detection in code reviews. In Proc. IEEE International Conference on Software Maintenance and Evolution, 549--553.
[12]
Felipe, E., Fernando, C., Nicole, N., and Alexander, S. 2018. Communicative Intention in Code Review Questions. (2018).
[13]
Felipe, E., Fernando, C., Nicole, N., and Alexander, S. 2019. Confusion in Code Reviews: Reasons, Impacts, and Coping Strategies. SANER 2019 - Proc. 2019 IEEE 26th Int. Conf. Softw. Anal. Evol. Reengineering (2019), 49--60.
[14]
Michael, E. F. 1999. Design and code inspections to reduce errors in program development. IBM Syst. J. 38, 2.3, 258--287.
[15]
Sarah, F. 2018. The Effect of Poor Source Code Lexicon and Readability on Developers's Cognitive Load. ICPC, 286--296.
[16]
Benjamin, F., Tyler, S., and Westley,. 2017. Decoding the Representation of Code in the Brain: An fMRI Study of Code Review and Expertise. In Proc. - IEEE/ACM 39th International Conference on Software Engineering, 175--186.
[17]
Daviti, G., Filippo, L., Nicole, N., and Alexander, S. 2017. Anger and its direction in collaborative software development. Proc.- 2017 IEEE/ACM 39th Int. Conf. Softw. Eng. New Ideas Emerg. Results Track (2017), 11--14.
[18]
Daniel, M. G., Universidad Rey, and Juan Carlos. 2018. " Was my contribution fairly reviewed?" A Framework to Study the Perception of Fairness in Modern Code Reviews. ACM/IEEE 40th International Conference on Software Engineering Synthesizing, 523--534.
[19]
Georgios, G., Margaret-Anne, S., and Alberto, B. 2016. Work practices and challenges in pull-based development. In Proc. 38th International Conference on Software Engineering, 285--296.
[20]
Marko, I., Petri, K., Nilay, O., and Pekka, A. 2010. Exploring the sources of waste in Kanban software development projects. In Proc. - 36th EUROMICRO Conference on Software Engineering and Advanced Applications, 376--381.
[21]
Daniel, R., James, P. W., Daniel T. J. 1990. The Machine That Changed the World. Free Press.
[22]
Yujuan, J., Bram, A., and Daniel, M. G. 2013. Will my patch make it? And how fast?: Case study on the linux kernel. In Proc. IEEE International Working Conference on Mining Software Repositories, 101--110.
[23]
Akshay, K., Matthew, C., Jing, S., and Sathiamoorthy, M. 2017. A Collaborative Code Review Platform for GitHub. In Proc. IEEE International Conference on Engineering of Complex Computer Systems, 191--196.
[24]
Jungil, K., and Eunjoo. L. 2018. Understanding review expertise of developers: A reviewer recommendation approach based on latent Dirichlet allocation. Symmetry (Basel). 10, 4 (2018), 5--7.
[25]
Barbara, K., and Stuart, C. 2007. Source: "Guidelines for performing Systematic Literature Reviews in SE", Kitchenham et al Guidelines for performing Systematic Literature Reviews in Software Engineering Source: " Guidelines for performing Systematic Literature Reviews 1--44.
[26]
Oleksii, K., Olga, B., and Michael, W. G. 2016. Code Review Quality: How Developers See It. International Conference on Software Engineering, 1028--1038.
[27]
Amanda, L., Jeffrey, C. C., and Amiangshu, B. 2017. Understanding the Impressions, Motivations, and Barriers of One Time Code Contributors to FLOSS Projects: A Survey. In in Proce. IEEE/ACM 39th International Conference on Software Engineering, 187
[28]
Andrew, L., Arthur, L., and Beryl, P. 2018. Comparing Sequential and Parallel Code Review Techniques for Formative Feedback. In Proc. 20th Australasian Computing Education Conference, 45--52.
[29]
Laura, M., Michaela, G., Margaret, A. S., Christian, B., and Jacek, C. 2017. Code Reviewing in the Trenches: Understanding Challenges and Best Practices. IEEE Softw.
[30]
Laura, M., Michaela, G., Margaret, A. S., Christian, B., and Jacek, C. 2018. Code Reviewing in the Trenches: Challenges and Best Practices. IEEE Softw. 35, 4 (2018), 34--42.
[31]
Jennifer, M., Laura, D., and Jim, H. 2013. Impression Formation in Online Peer Production: Activity Traces and Personal Profiles in GitHub. In Proc. 16th ACM Conference on Computer Supported Cooperative Work, 117--128.
[32]
Shahid, M., Robert, F., and Kai, P. 2010. Waste and lead time reduction in a software product customization process with value stream maps. Proc. Aust. Softw. Eng. Conf. ASWEC (2010), 139--148.
[33]
Taiichi, O. 1988. The Toyota Production System: Beyond Large-Scale Production. Productivity Press. Retrieved from https://www.lean.org/BookStore/ProductDetails.cfm?SelectedProductId=55
[34]
Marcus, V. P. P., Warren, S., and Eric, R. 2008. Understanding the waste net: A method for waste elimination prioritization in product development. Proc. DETC '08-55, 21 (2008), 1--9.
[35]
Kai, P. 2012. A palette of lean indicators to detect waste in software maintenance: A case study BT - 13th International Conference on Agile Software Development, XP 2012, May 21, 2012 - May 25, 2012. 111 LNBIP, Ieee 1219 (2012), 108--122.
[36]
Mary, P., and Tom, P. 2003. Lean Software Development: An Agile Toolkit.
[37]
Mary, P., and Tom, P. 2006. Implementing Lean Software Development: From Concept to Cash. Addison-Wesley Signat. Ser. (2006), 304.
[38]
Ken, P., and Kieran, C. 2014. Impediments to flow: Rethinking the lean concept of "waste" in modern software development BT- 15th International Conference on Agile Software Development, XP 2014, May 26, 2014 - May 30, 2014. 179 LNBIP, (2014), 203--217.
[39]
Mohammad, M. R., and Chanchal, K. R. 2017. Impact of continuous integration on code reviews. IEEE Int. Work. Conf. Min. Softw. Repos. (2017), 499--502.
[40]
Ram, A.; Sawant, A., Castelluccio, M. and Alberto B. 2018. What Makes a Code Change Easier to Review? An Empirical Investigation on Code Change Reviewability. ESEC/FSE.
[41]
Peter, C. R., Yue, C. Z., Samuel, M. D., and Audris, M. 2016. Quantifying and Mitigating Turnover-Induced Knowledge Loss: Case Studies of Chrome and a Project at Avaya. In Proc. IEEE/ACM 38th International Conference on Software Engineering, 1006--1016.
[42]
Peter, C. R., and Christian, B. 2013. Convergent Contemporary Software Peer Review Practices Categories and Subject Descriptors.ESEC/FSE, 202--212.
[43]
Caitlin, S., Emma, S., Luke, C., Michal, S., and Alberto, B. 2018. Modern code review:: A Case Study at Google. In Proc. ACM/IEEE 40th International Conference on Software Engineering: Software Engineering in Practice, 181--190.
[44]
Eduardo, W.S., and Ingrid, N. 2017. Investigating the Effectiveness of Peer Code Review in Distributed Software Development. In Proc. 31st Brazilian Symposium on Software Engineering, 84--93.
[45]
Todd, S. and Paul, R. 2017. Software Development Waste. In Proc. IEEE/ACM 39th International Conference on Software Engineering.
[46]
Junji, S., Yasutaka, K., Shane, M., Ahmed, E. H., and Naoyasu, U. 2016. A study of the quality-impacting practices of modern code review at Sony mobile. In Proc. 38th International Conference on Software Engineering Companion, 212--221.
[47]
Klaas, J. S., Paul, R., and Brian, F. 2016. Grounded theory in software engineering research., 120--131.
[48]
Christopher, T., and David, W. 2017. A Large-Scale Study of Modern Code Review and Security in Open Source Projects. Proc. 13th Int. Conf. Predict. Model. Data Anal. Softw. Eng. (2017), 83--92.
[49]
Juan, U., Rafael, M., Mauricio, M., and Dario, C. 2014. Archinotes: A global agile architecture design approach. Lect. Notes Bus. Inf. Process. 179 LNBIP, (2014), 302--311.

Cited By

View all
  • (2024)Development of Financial Management Application for Frutimart Business Operation Using Lean Software Development2024 International Conference on Data Science and Its Applications (ICoDSA)10.1109/ICoDSA62899.2024.10651964(445-450)Online publication date: 10-Jul-2024
  • (2024)Prioritizing code review requests to improve review efficiency: a simulation studyEmpirical Software Engineering10.1007/s10664-024-10575-030:1Online publication date: 12-Nov-2024
  • (2024)A preliminary investigation on using multi-task learning to predict change performance in code reviewsEmpirical Software Engineering10.1007/s10664-024-10526-929:6Online publication date: 28-Sep-2024
  • Show More Cited By

Index Terms

  1. Software Engineering Wastes - A Perspective of Modern Code Review

    Recommendations

    Comments

    Please enable JavaScript to view thecomments powered by Disqus.

    Information & Contributors

    Information

    Published In

    cover image ACM Other conferences
    ICSIM '20: Proceedings of the 3rd International Conference on Software Engineering and Information Management
    January 2020
    258 pages
    ISBN:9781450376907
    DOI:10.1145/3378936
    Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

    In-Cooperation

    • University of Science and Technology of China: University of Science and Technology of China

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 07 March 2020

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. Modern code review
    2. Software engineering wastes
    3. valueless activities
    4. work product

    Qualifiers

    • Research-article
    • Research
    • Refereed limited

    Conference

    ICSIM '20

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)25
    • Downloads (Last 6 weeks)1
    Reflects downloads up to 19 Nov 2024

    Other Metrics

    Citations

    Cited By

    View all
    • (2024)Development of Financial Management Application for Frutimart Business Operation Using Lean Software Development2024 International Conference on Data Science and Its Applications (ICoDSA)10.1109/ICoDSA62899.2024.10651964(445-450)Online publication date: 10-Jul-2024
    • (2024)Prioritizing code review requests to improve review efficiency: a simulation studyEmpirical Software Engineering10.1007/s10664-024-10575-030:1Online publication date: 12-Nov-2024
    • (2024)A preliminary investigation on using multi-task learning to predict change performance in code reviewsEmpirical Software Engineering10.1007/s10664-024-10526-929:6Online publication date: 28-Sep-2024
    • (2023)Evaluating Learning-to-Rank Models for Prioritizing Code Review Requests using Process Simulation2023 IEEE International Conference on Software Analysis, Evolution and Reengineering (SANER)10.1109/SANER56733.2023.00050(461-472)Online publication date: Mar-2023
    • (2023)Exploring Software Development Waste and Lean Approach in Green Perspective2023 International Conference on Electrical Engineering and Informatics (ICEEI)10.1109/ICEEI59426.2023.10346869(1-6)Online publication date: 10-Oct-2023
    • (2022)An industrial experience report on retro-inspectionProceedings of the 44th International Conference on Software Engineering: Software Engineering in Practice10.1145/3510457.3513055(43-52)Online publication date: 21-May-2022
    • (2022)An Industrial Experience Report on Retro-Inspection2022 IEEE/ACM 44th International Conference on Software Engineering: Software Engineering in Practice (ICSE-SEIP)10.1109/ICSE-SEIP55303.2022.9793980(43-52)Online publication date: May-2022
    • (2021)Survey on Pains and Best Practices of Code Review2021 28th Asia-Pacific Software Engineering Conference (APSEC)10.1109/APSEC53868.2021.00055(482-491)Online publication date: Dec-2021
    • (2021)Towards a taxonomy of code review smellsInformation and Software Technology10.1016/j.infsof.2021.106737(106737)Online publication date: Oct-2021

    View Options

    Login options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media