Advertisement

A Case Study on Teaching a Software Estimation Course

  • Marcelo JenkinsEmail author
  • Cristian Quesada-Lopez
Conference paper
Part of the Learning and Analytics in Intelligent Systems book series (LAIS, volume 7)

Abstract

This paper describes a case study in designing and implementing a graduate-level course on software project estimation. The course’s objective was to introduce modern project estimation theory and practice through the process of learning through experience and reflection. We describe the goals and purpose that guided the course’s design and summarize our experience from teaching it for the first time in the 2018 spring semester. Our case study shows that a graduate-level course on software estimation can introduce several size and effort estimation methods, and that there are some affordable tools that can be used in academia. At the end students rated well our course and all of them would recommend it to a friend.

Keywords

Software project estimation Software engineering education Experiential learning 

References

  1. 1.
    Bourque, P, Fairley, R.: SWEBOK Guide to the Software Engineering Body of Knowledge, Version 3.0, IEEE Computer Society (2014). www.swebok.org
  2. 2.
    Britto, R., Mendes, E., Borstler, J.: An empirical investigation on effort estimation in agile global software development. In: Proceedings ICGSE 2015, pp. 38–45 (2015)Google Scholar
  3. 3.
    Usman, M., Britto, R.: Effort estimation in co-located and globally distributed agile software development: a comparative study. In: IWSM-MENSURA (2016)Google Scholar
  4. 4.
    Abran, A.: Software Project Estimation: The Fundamentals for Providing High Quality Information to Decision Makers. Wiley, Hoboken (2015)Google Scholar
  5. 5.
    Garmus, D., Herron, D.: Function Point Analysis. Addison Wesley, Boston (2001)Google Scholar
  6. 6.
    Common Software Measurement International Consortium. The COSMIC Functional Size Measurement Method Version 3.0.1. Measurement Manual (2003)Google Scholar
  7. 7.
    Hill, P. (ed.): Practical Software Project Estimation. ISBSG (2011)Google Scholar
  8. 8.
    Jones, C.: Estimating Software Costs, 2nd edn. McGraw Hill, New York City (2007)Google Scholar
  9. 9.
    Jones, C.: Applied Software Measurement, 3rd edn. McGraw Hill, New York City (2008)Google Scholar
  10. 10.
    Vera, T., Ochoa, S.F., Perovich, D.: Understanding the Software Development Effort Estimation in Chilean Small Enterprises, TR_DCC-20180320-001 (2018)Google Scholar
  11. 11.
    Vera, T., Ochoa, S. Perovich, D.: Survey of Software Development Effort Estimation Taxonomies, TR_DCC-20180320-002, March 2018. https://www.dcc.uchile.cl/TR/2018/TR_DCC-20180320-002.pdf
  12. 12.
    Trendowicz, A., Jeffery, R.: Software Project Effort Estimation. Springer, Heidelberg (2014)CrossRefGoogle Scholar
  13. 13.
    ISO: Information technology–Software measurement–Functional size measurement. Part 1: Definition of concepts. International Standard ISO/IEC 14143-1, Geneva, CH (2007)Google Scholar
  14. 14.
    ISO: ISO/IEC 20926:2009 Software and systems engineering-Software measurement-IFPUG functional size measurement method, Geneva, CH (2009)Google Scholar
  15. 15.
    ISO: ISO/IEC 19761:2011 Software engineering-COSMIC: a functional size measurement method, Geneva, CH (2011)Google Scholar
  16. 16.
    Abrahão, S.M.: On the Functional Size Measurement of Object-Oriented Conceptual Schemas: Design and Evaluation Issues. Universidad Politecnica de Valencia, Spain (2004)Google Scholar
  17. 17.
    Molokken, K., Jorgensen, M.: A review of software surveys on software effort estimation. In: ISESE (2003)Google Scholar
  18. 18.
    Jorgensen, M., Boehm, B., Rifkin, S.: Software development effort estimation: formal models or expert judgment? IEEE Softw. 26(2), 14–19 (2009)CrossRefGoogle Scholar
  19. 19.
    Jorgensen, M., Shepperd, M.: A systematic review of software development cost estimation studies. IEEE Trans. Softw. Eng. 33(1), 33–53 (2007)CrossRefGoogle Scholar
  20. 20.
    Beard, C.: The Experiential Learning Toolkit: Blending Practice with Concepts. Kogan Page, London (2010)Google Scholar
  21. 21.
    Rombach, D., Münch, J., Ocampo, A., Humphrey, W.S., Burton, D.: Teaching disciplined software development. J. Syst. Softw. 81(5), 747–763 (2008)CrossRefGoogle Scholar
  22. 22.
    Wohlin, C., Runeson, P., Höst, M., Ohlsson, M.C., Regnell, B., Wesslén, A.: Experimentation in Software Engineering. Springer, Heidelberg (2012)CrossRefGoogle Scholar
  23. 23.
    Kolb, A., Kolb, D.: Experiential learning theory: a dynamic, holistic approach to management learning, education and development. In: The SAGE Handbook of Management Learning, Education and Development, 42–68 (2009)Google Scholar
  24. 24.
    Lewis, L.H., Williams, C.J.: Experiential learning: past and present. New Dir. Adult Contin. Educ. 1994(62), 5–16 (1994)CrossRefGoogle Scholar
  25. 25.
    Heredia, A., Colomo-Palacios, R., Amescua-Seco, A.: A systematic mapping study on software process education. In: SPETP@ SPICE (2015)Google Scholar
  26. 26.
    Soubra, H., Abran, A., Ramdane-Cherif, A.: Verifying the accuracy of automation tools for the measurement of software with COSMIC–ISO 19761 including an AUTOSAR-based example and a case study. In: IWSM-MENSURA (2014)Google Scholar
  27. 27.
    Hayes, W., Over, J.W.: The Personal Software Processs (PSP): An Empirical Study of the Impact of PSP on Individual Engineers. CMU/SEI-97-TR-001Google Scholar
  28. 28.
    Wesslen, A.: A replicated empirical study of the impact of the methods in the PSP on individual engineers. Empir. Softw. Eng. 5(2), 93–123 (2000)CrossRefGoogle Scholar
  29. 29.
    Hilburn, T.B., Humphrey, W.: Teaching teamwork. IEEE Softw. 19(5), (2002). Sep/OctGoogle Scholar
  30. 30.
    Mahnic, V.: A capstone course on agile software development using scrum. IEEE Trans. Educ. 55(1), 99–106 (2012)CrossRefGoogle Scholar
  31. 31.
    Pfahl, D., Koval, N., Ruhe, G.: An experiment for evaluating the effectiveness of using a system dynamics simulation model in software project management education. In: Proceedings of the 3rd Process Simulation Modeling Workshop (ProSim 2000), London, United Kingdom (2000)Google Scholar
  32. 32.
    Pfahl, D., Laitenberger, O., Ruhe, G., Dorsch, J., Krivobokova, T.: Evaluating the learning effectiveness of using simulations in software project management education: results from a twice replicated experiment. Inf. Softw. Technol. 46, 127–147 (2004)CrossRefGoogle Scholar
  33. 33.
    Jørgensen, M., Gruschke, T.M.: The impact of lessons-learned sessions on effort estimation and uncertainty assessments. IEEE Trans. Softw. Eng. 35, 368–383 (2009)CrossRefGoogle Scholar
  34. 34.
    Rosencrance, L.: Poor Communication Causes Most IT Project Failures, Computerworld (2007)Google Scholar
  35. 35.
    Dagnino, A.: Increasing the effectiveness of teaching software engineering: a university and industry partnership. In: IEEE 27th Conference on Software Engineering Education and Training (CSEE&T), pp. 49–54 (2014)Google Scholar
  36. 36.
    Hayes, J.H.: Energizing software engineering education through real-world projects as experimental studies. In: Proceedings of the 15th Conference on Software Engineering Education and Training (CSEET’02)Google Scholar
  37. 37.
    Rong, G., Zhang, H., Xie, M., Shao D.: Improving PSP education by pairing: an empirical study. In: Proceedings ICSE 2012, pp. 1245–1254 (2012)Google Scholar
  38. 38.
    Ceberio-Verghese, A.Ch.: Personal software process: a user’s perspective. In: Proceedings CSEE 1996 (1996).  https://doi.org/10.1109/csee.1996.491362
  39. 39.
    Paynter, J.: Project estimation using screenflow engineering. In: International Conference on Software Engineering: Education and Practice, Dunedin, New Zealand (1996)Google Scholar
  40. 40.
    Pillai, S.P., Madhukumar, S.D., Radharamanan, T.: Consolidating evidence based studies in software cost/effort estimation—a tertiary study. In: TENCON 2017 - 2017 IEEE Region 10 Conference, Penang, pp. 833–838 (2017).  https://doi.org/10.1109/tencon.2017.8227974
  41. 41.
    Garcia, R.E., Correia, R.C.M., Olivete, C., Brandi, A.C., Prates, J.M.: Teaching and learning software project management: a hands-on approach. In: 2015 IEEE Frontiers in Education Conference (FIE), El Paso, TX, pp. 1–7 (2015)Google Scholar
  42. 42.
    Frailey, D.J.: Experience teaching Barry Boehm’s techniques in industrial and academic settings. In: 19th Conference on Software Engineering Education & Training (CSEET 2006), Turtle Bay, HI, pp. 219–225 (2006).  https://doi.org/10.1109/cseet.2006.19
  43. 43.
    Sussy, B.O., Calvo-Manzano, J.A., Gonzalo, C. Tomás, S.F.: Teaching team software process in graduate courses to increase productivity and improve software quality. In: COMPSAC 2008, pp. 440–446 (2008).  https://doi.org/10.1109/compsac.2008.135
  44. 44.
    Barry, E.F., Norris, C.: Work in progress - project ClockIt: profiling and improving student software development practices. In: Proceedings FIE (2005).  https://doi.org/10.1109/fie.2005.1612180
  45. 45.
    Norris, C., Barry, F., Fenwick, Jr. J.B., Reid, K., Rountree, J.: ClockIt: collecting quantitative data on how beginning software developers really work. In: Proceedings ITiCSE 2008. ACM, New York, pp. 37–41 (2008).  https://doi.org/10.1145/1384271.1384284
  46. 46.
    Laird, L.M., Yang, Y.: Engaging software estimation education using LEGOs: a case study. In: 2016 IEEE/ACM 38th International Conference on Software Engineering Companion (ICSE-C), Austin, TX, pp. 511–517 (2016)Google Scholar
  47. 47.
    Quesada-López, C., Jenkins, M.: Estudio sobre las prácticas de la ingeniería de software en Costa Rica: Resultados preliminares, CIbSE (2017). http://hdl.handle.net/10669/77110
  48. 48.
    Ecar, M., Kepler, F., da Silva, J.P.S.: Cosmic user story standard. In: 19th International Conference on Agile Software Development, LNBIP 314, pp. 3–18, (2018).  https://doi.org/10.1007/978-3-319-91602-6_1Google Scholar

Copyright information

© Springer Nature Switzerland AG 2020

Authors and Affiliations

  1. 1.University of Costa RicaSan PedroCosta Rica

Personalised recommendations