DOI QR코드

DOI QR Code

동시개발 소프트웨어 프로세스 모델

Concurrent Software Development Process Model

  • 최명복 (강릉원주대학교 멀티미디어공학과) ;
  • 이상운 (강릉원주대학교 멀티미디어공학과)
  • 투고 : 2011.03.13
  • 심사 : 2011.08.12
  • 발행 : 2011.08.31

초록

소프트웨어 프로젝트를 개발하는 방법론에는 20여 가지의 개발 프로세스 모델들이 존재한다. 그러나 모든 소프트웨어의 특성을 만족시킬 수 있는 일반화된 하나의 모델이 없는 실정으로 개발조직은 여러 모델들을 적절히 혼합하여 개발될 시스템과 개발팀의 능력에 맞도록 새로운 모델을 개발하여야만 한다. 본 논문에서는 다양한 소프트웨어 개발 상황에 보다 적합할 것으로 판단되는 동시개발 프로세스 모델을 제안한다. 먼저, 개발 요구사항 목록들이 작성되면, 요구사항을 중요도에 따라 20:80 비율로 분할하고, 중요한 20% 요구사항의 요구사항 분석과 아키텍쳐 설계가 완료될 때까지는 순차적으로 수행한다. 20%의 중요 요구사항에 대해 상세설계를 시작하는 시점에서 나머지 80%의 요구사항에 대한 요구사항 분석단계를 동시에 수행하는 개념이다. 동시개발은 타임박스(Timebox) 개념으로 수행되며, 이때 적용되는 순차적, 반복적 & 점진적 또는 Agile 방법들에 따라 각 타임박스에서 개발되는 요구사항의 분할 비율은 차이가 발생한다. 순차적, 반복적 & 점진적 또는 Agile 방법론을 동시개발 개념을 적용한 결과 단일화된 프로세스 모델로 표현할 수 있었다. 제안된 모델은 개발 단계들을 팀 단위로 수행할 경우 개발자원 활용의 비효율성을 크게 줄일 수 있다. 또한, 동시개발 개념을 적용하여 단계들이 중첩되어 수행되므로 개발기간도 크게 단축시키는 장점이 있다. 따라서 제안된 모델은 보다 빠른 시간에 보다 저렴한 비용으로 보다 좋은 품질의 소프트웨어를 개발하여 고객에게 납품할 수 있어 고객을 만족도를 향상시킬 수 있으며, 더불어 소프트웨어 개발 성공률을 높이는데도 기여할 것으로 판단된다.

Though a dozen of different software life cycle models are suggested, there is no universal model which can satisfy all the characteristics of software. Organizations mix and match different life cycle models to develop a model more tailored for their systems and capabilities. We suggest overlapped-concurrent development life cycle model that is more suitable in various software development environment. Firstly, we divided the development process into abstract and implementation stage. Abstract stage is from software concept phase to detailed design starting time, and implementation stage is from detailed design phase to system testing phase. Next, the abstract stage introduced the overlapped phase concept that begins the next phase when the step is completed 20% by applying pareto's law. In the implementation stage, we introduced the concurrent development which the several phases are performed some time as when one use-case (UC) is completed the next development phase is started immediately. The proposed model has an advantage that it can reduce the inefficiency of development resource greatly. This model can increase the customer satisfaction with a great product at a low cost and on a short schedule. Also, this model can contribute to increase the software development success rate.

키워드

참고문헌

  1. J. Marasco, "The Project Pyramid," The Rational Edge E-zine on-line magazine, http://www-128.ibm.com/developerworks/rational/library/4291.html, 2004.
  2. M. Fowler, "The New Methodology," Thought-Works, 2005.
  3. B. Lewis, "The 70-Percent Failure," Infoworld. http://archive. infoworld.com/articles/op/xml/01/10/29/011029/opservival.html, 2003.
  4. K. Curran, "Project Management: Project Lifecycle Plannin, "http://www.infm.ulst.ac.uk/kevin/com820/week3.ppt, University of Ulster, Magee Collage, N. Ireland, 2005.
  5. T. Sloan, "Development Models," http://www.nesc.ac.uk/talks/Wodsmes/day3/dev-models.pdf, National e-Science Centre, 2002.
  6. N. B. Priyanto, "Software Project Management: Planning," Computer Science at University of Indonesia, 2005.
  7. J. F. Dooley, "Life Cycle Models," http://deptorg.knox.edu/CS322/322PDFLectures/L2LifeCycle.pdf, KNOX College, 2005.
  8. D. F. Rico, "Using Cost Benefit Analysis to Development Software Process Improvement (SPI) Strategies, http://www.dacs.dtic.mil/techs/RICO/2-6cycles.shtml
  9. M. Lindvall and I. Rus, "Process Diversity in Software Development," IEEE Software, Vol. 17, No. 4, pp. 14-18, 2000. https://doi.org/10.1109/MS.2000.854063
  10. Java.net, "What Term Best Describes Your Software Development Process?," http://java.net/pub/pg/94, 1994.
  11. J. Mohr, "The Software Life Cycle," http://www.augustana.ab.ca/mohrj/courses/2005.fall/csc220/, Augustana Faculty, University of Alberta, Canada, 2005.
  12. C. Wallin and R. Land, "Software Development Lifecycle Models: The Basic Types," Research Methodology for Computer Science and Engineering, 2001.
  13. J. J. Kuhl, "Project Lifecycle Models: How They Differ and When to Use Them," Business eSolution, http://www.business-esolutions.com/islm.htm, 2002.
  14. S. Huitsing, "Lifecycle Models," http://faculty.washington.edu/sharonh0/UW-HIA421/,UW Computing & Communications, 2001.
  15. S. Cohen, "Software Life Cycles," Electrical & Computer Engineering, University of Pittsburgh, http://j7.ee.pitt.edu, 2005.
  16. R. Lewallen, "Software Development Life Cycles Model," http://codebetter.com/blogs/raymond.lewallen/archive/2005/07/13/129114.aspx, 2005.
  17. M. Lines, J. Bames, J. Holmes, and S. W. Ambler, "Agile RUP: Experiences From The Trenches," http://www.ibm.com/developerworks/library/edge/feb08/lines_bames_holms_ambler/index.html, The Rational Edge, 2008.
  18. P. Jalote, A. Palit, and P. Kurien, "The Timeboxing Process Model for Iterative Software Development," http://www.cse.iitk.ac.in/jalote/papers/Time.boxingChap.pdf, 2005.
  19. A. Crain, "Overlapping Iterations in a RUP -based Projects," http://www-106.ibm.com/developerworks/rational/library/may05/crain/, The Rational Edge, 2005.
  20. E. Dijkstra, "The Humble Programmer," Communications of the ACM, 1972.
  21. Standish group, "The CHAOS Report," http://www.standishgroup.com/sample/PDFpages/chaos1994.pdf, 1994.
  22. E. Kazmierezak, "Requirements Engineering, " The University of Melbourne, 2003.
  23. M. Fowler, "Is Design Dead?," Thoughtworks, 2004.
  24. B. Kaehms, "80/20 Rule in Software Development," http://www.mnl.com/ourideas/opensource/8020_rule_in_software_developm_1.php, Media NetLink, Inc., 2008.
  25. R. Kalaver, "Prioritizing For Success; Living, Breathing 80-20,"http://stealthemode.wordpress.com/2007/11/11/living-breathing-80-20/,wordpress.com, 2007.
  26. P. Schiller, "The Critical, The Few, The Vital, But Not Necessarily The Only," http://www.leader2leaders.com/80-20, Leader2leaders, 2000.
  27. P. Clair, "Evaluating and Managing Software Requirement Risk," Soutwest Research Institute, 2004.
  28. B. Kaehms, "80/20 Rule in Software Development," Media Net Link, Inc., 2008.
  29. A. B. Pyster and R. H. Thayer, "Software Engineering Project Management 20 Years Later," IEEE Computer Society, 2005.
  30. W. Bock, "The Five Ps of Leadership," megastarmedia.com, 2003.
  31. Shmula.com, "The Pareto Principle," http://www.shmula.com/129/the-pareto-principle, 2006.
  32. J. Zhuk, "Integration-Ready Architecture and Design," Cambridge University Press, 2004.
  33. Envision Software, "Methodology," http://www.envisionsoftware.com/MethodologyOverview.html, Envision Software, 2005.
  34. Royce, "Managing the development of large software systems: concepts and techniques," Proceedings of the 9th international conference on Software Engineering, pp. 328-338, 1987.
  35. J. Martin, "Rapid Application Development," Macmillan Coll Div, 1991.
  36. W. Maner, "Rapid Application Development," http://www.cs.bgsu.edu/maner/domains/RAD.htm, 1997.
  37. Xware.com, "Putting the 'I' in 'IT'," http://www.xware.com/files/credentials/CIOAdvartorial_Bell_2006.pd, Xware.com, 2006.
  38. S. Adcock, "Rapid Application Development: The Iterative Approach to Systems Analysis," http://www.umsl.edu/ -asan74/, University of Missouri.
  39. Wikipedia, "Dynamic Systems Development Method," http://en.wikipedia.org/wiki/Dynamic_Systems_Development_Method, WikimediaFoundation, Inc., 2008.
  40. A. Irons, "Agile Methods - Silver Bullet or Red Herring?," The British Computer Society, 2006.