꽃중년보넥스
-1k
2021-07-08 02:01:36
20
3524

애자일이란 무엇일까?


누가 칼럼에 글을 게재한 덕분에..

이제 애자일이 뭔지를 내 경험에 입각해 이해하게 되었다.


그동안 애자일을 실시(?)한다는 여러 회사도 다녔고.

비트버킷등 써가면서, 아침에 스탠드업회의 1시간씩 하면서..

그 난리부르스를 했지만 당췌 애자일이 뭔 소린지를 몰랐다.


이건 내가 쪼다라서 그런게 절대 아니라! ㅋㅋ

방어적인 수사로 애자일의 정의를 추상적으로 배배꼬아 이야기를 했기에.

주인없는 애자일이 그 이름만 통일한 채로 무수한 프로듀서들에게서

재창조되어 버렸기에.


그럼 애자일이 뭔지를 19년차 개발자인 내가 2가지로 정의해 보겠다.



1) SW개발이 HW개발과 다른 점은 완성이 없다는 사실.


물질로 만들어진 하드웨어는 내 손을 떠나는 완성이라는 단계가 있다.

물질은 시간의 지배를 받으니 닳고 부서지고. 질량보전의 법칙상 총량의

한계를 가지고. 거리의 제약이 있으니 지구 반대편으로 간 물건을

다시 만나기 어렵다. 그래서 꾸준한 유지보수가 어렵게 된다.


그러나 SW는 애초에 시간, 양, 거리의 한계가 없다.

그러므로 마치 영생하는 생물처럼 끊임없이 발전시키고 개선할 수 있다.

즉, 하드웨어처럼 1차원적 생산 파이프라인이 아니라

주기를 가진 환형 파이프라인이 점점 커지는 생산형태가 필요하다.


현재 페북, 유투브, 구글등 십년이상 장수하는 SW들이

마치 개발의 끝이 없는 듯, 끊임없이 개발력을 투입하고 있다.

하드웨어 제작자들은 대체 개발은 언제 끝나냐며 투덜되겠지만

하나의 SW제품으로 끝없이 돈을 벌고 있는 사실에 놀라게 된다.


즉, SW는 그런 것이다.

끊임없이 개발력에 돈을 쏟아붓고

끊임없이 돈을 버는.



2) 시장에 의해 꼭 필요한 기능만 필요한 시점에 빠르게 만든다.


즉, 제품의 전체 설계를 하지 말라는 거다.

시장과 고객의 요구사항에 따라서 조금씩 기능을 붙여나가고

방향성을 자주 의사타진해서 맞춰 나가라는 이야기다.


개발자 자신도 무엇이 완성될 지 모를 유연한 설계를 하고

시장이 필요한 것을 만들어가며 리팩토링하다 보면

지금은 이름붙여질 수 없는 무언가가 만들어지게 되면

그게 결국 검색엔진이 되거나, 동영상플랫폼이 되거나,

새로운 OS가 되거나, 차세대 브라우저가 되는 것이다.


무언가 생산의 목표를 잡고 시장이 뭐라하건 그것을

만들어 버리는 무식함은 원톱만 살아남는 SW시장에서

판매할 수 없는 의미없는 제품이 된다.


제품을 만들려 하지 말고 기술을 만들어야 한다.

생산을 하려지 말고 생산력 자체를 높이는 노력을 해야 한다.

특정 제품 자체를 오랫동안 만들지 말고

제품을 빨리 만들 수 있는 기술 자체를 오랫동안 만들어야 한다.



결론)


위 2가지 SW생산의 원리를 이해하고 전파하여 SW개발의 방식을

바꾸어 나가자는 새마을운동(?)같은 것이 애자일이라고 생각한다.

1) 완성에 대한 정의를 내리지 마라.

2) 전체 설계란 건 하지 말고 시장이 원하는 기능을 따라 붙여가라.


26
8
  • 댓글 20

  • 라이라
    3k
    2021-07-08 02:18:47

    데브옵스도 정리 좀 해주세요

  • 초무쿤
    6k
    2021-07-08 02:34:46 작성 2021-07-08 02:35:15 수정됨

    그래요. 데브옵스도 가주세요...

  • fender
    22k
    2021-07-08 06:50:53 작성 2021-07-08 06:52:15 수정됨

    그 동안 애자일에 대해서 무지에 기반해서 폄하하는 발언을 자주 하셨기에 또 그런 내용이 있으면 바로 잡으려고 클릭해보았더니 이번에는 맞는 말씀을 하셨군요. 늦게라도 애자일에 대해 올바른 이해를 하게 되셨다면 환영합니다.

    요즘에는 애자일에 대한 비판도 많고 그 중 상당수는 어느 정도 수긍할 수 있는 내용이기도 합니다. 하지만 이는 그 만큼 그 동안 소프트웨어 업계가 애자일 관행을 적극적으로 받아들이고 있었다는 방증이고, 무엇보다 대부분의 비판은 애자일을 프로그래머를 통제하는 장치로 악용하거나 자격증 장사를 한다던지 하는 업계 일부의 관행에 대한 것이지 애자일의 핵심 가치에 대한 것은 아닙니다.

    그렇게 보면 결국 본문의 내용과 일맥상통하는 애자일의 핵심 아이디어, 즉 소프트웨어 개발을 점진적(incremental)이고 반복적(iterative)하게 수행하는 것이 효율적이라는 것은 지금 시점에서는 거의 상식에 가까운 내용이라고 생각합니다.

  • TorenA
    458
    2021-07-08 08:10:42

    이번글은 좋네요


  • TorenA
    458
    2021-07-08 08:18:43

    다른 이야기지만 헬조선식 애자일 프로세스가 되는 이유는

    구성원들의 마인드 셋 문제 인거같아요. 해당 소프트웨어를 개발하는 팀원들이

    소프트웨어의 완성은 항상 있기 때문에 이걸 언젠가 끝내야 하는 업무로 보기 때문이 아닐까 합니다.


    이게 업무면 일 배분, 부서별 기싸움, 짬처리등 헬조선 Si 문화가 스믈스믈 올라오죠.. 기존 구성원들이 Si 업무를 많이 해본 팀원이 있을 수록요.. 문제가 발생하면 편가르기부터 시전하니까요..

  • "Q"
    639
    2021-07-08 08:27:28

    2번이 핵심이네요. 

  • defult
    11k
    2021-07-08 08:50:12 작성 2021-07-08 09:16:39 수정됨

    사람들이 생각하는 애자일 : 기능의 완성형을 처음부터 정하지말고 상황에 맞춰서 유연하게 붙여나가자


    한국식 애자일1 : 애자일은 유연한 대처를 목적으로하므로 사업기획 자체를 시장에 맞춰서 갈아엎는 행위는 애자일


    한국식 애자일2 : 우리 프로젝트는 외부 발주프로젝트를 수주해서 만드는 사업이지만 개발 유연성을 위해서 애자일을 채택했으므로 설계는 일단 무시하고 기능을 그때그때 고객 요구대로 새로 만드는것이 일이다

    (납품물인 설계문서는 납품 직전 시간 조금주면 되는거지?)

    ※폭포수 무한 루프

  • row_column
    325
    2021-07-08 08:53:47

    갓중년이십니다

  • crazygun22
    821
    2021-07-08 09:05:12 작성 2021-07-08 09:17:04 수정됨

    애자일은 팀의 개발 능력, 문화, 프로세스, 고객 능력 등등이 충분히 뒷 받침 되어야, 성공 할 수 있죠.

    대부분 회사나 팀은 그 능력이 뒷 받침 안됨, 그럴 경우 그냥 폭포수가 그나마 PJT 성공 확률이 높죠.

    그래서 현실에서는 폭포수로 하면 PJT 10개 중 6개 정도가 망하는 수준이면, 애자일은 9개 정도 망한다고 보면 되죠.


    그리고 SI 에서 애자일은 도대체 왜 하는 거죠? ㅎㅎ

    애자일은 시장 상황을 고려하여, 스프린터 단위로 작은 목표를 세워가며 점진적으로 개발 하는거죠.

    그런데 SI는 일정 데드라인이 명확하게 있잖아요? ㅎㅎ

    어떤 기능을 만들지가 정해지고, 거기에 맞게  일정이 정해지는데, 그 상태에서 애자일로 왜 PJT 하는 건지 참.. ㅋㅋㅋ

  • 천사와악마
    1k
    2021-07-08 09:13:20

    이번엔 어떤 헛소릴 하시나 했는데 

    추천찍을 글을 쓸줄이야…

  • 난한놈만패
    824
    2021-07-08 09:42:21

    뭐야 이분 이런글도 쓰실줄도 아시는 

    멋진 분이셨네....

  • ISA
    5k
    2021-07-08 10:44:51
    헬적화 너무 조아 이게 한국의 매운맛인가~♡
  • h2s3426
    338
    2021-07-08 11:05:56

    좋은 글입니다.

  • 키류
    351
    2021-07-08 11:06:28
    1 따봉 드립니다. 
  • 꽃중년보넥스
    -1k
    2021-07-08 12:56:02

    호호.. 감사합니다^^

    즐거운 일거리에 흠뻑 취해서

    행복한 펜데믹시대를 보내고 있는

    초보 중년의.. 소소한 글이었음다~ㅎ


    펜데믹엔 프로그래머가 짱이죠~

  • youngyoung
    2k
    2021-07-09 14:53:03

    좋은말이지만 저렇게 하기 정말 힘듬...

  • 수돌이짱짱맨
    22
    2021-07-09 14:53:30

    공공기관에서 용역을 주는과정에서 애자일 프로세스 적용이 가능할까요??

    잘 정착하려면 어떤것들이 필요할까요?

  • 드래고나
    20
    2021-07-12 10:50:31

    애자일 이란것 자체는 개발 철학에 가깝습니다.

    지속적으로 개발 프로세스를 개선 하기 위해 노력 한다 정도의 의미 라고 보면 되고

    애자일을 따른 다는것은 개발 프로세스 개선을 위해 지속적인 노력을 하는것 입니다.


    스크럼, XP 같은 것들은 프로세스를 개선하기 위해 여러 사람들이 내놓은 방법들 입니다.

    애자일을 하고자 하는 사람 입장에서는 많은 방법 들중 자신에게 맞는 방법만 선택하거나 실무에 맞도록

    변형해도 상관은 없습니다만 조금씩이라도 불합리 한것을 고치고 발전해 나아가기만 하면 되고

    팀 구성원 전체가 공감하고 꾸준히 노력해야 합니다.


  • 꽃중년보넥스
    -1k
    2021-07-12 20:44:12

    헐.. 역주행하고 있어 ㄷㄷ..

    -1
  • wack
    26
    2021-07-14 17:49:34

    이번 글은 추천을 드릴수 밖에 없네요. 감탄했습니다.

  • 로그인을 하시면 댓글을 등록할 수 있습니다.