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

Software Engineering Wastes - A Perspective of Modern Code Review

Authors Info & Claims
Published:07 March 2020Publication 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. DOI:https://doi.org/10.1016/j.infsof.2018.08.006Google ScholarGoogle Scholar
  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. DOI:https://doi.org/10.1109/ICST.2017.27Google ScholarGoogle Scholar
  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).Google ScholarGoogle Scholar
  4. Alberto, B., and Christian, B. 2013. Expectations, outcomes, and challenges of modern code review. In Proc. International Conference on Software Engineering, 712--721. DOI:https://doi.org/10.1109/ICSE.2013.6606617Google ScholarGoogle Scholar
  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. DOI:https://doi.org/10.1002/smr.1865Google ScholarGoogle Scholar
  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. DOI:https://doi.org/10.1145/2950290.2950323Google ScholarGoogle Scholar
  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. DOI:https://doi.org/10.1109/TSE.2016.2576451Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Pierre, B., and Richard, E. F. 2014. Software Engineering -Body of Knowledge. DOI:https://doi.org/10.1234/12345678Google ScholarGoogle Scholar
  9. Lykes, C., and Francisco, St. 2018. Understanding and Leveraging Developer Inexpertise. Proc. 40th Int. Conf. Softw. Eng. Companion Proceeedings (2018), 404--405. DOI:https://doi.org/10.1145/3183440.3195029Google ScholarGoogle Scholar
  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#fullDetailsGoogle ScholarGoogle Scholar
  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.Google ScholarGoogle Scholar
  12. Felipe, E., Fernando, C., Nicole, N., and Alexander, S. 2018. Communicative Intention in Code Review Questions. (2018). DOI:https://doi.org/10.1136/jfprhc-2012-100335Google ScholarGoogle Scholar
  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. DOI:https://doi.org/10.1109/SANER.2019.8668024Google ScholarGoogle Scholar
  14. Michael, E. F. 1999. Design and code inspections to reduce errors in program development. IBM Syst. J. 38, 2.3, 258--287. DOI:https://doi.org/10.1147/sj.382.0258Google ScholarGoogle Scholar
  15. Sarah, F. 2018. The Effect of Poor Source Code Lexicon and Readability on Developers's Cognitive Load. ICPC, 286--296. DOI:https://doi.org/10.1145/3196321.3196347Google ScholarGoogle Scholar
  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. DOI:https://doi.org/10.1109/ICSE.2017.24Google ScholarGoogle Scholar
  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. DOI:https://doi.org/10.1109/ICSE-NIER.2017.18Google ScholarGoogle Scholar
  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.Google ScholarGoogle Scholar
  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. DOI:https://doi.org/10.1145/2884781.2884826Google ScholarGoogle Scholar
  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. DOI:https://doi.org/10.1109/SEAA.2010.40Google ScholarGoogle Scholar
  21. Daniel, R., James, P. W., Daniel T. J. 1990. The Machine That Changed the World. Free Press.Google ScholarGoogle Scholar
  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. DOI:https://doi.org/10.1109/MSR.2013.6624016Google ScholarGoogle Scholar
  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. DOI:https://doi.org/10.1109/ICECCS.2016.032Google ScholarGoogle Scholar
  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. DOI:https://doi.org/10.3390/sym10040114Google ScholarGoogle Scholar
  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. DOI:https://doi.org/10.1145/1134285.1134500Google ScholarGoogle Scholar
  26. Oleksii, K., Olga, B., and Michael, W. G. 2016. Code Review Quality: How Developers See It. International Conference on Software Engineering, 1028--1038. DOI:https://doi.org/10.1145/2884781.2884840197. DOI:https://doi.org/10.1109/ICSE.2017.25Google ScholarGoogle Scholar
  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, 187Google ScholarGoogle Scholar
  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. DOI:https://doi.org/10.1145/3160489.3160498Google ScholarGoogle Scholar
  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. DOI:https://doi.org/10.1109/MS.2017.265100500Google ScholarGoogle Scholar
  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. DOI:https://doi.org/10.1109/MS.2017.265100500Google ScholarGoogle Scholar
  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. DOI:https://doi.org/10.1145/2441776.2441792Google ScholarGoogle Scholar
  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. DOI:https://doi.org/10.1109/ASWEC.2010.37Google ScholarGoogle Scholar
  33. Taiichi, O. 1988. The Toyota Production System: Beyond Large-Scale Production. Productivity Press. Retrieved from https://www.lean.org/BookStore/ProductDetails.cfm?SelectedProductId=55Google ScholarGoogle Scholar
  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. DOI:https://doi.org/10.1007/978-1-84882-762-2_22Google ScholarGoogle Scholar
  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. DOI:https://doi.org/10.1007/978-3-642-30350-0_8Google ScholarGoogle Scholar
  36. Mary, P., and Tom, P. 2003. Lean Software Development: An Agile Toolkit. DOI:https://doi.org/10.1109/MC.2003.1220585Google ScholarGoogle Scholar
  37. Mary, P., and Tom, P. 2006. Implementing Lean Software Development: From Concept to Cash. Addison-Wesley Signat. Ser. (2006), 304.Google ScholarGoogle Scholar
  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. DOI:https://doi.org/10.1007/978-3-319-06862-6Google ScholarGoogle Scholar
  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. DOI:https://doi.org/10.1109/MSR.2017.39Google ScholarGoogle Scholar
  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. DOI:https://doi.org/10.5281/zenodo.1323659Google ScholarGoogle Scholar
  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. DOI:https://doi.org/10.1145/2884781.2884851Google ScholarGoogle Scholar
  42. Peter, C. R., and Christian, B. 2013. Convergent Contemporary Software Peer Review Practices Categories and Subject Descriptors.ESEC/FSE, 202--212.Google ScholarGoogle Scholar
  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. DOI:https://doi.org/10.1145/3183519.3183525Google ScholarGoogle Scholar
  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. DOI:https://doi.org/10.1145/3131151.3131161Google ScholarGoogle Scholar
  45. Todd, S. and Paul, R. 2017. Software Development Waste. In Proc. IEEE/ACM 39th International Conference on Software Engineering. DOI:https://doi.org/10.1109/ICSE.2017.20Google ScholarGoogle Scholar
  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. DOI:https://doi.org/10.1145/2889160.2889243Google ScholarGoogle Scholar
  47. Klaas, J. S., Paul, R., and Brian, F. 2016. Grounded theory in software engineering research., 120--131. DOI:https://doi.org/10.1145/2884781.2884833Google ScholarGoogle Scholar
  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. DOI:https://doi.org/10.1145/3127005.3127014Google ScholarGoogle Scholar
  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. DOI:https://doi.org/10.1007/978-3-319-06862-6Google ScholarGoogle Scholar

Index Terms

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

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in
    • 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

      Copyright © 2020 ACM

      Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 7 March 2020

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • research-article
      • Research
      • Refereed limited

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader