출처 : OKKY
누가 칼럼에 글을 게재한 덕분에..
이제 애자일이 뭔지를 내 경험에 입각해 이해하게 되었다.
그동안 애자일을 실시(?)한다는 여러 회사도 다녔고.
비트버킷등 써가면서, 아침에 스탠드업회의 1시간씩 하면서..
그 난리부르스를 했지만 당췌 애자일이 뭔 소린지를 몰랐다.
이건 내가 쪼다라서 그런게 절대 아니라! ㅋㅋ
방어적인 수사로 애자일의 정의를 추상적으로 배배꼬아 이야기를 했기에.
주인없는 애자일이 그 이름만 통일한 채로 무수한 프로듀서들에게서
재창조되어 버렸기에.
그럼 애자일이 뭔지를 19년차 개발자인 내가 2가지로 정의해 보겠다.
1) SW개발이 HW개발과 다른 점은 완성이 없다는 사실.
물질로 만들어진 하드웨어는 내 손을 떠나는 완성이라는 단계가 있다.
물질은 시간의 지배를 받으니 닳고 부서지고. 질량보전의 법칙상 총량의
한계를 가지고. 거리의 제약이 있으니 지구 반대편으로 간 물건을
다시 만나기 어렵다. 그래서 꾸준한 유지보수가 어렵게 된다.
그러나 SW는 애초에 시간, 양, 거리의 한계가 없다.
그러므로 마치 영생하는 생물처럼 끊임없이 발전시키고 개선할 수 있다.
즉, 하드웨어처럼 1차원적 생산 파이프라인이 아니라
주기를 가진 환형 파이프라인이 점점 커지는 생산형태가 필요하다.
현재 페북, 유투브, 구글등 십년이상 장수하는 SW들이
마치 개발의 끝이 없는 듯, 끊임없이 개발력을 투입하고 있다.
하드웨어 제작자들은 대체 개발은 언제 끝나냐며 투덜되겠지만
하나의 SW제품으로 끝없이 돈을 벌고 있는 사실에 놀라게 된다.
즉, SW는 그런 것이다.
끊임없이 개발력에 돈을 쏟아붓고
끊임없이 돈을 버는.
2) 시장에 의해 꼭 필요한 기능만 필요한 시점에 빠르게 만든다.
즉, 제품의 전체 설계를 하지 말라는 거다.
시장과 고객의 요구사항에 따라서 조금씩 기능을 붙여나가고
방향성을 자주 의사타진해서 맞춰 나가라는 이야기다.
개발자 자신도 무엇이 완성될 지 모를 유연한 설계를 하고
시장이 필요한 것을 만들어가며 리팩토링하다 보면
지금은 이름붙여질 수 없는 무언가가 만들어지게 되면
그게 결국 검색엔진이 되거나, 동영상플랫폼이 되거나,
새로운 OS가 되거나, 차세대 브라우저가 되는 것이다.
무언가 생산의 목표를 잡고 시장이 뭐라하건 그것을
만들어 버리는 무식함은 원톱만 살아남는 SW시장에서
판매할 수 없는 의미없는 제품이 된다.
제품을 만들려 하지 말고 기술을 만들어야 한다.
생산을 하려지 말고 생산력 자체를 높이는 노력을 해야 한다.
특정 제품 자체를 오랫동안 만들지 말고
제품을 빨리 만들 수 있는 기술 자체를 오랫동안 만들어야 한다.
결론)
위 2가지 SW생산의 원리를 이해하고 전파하여 SW개발의 방식을
바꾸어 나가자는 새마을운동(?)같은 것이 애자일이라고 생각한다.
1) 완성에 대한 정의를 내리지 마라.
2) 전체 설계란 건 하지 말고 시장이 원하는 기능을 따라 붙여가라.
'개발 > Architect' 카테고리의 다른 글
RunPod GPU 가격 비교 및 가성비 분석 (2025년 최신) (0) | 2025.02.26 |
---|---|
MSA(마이크로) + MA(모놀리식) :: 소프트웨어 아키텍쳐 장단점과 적용 (0) | 2022.11.11 |
크롤링과 서버 부하 관련 인사이트 (0) | 2022.10.05 |