Projects Characteristics Determining Suitability of Software Development Process

Michel S. Soares, Joseph Barjis

2013

Abstract

Software development is a complex engineering activity that faces many challenges. In the last three decades, software projects frequently ran over time, cost over budget, and delivered less functionalities than promised. These challenges are dominantly caused by technical and management failures. One critical challenge is that project characteristics, such as the technical and management environment, are not well-known in advance. The preposition of this paper is that knowing the characteristics of a software project will have a positive effect on three indicators that are most important for stakeholders: costs, duration, and functionalities. This preposition is discussed and validated in relation to three sources: review of the literature, analysis of lessons-learned documents of completed software projects in industry, and interviews with practitioners. This research resulted in a list of characteristics (non-exhaustive) that should be taken into account during the initial phases of a software project development, which should increase likelihood of success.

References

  1. Abran, A., Bourque, P., Dupuis, R., Moore, J. W., and Tripp, L. L., editors (2004). Guide to the Software Engineering Body of Knowledge - SWEBOK. IEEE Press, Piscataway, NJ, USA, 2004 version edition.
  2. Baddoo, N. and Hall, T. (2002). Motivators of software process improvement: an analysis of practitioners' views. Journal of Systems and Software, 62(2):85-96.
  3. Bannerman, P. L. (2008). Risk and risk management in software projects: A reassessment. Journal of Systems and Software, 81(12):2118 - 2133.
  4. Bass, L., Clements, P., and Kazman, R. (2003). Software Architecture in Practice. Addison-Wesley Professional, Reading, MA, USA.
  5. Beck, K. and Andres, C. (2004). Extreme Programming Explained: Embrace Change (2nd Edition). AddisonWesley Professional.
  6. Berander, P. and Svahnberg, M. (2009). Evaluating Two Ways of Calculating Priorities in Requirements Hierarchies - An Experiment on Hierarchical Cumulative Voting. Journal of Systems and Software, 82(5):836 - 850.
  7. Berry, D. M. (2004). The Inevitable Pain of Software Development: Why There Is No Silver Bullet. In Radical Innovations of Software and Systems Engineering in the Future, Lecture Notes in Computer Science, pages 50-74.
  8. Birk, A., Dingsoyr, T., and Stalhane, T. (2002). Postmortem: never leave a project without it. Software, IEEE, 19(3):43-45.
  9. Boehm, B. and Beck, K. (2010). Perspectives. IEEE Software, 27:26-29.
  10. Boehm, B. W. and Ross, R. (1989). Theory-w software project management principles and examples. IEEE Trans. Softw. Eng., 15:902-916.
  11. Booch, G. (2007). The Economics of Architecture-First. IEEE Software,, 24(5):18-20.
  12. Bosch, J. (2000). Design and Use of Software Architectures: Adopting and Evolving a Product-Line Approach. ACM Press/Addison-Wesley Professional, New York, NY, USA.
  13. Brooks, F. P. (1987). No Silver Bullet: Essence and Accidents of Software Engineering. Computer,, 20(4):10- 19.
  14. Brooks, F. P. (1995). The Mythical Man-Month: Essays on Software Engineering. Addison-Wesley Professional, Boston, USA.
  15. Brown, A. W. and McDermid, J. A. (2007). The Art and Science of Software Architecture. International Journal of Cooperative Information Systems,, 16(3/4):439-466.
  16. Chrissis, M. B., Konrad, M., and Shrum, S. (2003). CMMI Guidlines for Process Integration and Product Improvement. Addison-Wesley Longman Publishing Co., Inc., Boston, MA, USA.
  17. Cicmil, S. and Hodgson, D. (2006). New Possibilities for Project Management Theory: a Critical Engagement. Project Management Journal, 37(3):111-122.
  18. Clarke, P. and OConnor, R. V. (2012). The Situational Factors that Affect the Software Development Process: Towards a Comprehensive Reference Framework. Information and Software Technology, 54(5):433-447.
  19. Cooper, K. and Ito, M. (2002). Formalizing a Structured Natural Language Requirements Specification Notation. In Proceedings of the International Council on Systems Engineering Symposium, volume CDROM index 1.6.2, pages 1-8, Las Vegas, Nevada, USA.
  20. Damian, D., Zowghi, D., Vaidyanathasamy, L., and Pal, Y. (2004). An Industrial Case Study of Immediate Benefits of Requirements Engineering Process Improvement at the Australian Center for Unisys Software. Empirical Software Engineering,, 9(1-2):45-75.
  21. de Boer, R. C. and van Vliet, H. (2009). Controversy Corner: On the Similarity Between Requirements and Architecture. Journal of Systems and Software, 82(3):544-550.
  22. Dulac, N. and Leveson, N. (2009). Incorporating safety risk in early system architecture trade studies. AIAA Journal of Spacecraft and Rockets, 46(2):430-437.
  23. Dyba°, T. and Dingsøyr, T. (2008). Empirical Studies of Agile Software Development: A Systematic Review. Inf. Softw. Technol., 50:833-859.
  24. Eckstein, J. and Baumeister, H., editors (2004). Extreme Programming and Agile Processes in Software Engineering, volume 3092 of Lecture Notes in Computer Science.
  25. Emam, K. E. and Koru, A. G. (2008). A replicated survey of it software project failures. IEEE Software, 25:84-90.
  26. Ewusi-Mensah, K. (2003). Software Development Failures. MIT Press, Cambridge, MA, USA.
  27. Glass, R. L. (1998). Software Runaways: Lessons Learned from Massive Software Project Failures. Prentice Hall PTR, Upper Saddle River, NJ, USA, 1st edition.
  28. Han, W.-M. and Huang, S.-J. (2007). An empirical analysis of risk components and performance on software projects. Journal of Systems and Software, 80(1):42 - 50.
  29. Hickey, A. M. and Davis, A. M. (2004). A unified model of requirements elicitation. J. Manage. Inf. Syst., 20:65- 84.
  30. Hofmann, H. F. and Lehner, F. (2001). Requirements engineering as a success factor in software projects. IEEE Software, 18:58-66.
  31. Humphrey, W. S. (1996). Using a defined and measured personal software process. IEEE Software, 13(3):77- 88.
  32. Jiang, J. J., Klein, G., and Discenza, R. (2002). Perception differences of software success: provider and user views of system metrics. Journal of Systems and Software, 63:17-27.
  33. Jorgensen, M. and Shepperd, M. (2007). A Systematic Review of Software Development Cost Estimation Studies. IEEE Trans. Softw. Eng., 33(1):33-53.
  34. Komi-Sirviö, S. and Tihinen, M. (2003). Great Challenges and Opportunities of Distributed Software Development - An Industrial Survey. In Proceedings of the Fifteenth International Conference on Software Engineering and Knowledge Engineering (SEKE'2003), pages 489-496.
  35. Kruchten, P., Obbink, H., and Stafford, J. (2006). The Past, Present, and Future for Software Architecture. IEEE Software, 23(2):22-30.
  36. Lee, G. and Xia, W. (2005). The Ability of Information Systems Development Project Teams to Respond to Business and Technology Changes: A Study of Flexibility Measures. European Journal of Information Systems, 14:75-92.
  37. Leveson, N. G. (2004). A systems-theoretic approach to safety in software-intensive systems. IEEE Trans. Dependable Secur. Comput., 1:66-86.
  38. Lewis, J. (2010). Project Planning, Scheduling, and Control: The Ultimate Hands-On Guide to Bringing Projects in On Time and On Budget. Mc-Graw-Hill, New York, NY, USA, 5 edition.
  39. Lilly, S. (1999). Use Case Pitfalls: Top 10 Problems from Real Projects Using Use Cases. In TOOLS 7899: Proceedings of the Technology of Object-Oriented Languages and Systems, pages 174-184, Washington, DC, USA. IEEE Computer Society.
  40. Linberg, K. R. (1999). Software developer perceptions about software project failure: a case study. Journal of Systems and Software, 49(2-3):177 - 192.
  41. Magazinius, A., Brjesson, S., and Feldt, R. (2012). Investigating Intentional Distortions in Software Cost Estimation An Exploratory Study. Journal of Systems and Software, 85(8):1770 - 1781.
  42. Medvidovic, N., Grünbacher, P., Egyed, A., and Boehm, B. W. (2003). Bridging Models Across the Software Lifecycle. Journal of Systems and Software, 68:199- 215.
  43. Miller, J. A., Ferrari, R., and Madhavji, N. H. (2010). An Exploratory Study of Architectural Effects on Requirements Decisions. Journal of Systems and Software, 83(12):2441 - 2455. TAIC PART 2009 - Testing: Academic and Industrial Conference - Practice And Research Techniques.
  44. Minor, O. and Armarego, J. (2005). Requirements Engineering: a Close Look at Industry Needs and Model Curricula. Australian Journal of Information Systems,, 13(1):192-208.
  45. Molkken, K. and Jrgensen, M. (2003). A review of surveys on software effort estimation. In Proceedings of the 2003 International Symposium on Empirical Software Engineering, ISESE 7803, pages 223-231, Washington, DC, USA. IEEE Computer Society.
  46. Nuseibeh, B. and Easterbrook, S. (2000). Requirements Engineering: a Roadmap. In ICSE 7800: Proceedings of the Conference on The Future of Software Engineering, pages 35-46, New York, NY, USA. ACM.
  47. Pich, M. T., Loch, C. H., and Meyer, A. D. (2002). On Uncertainty, Ambiguity, and Complexity in Project Management. Management Science, 48:1008-1023.
  48. Pino, F. J., García, F., and Piattini, M. (2008). Software process improvement in small and medium software enterprises: a systematic review. Software Quality Control, 16:237-261.
  49. Pressman, R. S. (2010). Software Engineering: A Practitioner's Approach. McGraw-Hill, Inc., New York, NY, USA.
  50. Reifer, D. J. (2001). Manager - Software Management's Seven Deadly Sins. IEEE Software, 18(2).
  51. Sauser, B. J., Reilly, R. R., and Shenhar, A. J. (2009). Why projects fail? how contingency theory can provide new insights - a comparative analysis of nasa's mars climate orbiter loss. International Journal of Project Management, 27(7):665 - 679.
  52. Soares, M. S. and Cioquetta, D. S. (2012). Analysis of Techniques for Documenting User Requirements. In 12th International Conference on Computational Science and Its Applications - ICCSA, volume 4, pages 16-28.
  53. Soares, M. S., Vrancken, J. L. M., and Verbraeck, A. (2011). User requirements modeling and analysis of software-intensive systems. Journal of Systems and Software, 84(2):328-339.
  54. Sommerville, I. (2010). Software Engineering. Addison Wesley, Essex, UK, 9 edition.
  55. Thomas, G. and Fernandez, W. (2008). Success in IT projects: A matter of definition? International Journal of Project Management, 26(7):733-742.
  56. Thomas, J. and Mullaly, M. (2007). Understanding the value of project management: first steps on an international investigation in search of value. Project Management Journal, 38(3):74-89.
  57. Walia, G. S. and Carver, J. C. (2009). A Systematic Literature Review to Identify and Classify Software Requirement Errors. Information and Software Technology, 51(7):1087 - 1109. Special Section: Software Engineering for Secure Systems - Software Engineering for Secure Systems.
  58. Ward, J. M. (2012). Information Systems Strategy: Quo Vadis? The Journal of Strategic Information Systems, 21(2):165-171.
  59. Wirth, N. (2008). A Brief History of Software Engineering. IEEE Annals of the History of Computing,, 30(3):32- 39.
  60. Yourdon, E. (1999). Death March: The Complete Software Developer's Guide to Surviving “Mission Impossible” Projects. Prentice Hall PTR, Upper Saddle River, NJ, USA, 1st edition.
  61. Zhang, L., Lee, M. K. O., Zhang, Z., and Banerjee, P. (2003). Critical success factors of enterprise resource planning systems implementation success in china. In Proceedings of the 36th Annual Hawaii International Conference on System Sciences (HICSS'03) - Track 8 - Volume 8, HICSS 7803, pages 236-242, Washington, DC, USA. IEEE Computer Society.
Download


Paper Citation


in Harvard Style

S. Soares M. and Barjis J. (2013). Projects Characteristics Determining Suitability of Software Development Process . In Proceedings of the 15th International Conference on Enterprise Information Systems - Volume 2: ICEIS, ISBN 978-989-8565-60-0, pages 118-125. DOI: 10.5220/0004419501180125


in Bibtex Style

@conference{iceis13,
author={Michel S. Soares and Joseph Barjis},
title={Projects Characteristics Determining Suitability of Software Development Process},
booktitle={Proceedings of the 15th International Conference on Enterprise Information Systems - Volume 2: ICEIS,},
year={2013},
pages={118-125},
publisher={SciTePress},
organization={INSTICC},
doi={10.5220/0004419501180125},
isbn={978-989-8565-60-0},
}


in EndNote Style

TY - CONF
JO - Proceedings of the 15th International Conference on Enterprise Information Systems - Volume 2: ICEIS,
TI - Projects Characteristics Determining Suitability of Software Development Process
SN - 978-989-8565-60-0
AU - S. Soares M.
AU - Barjis J.
PY - 2013
SP - 118
EP - 125
DO - 10.5220/0004419501180125