메뉴 건너뛰기

Extra Form
출처 https://terms.naver.com/entry.nhn?docId=...ryId=59096

애자일 - 프로그래밍에 집중한 유연한 개발 방식

소프트웨어를 배우는 사람이라면 이미 ‘애자일’(Agile)이라는 단어가 익숙할 테다. 애자일은 문서작업 및 설계에 집중하던 개발 방식에서 벗어나 좀 더 프로그래밍에 집중하는 개발 방법론이다. 애자일(Agile)이란 단어는 ‘날렵한’, ‘민첩한’이란 뜻을 가진 형용사다. 애자일 개발 방식도 그 본래 의미를 따른다. 정해진 계획만 따르기보다, 개발 주기 혹은 소프트웨어 개발 환경에 따라 유연하게 대처하는 방식을 뜻한다.

애자일 개발 방식은 2000년대 초에 대두됐다. 1990년대에는 주로 많은 인원의 개발자가 오랜 기간 동안 소프트웨어를 개발하곤 했다. 예를 들어 항공기 제어 시스템을 개발하기 위해선 여러 회사나 기관에 있는 사람들이 모였고, 10년 이상 개발에 투자했다. 철저히 계획을 세우고, 해당 계획을 구체적으로 명시한 방대한 문서 작업도 뒤따랐다. 멀리 떨어져 있는 사람이 오랜 기간 동안 함께 개발 작업을 하려면 언제 어디서나 일관된 기준을 볼 수 있어야 했기 때문이다. 이같은 과거 개발 방식은 대형 소프트웨어 개발 프로젝트엔 적합할지 몰라도, 소규모 프로젝트에는 오히려 개발을 더디게 만드는 걸림돌로 작용했다.

2001년 2월, 변화의 움직임이 싹텄다. 17명의 소프트웨어 개발자가 ‘애자일 연합’을 결성해 좀 더 빠르고 유연한 개발 방식을 논의하기 시작한 것이다. 이들은 애자일 소프트웨어 개발이 무엇인지 정의하고, 애자일 소프트웨어 개발을 장려하기 위한 여러 활동을 시작했다. 당시 애자일 연합에서 선언한 내용은 다음과 같다.

애자일 소프트웨어 개발 선언. 세계 각 나라 언어로 번역해 놓았다.

애자일 개발 방식은 계획과 개발, 출시와 같은 개발 주기가 여러 번 반복되며, 개발 환경에 맞게 요구사항이 추가되거나 변경된다. 결과적으로 애자일 소프트웨어 개발은 고객에게 좀 더 빨리 결과물을 내놓을 수 있고, 고객의 피드백에 민첩하게 반응할 수 있다.

애자일 방식은 사람을 앞세운 점에서도 주목받았다. 소프트웨어는 계획하면 무조건 만들어지는 것이 아니다. 인력이나 예산, 개발 환경과 다양한 외부 조건에 영향을 받는다. 애자일 방식은 개발 환경을 고려해 고객과 개발자를 중심에 뒀다. 고객이 개발 프로세스에 적극 참여해 작업 우선순위를 정하고 개발 과정을 평가하기도 한다. 계획에 집중하고 이를 강요하기보다는 개발자 능력에 따라 개발 환경이 유연하게 변경될 수 있도록 했다.

‘익스트림 프로그래밍’과 ‘스크럼’

애자일 방식은 소프트웨어 개발 방법론으로 쓰이지만, 그 자체가 독립된 개념으로 사용되기도 한다. 본래 형용사 의미를 활용해 ‘좀 더 가볍고 기민한 작업’을 이르는 표현으로 확장된 셈이다. 그래서 소프트웨어 개발에 집중한 세부적인 애자일 방법론이 따로 존재 한다. ‘익스트림 프로그래밍’과 ‘스크럼’, ‘크리스탈 패밀리’, ‘피처 드리븐 개발’ 등이 여기에 포함된다. 2000년대 초반 성공 사례가 알려지면서 애자일 가치관을 사용한 여러 개발 방식이 생겨났다.

이 가운데 익스트림 프로그래밍은 애자일 개발 방법론을 널리 보급시킨 주역으로 꼽힌다. 줄여서 ‘XP’로 표현하기도 하는데, 애자일 선언에 참여한 켄트 백이 만들었다. 익스트림 프로그래밍은 소통과 단순함을 중요한 가치로 여기며, 고객의 요구사항이 자주 바뀌는 프로젝트에 자주 쓰인다. 소규모 개발팀이 진행하기 좋은 개발 방식으로 꼽히는데, 테스트 코드 중심으로 개발이 이뤄지는 것이 특징이다.

스크럼 역시 애자일 가치관을 잘 활용한 개발 방법이다. 스크럼은 보통 30일 단위로 개발 주기를 잡는데, 특정 언어나 방법론을 고집하지 않아 넓은 범위에서 응용되고 있다. 스크럼 개발 방식은 ‘스프린트’라는 용어를 따로 쓴다. 여기서 스프린트란 반복되는 개발 주기를 말한다. 특정 기간 동안 이루고 싶은 목표와 필요 작업을 명시하는 작업이 곧 스프린트 작업이다. 이와 별도로 ‘스프린트 백로그’는 특정 기간 동안 필요한 구체적인 작업 목록을 일컫는다.

스크럼 프로세스 <출처: 위키백과>

애자일을 지원하는 소프트웨어 도구들

애자일 인기가 높아지자 일부 업체는 애자일 개발 방식을 지원하는 소프트웨어 개발도구(SDK)를 따로 출시하고 있다. ‘아틀라시안’(Atlassian), ‘액소소프트’(Axosoft) 등이 대표 사례다.

아틀라시안은 ‘지라’(Jira)와 ‘지라 애자일’(Jira Agile)이라는 제품으로 애자일 개발 방식을 구현하게끔 돕는다. 지라는 오픈소스로 시작했으며, 이후 상용 제품이 따로 나왔다. 지라는 코드에 나타난 오류나 작업량을 지속적으로 추적할 수 있게 도와준다. 지라 애자일은 짧은 기간 동안 해야 할 작업을 체계화하고 이를 위해 시각화 도구를 활용한다. 액소소프트는 ‘온타임 스크럼’이라는 제품으로 애자일 개발 환경을 지원한다. 온타임 스크럼은 HTML5 기반으로 동작하며, 위키와 버그 트래커를 이용해 협업 환경을 만들 수 있다.

아틀라시안은 ‘지라(Jira)’를 통해 애자일 개발을 도와주고 있다.

인력과 기업 문화 뒷받침돼야

애자일 관리 소프트웨어를 판매하는 버전원은 2012년 애자일 개발에 관한 설문조사를 실시했다. 소프트웨어 개발자 4048명을 대상으로 조사했더니, 응답자의 약 90%가 “애자일을 통해 우선순위를 쉽게 설정할 수 있었으며, 업무 처리 능력이 향상됐다”라고 답했다. 응답자 중 72%는 “애자일 방식 중 스크럼을 사용한다”라고 대답했다.

애자일 개발 방식은 사람을 중심에 놓고 소통을 중시한다. 아무리 애자일 개발 방식이 좋다 할지라도 변화에 익숙하지 않은 기업에선 애자일을 활용하기 쉽지 않다. 버전원 조사에 따르면, 애자일 적용이 실패한 경우 “애자일 개발 방식을 구현할 적합한 인력이 없었고, 기업문화를 바꾸는 데 힘이 들었다”라고 이유를 들었다.

애자일 개발 방식은 관리보다 협업을 중시한다 <출처: CA테크놀로지스 유튜브>

최근 몇몇 기업들은 애자일이라는 가치를 사업전략에 활용하고 있다. 스토리지 업체 넷앱은 2013년 6월 ‘애자일 전략’을 내세워 스토리지의 신속성을 표현하기도 했다. 한국HP는 애자일 방법론을 국내에 도입시키기 위해 'HP 애자일 컨설팅 서비스 및 소프트웨어'를 내놓기도 했다. 쿠팡은 ‘애자일 프로세스’를 업계에서 먼저 도입해 모바일 응용프로그램(앱)의 사용자환경(UI)을 개선했다고 밝힌 바 있다.

[네이버 지식백과] 애자일 - 프로그래밍에 집중한 유연한 개발 방식 (용어로 보는 IT, 이지현)


  1. ITSM, 주요 이점과 관련 솔루션 0 file

  2. No Image 21Sep
    by
    2024/09/21 Views 190 

    한글-프로그램-단축키-모음-자주-사용하는-BEST 0 file

  3. No Image 16Sep
    by
    2024/09/16 Views 208 

    프로토타입/파일럿/PoC/BMT 개념 0

  4. SLA(Service Level Agreement, 서비스수준협약)란 0 file

  5. 깃(Git) 깃허브(Github) 깃랩(Gitlab) 1 file

  6. No Image 06Mar
    by
    2023/03/06 Views 225 

    SLA(Service-Level Agreement, 서비스수준협약) 0

  7. WBS작성, 엑셀 간트차트 만드는 방법 0 file

  8. 글로벌 기업 성공의 비밀, PMO (프로젝트관리오피스) 0 file

  9. 행안부-정보화 표준·지침 자료실 , 2018년도 전자정부사업관리 위탁(PMO)사업 추진계획 0 file

  10. PMO 컨설팅 0 file

  11. IT Governance 0 file

  12. PMO 필요성과 역할 0 file

  13. 성공적인 프로젝트 팀의 비밀 0 file

  14. PMO는 IT 거버넌스 구축을 위한 첫 단추 0 file

  15. PMO는 왜 필요한가 0 file

  16. PMO 성공의 비밀 0 file

  17. 작업 분할 구조도(WBS) 0 file

  18. No Image 01Aug
    by
    2019/08/01 Views 9035 

    EAI(Enterprise Application Integration)란? 0

  19. No Image 01Aug
    by 정보제공
    2019/08/01 Views 209 

    애자일 - 프로그래밍에 집중한 유연한 개발 방식 0

  20. 정보통신공사업 신규등록 0 file

목록
Board Pagination Prev 1 2 Next
/ 2