Enhancement of Extreme Programming Process for Usability Improvement

사용성 향상을 위한 극한 프로그래밍 프로세스 개선

  • 이상준 (서남대학교 컴퓨터정보통신학과)
  • Published : 2003.11.01

Abstract

Extreme programming is the most representative methodology among agile software development methodologies which is agile in business environment which change fast. As software industry is matured, usability of software quality characteristics is emphasized gradually, but effort to obtain usability in extreme programming is insufficient. To improve usability of extreme programming, in this thesis, a software life cycle is defined by six phase as exploration, planning, iterations to release, productionizing, maintenance, and death phase. In this thesis, an extreme programming process which can improve usability is proposed by definition of 11 activities including integration testing and acceptance testing for usability testing, The proposed process is validated with four aspects. The proposed process is enhanced to support acceptance testing activity. The proposed extreme programming process is able to support CMM level 4 and quality assurance practice of CMM.

극한 프로그래밍은 빠르게 변화되는 사업 환경에 기민하게 대응하는 애자일 소프트웨어 개발 방법론 중에서 가장 대표적인 방법론이다. 소프트웨어 산업이 성숙됨에 따라 소프트웨어 품질 요소중 사용성이 점차 강조되고 있으나, 극한 프로그래밍에서 사용성을 확보하기 위한 노력이 부족한 실정이다. 극한 프로그래밍의 사용성 향상을 위하여 본 논문에서는 소프트웨어 생명주기를 조사, 계획, 릴리즈 반복, 제품화, 유지보수, 사망의 6단계로 정의한다. 사용성 평가를 위한 통합시험과 인수시험을 포함한 11개의 활동을 정의하여 사용성을 향상시킬수 있는 극한 프로그래밍 프로세서를 제안한다. 제안한 프로세서의 타당성을 4가지 측면에서 확인하였다. 제안한 프로세스는 극한 프로그래밍 프로세스가 인수시험 활동을 지원하도록 개선하였으며, 극한 프로그래밍 프로세스가 CMM 레벨4를 지원하도록 하며, CMM 품질보증 실무를 지원하도록 하였다.

Keywords

References

  1. Abrahamsson, P. and et al., New Directions on Agile Methods:A Comparative Analysis, ICSE'03, IEEE, 2003
  2. Agile Alliance Web Site: Manifesto for Agile software Development. On-line at: http://agilemanifesto.org/.
  3. Agile Methodologies Survey Results, On- line at: http://www.shinetech.com/agile_ survey _results.jsp
  4. Anderson, J. and et al., Integrating Usability Techniques into Software Development, IEEE Software, Vol. 18, No.1, Jan./Feb., 2001
  5. Beck, K., Embracing Change With Extreme Programming, IEEE Computer, Vol. 32, No. 10, 1999
  6. Beck, K., Extreme Programming Explained :Embrace Change, Addison-Wesley, 2000
  7. Becker, S. A. and Mottay, F. E., A Global Perspective on Web Site Usability, IEEE Software, Vol. 18, No.1, Jan./Feb., 2001
  8. Cockburn, A, Agile software Development, Addison-Wesley, 2002
  9. Dix, A. J. and et al., Human-Computer Interaction, 2nd Edition, Prentice Hall, 1998
  10. Ferre X. and et al., Usability Basics for Software Developers, IEEE Software, Vol. 18, No. 1, Jan./Feb. 2001
  11. Fowler, M., The New Methodology, On-line at: http://www.martinfowler.com/articles/newMethodology.html.
  12. Giga Information Group Inc.http://www.computerworld.com/softwaretopics/software/appdev/story/0,10801,69182,00.html
  13. Highsmith, J. A, Adaptive Software Development: A Collaborative Approach to Managing Complex Systems. Dorset House Publishing, 2000
  14. ISO 9241-11, Ergonomics requirements for office work with visual display terminals(VDTs) part 11 : Guidance on Usability
  15. ISO/IEC 9126, Information Technology-Software quality characteristics and metrics, 1998
  16. ISO/TR 16982, Ergonomics of human-system interaction-Usability methods supporting human-centerd design, 2002
  17. Jacobson, I., Booch, G., Rumbaugh, J., The Unified Software Development Process, Addison-Wesley, 1999
  18. Kieras D., A Guide to GOMS Model Usability Evaluation using NGOMSL, anon ymous ftp ftp.eecs.umich.edu people/kieras, 1996
  19. Nielsen, J., Usability Engineering. Morgan Kaufmann, 1993. see also http://www.useit.com/papers/heuristic/heuristic_evaluation.html
  20. Paulk, M. C., Extreme Programming from a CMM Perspective. IEEE Software, Vol. 18, No. 6, Nov./Dec. 2001
  21. Pressman, R. Software Engineering : A Practitioner's Approach(5th Edition), McGraw Hill, 2001
  22. 권호열, 소프트웨어 개발 프로세스의 연구동향, 정보과학회지, 제20권 제3호, 2002