오늘은 아키텍처와 비즈니스의 관계에 대해서 적어볼까 합니다.
아키텍처… 비즈니스… 둘간의 무슨 관계가 있을까요?
별 관계도 없어 보이고…
혹시 제품의 아키텍처를 구성하고 설계를 하시고 계시나요? 그렇다면 비즈니스에는 얼마나 관심을 가지고계십니까?
기술은 기술, 비즈니스는 비즈니스, 별 관계없다고 생각하실 수도 있습니다.
결론은 말씀 드리면 "소프트웨어 아키텍처는 비즈니스에서 나온다."입니다.
이 글을 쓰게 된 주된 이유는 많은 선임, 고참 개발자들이 기술에만 관심을 가지고 비즈니스에 별 관심이 없는 경우를 많이 봐왔기 때문입니다.
개발자는 상위 개발자가 될 수록 비즈니스를 알아야 합니다. 아키텍처에 대한 대부분의 결정은 단순히기술적인 결정이 아닙니다. 비즈니스를 제외하고 기술적인 결정만 있는 경우는 별로 없습니다.
지금 만드는 제품이 딱 한 회사만 사용할지 100개의 회사가 사용할지 100만개의 회사가 사용할지에 따라서제품의 아키텍처는 완전히 달라집니다.
또 내년에는 100개의 회사만 사용하지만 내 후년에는 10,000개의 고객을 가질 것이라면 또 달라집니다.
한국에서만 팔 것인지, 아시아권에만 팔 것인지, 미국, 유럽에도 진출할 것인지에 따라서 Localization이슈가완전히 달라지고, 1,2년은 한국에서만 팔지만, 추후 유럽에서도 판매할 의도가 있다면 미리 이를 고려하지않으면 안됩니다.
그리고 이러한 아키텍처 관련된 결정은 매우 중요해서 잘못된 결정이 엄청난 손실을 가져옵니다. 코드 좀 잘못 짜고, 버그 좀 만드는 것과는 차원이 다릅니다.
이러한 비즈니스적인 요소를 고려하지 않고, 그냥 기술적으로 기능이 동작하는 정도만 생각하고 소프트웨어를 개발하고 있다면 선임개발자로서의 자격이 부족하다고 할 수 있습니다.
따라서 선임개발자가 되면 비즈니스에 대해서 부지런히 관심을 가지고 공부를 해야 합니다. 회사 내부만 보지 말고 Global한 시장이 어떻게 돌아가는지도 관심을 가져야 합니다.
아키텍트(Software Architect)가 되는 첫 걸음은 기술이 아니고 비즈니스를 알아가는 것입니다.