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.
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 ScholarDigital Library
- Pierre, B., and Richard, E. F. 2014. Software Engineering -Body of Knowledge. DOI:https://doi.org/10.1234/12345678Google Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- Daniel, R., James, P. W., Daniel T. J. 1990. The Machine That Changed the World. Free Press.Google Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- Taiichi, O. 1988. The Toyota Production System: Beyond Large-Scale Production. Productivity Press. Retrieved from https://www.lean.org/BookStore/ProductDetails.cfm?SelectedProductId=55Google Scholar
- 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 Scholar
- 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 Scholar
- Mary, P., and Tom, P. 2003. Lean Software Development: An Agile Toolkit. DOI:https://doi.org/10.1109/MC.2003.1220585Google Scholar
- Mary, P., and Tom, P. 2006. Implementing Lean Software Development: From Concept to Cash. Addison-Wesley Signat. Ser. (2006), 304.Google Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- Peter, C. R., and Christian, B. 2013. Convergent Contemporary Software Peer Review Practices Categories and Subject Descriptors.ESEC/FSE, 202--212.Google Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
Index Terms
- Software Engineering Wastes - A Perspective of Modern Code Review
Recommendations
Software Engineering Aspects of Green and Sustainable Software: A Systematic Mapping Study
ISEC '17: Proceedings of the 10th Innovations in Software Engineering ConferenceGreen and sustainable software engineering is an emerging research field which aims at creating, using, and disposing the energy-efficient software in an environment friendly manner with less negative impacts. The research community strongly believes ...
Comments