오늘은 아키텍처와 비즈니스의 관계에 대해서 적어볼까 합니다.
아키텍처… 비즈니스… 둘간의 무슨 관계가 있을까요?
별 관계도 없어 보이고…
혹시 제품의 아키텍처를 구성하고 설계를 하시고 계시나요? 그렇다면 비즈니스에는 얼마나 관심을 가지고계십니까?
기술은 기술, 비즈니스는 비즈니스, 별 관계없다고 생각하실 수도 있습니다.
결론은 말씀 드리면 "소프트웨어 아키텍처는 비즈니스에서 나온다."입니다.
이 글을 쓰게 된 주된 이유는 많은 선임, 고참 개발자들이 기술에만 관심을 가지고 비즈니스에 별 관심이 없는 경우를 많이 봐왔기 때문입니다.
개발자는 상위 개발자가 될 수록 비즈니스를 알아야 합니다. 아키텍처에 대한 대부분의 결정은 단순히기술적인 결정이 아닙니다. 비즈니스를 제외하고 기술적인 결정만 있는 경우는 별로 없습니다.
지금 만드는 제품이 딱 한 회사만 사용할지 100개의 회사가 사용할지 100만개의 회사가 사용할지에 따라서제품의 아키텍처는 완전히 달라집니다.
또 내년에는 100개의 회사만 사용하지만 내 후년에는 10,000개의 고객을 가질 것이라면 또 달라집니다.
한국에서만 팔 것인지, 아시아권에만 팔 것인지, 미국, 유럽에도 진출할 것인지에 따라서 Localization이슈가완전히 달라지고, 1,2년은 한국에서만 팔지만, 추후 유럽에서도 판매할 의도가 있다면 미리 이를 고려하지않으면 안됩니다.
그리고 이러한 아키텍처 관련된 결정은 매우 중요해서 잘못된 결정이 엄청난 손실을 가져옵니다. 코드 좀 잘못 짜고, 버그 좀 만드는 것과는 차원이 다릅니다.
이러한 비즈니스적인 요소를 고려하지 않고, 그냥 기술적으로 기능이 동작하는 정도만 생각하고 소프트웨어를 개발하고 있다면 선임개발자로서의 자격이 부족하다고 할 수 있습니다.
따라서 선임개발자가 되면 비즈니스에 대해서 부지런히 관심을 가지고 공부를 해야 합니다. 회사 내부만 보지 말고 Global한 시장이 어떻게 돌아가는지도 관심을 가져야 합니다.
아키텍트(Software Architect)가 되는 첫 걸음은 기술이 아니고 비즈니스를 알아가는 것입니다.
트랙백을 걸어서 무슨 글인가 보았는데.. 제가 조금 알고 있는 아키텍트라는 직책에 대해서 설명을 해주셨군요 ^^
답글삭제미약한 지식에 대한 충고 감사합니다..
미국에서 소프트웨어하는 사람들에게는 맞는 말인데, 한국에서 소프트웨어 하는 사람들 99%에게는 별 해당 사항 없는 말인것 같군요.
답글삭제herostudent님 반갑습니다.
답글삭제충고는 가당치 않구요. 아키텍트라는 직책과 소프트웨어 아키텍쳐에 관심이 있는 분이 많아서 의견을 하나 더한 것 뿐입니다. 그냥 의견을 나누고 싶을 뿐입니다. 감사합니다.
nokarma님 반갑습니다.
답글삭제nokarma님 말씀대로 우리나라의 소프트웨어는 그 환경이나 고객층이 제한적인 것은 사실인것 같습니다. 좋은 의견 감사합니다. 앞으로도 좋은 의견 교환하고 싶습니다.
아키텍트... 기술만 잘알아야 되는것이 아니라 비지니스적 요소까지 꿰뚫고 있어야 하는군요..
답글삭제제가 의아해 하기엔 좀 외람되지만, 한국엔 진정한 아키텍트가 있는지 의문입니다.
트랙백 보고 들릅니다. 학생 입장에서 코더 보다 아키텍트가 되라고 많이 듣곤 하는데,
답글삭제막연 하기만 한게 사실입니다. 도움이 될만한 글인거 같네요. 감사합니다 : )
스파게티코더님 안녕하세요.
답글삭제제 생각에는 아키텍트라는 용어에 현혹되지 않으면 좋겠습니다. 다들 아키텍트에 대한 생각이 다르고 실제로 회사에 수많은 아키텍트 직종을 만들어서 시행하고 있는 회사를 본적이 있습니다. Data Architect, System Architect, Application Architect, Software Architect 등 다양하게 허울 좋은 이름을 만들어 놓았지만 정작 그들은 좁은 지식에 갇혀서 넓게 보지를 못하고 있었습니다. 대한민국에 진정한 아키텍트가 당연히 있겠죠. 하지만 있는지 없는지, 얼마나 많은지는 고민할 필요도 없는 문제입니다. 기술과 비즈니스를 알고 경험이 풍부하면서 소프트웨어를 기술적으로 리드할 수 있으면 누구나 아키텍트라고 할 수 있습니다. "아키텍트"라는 용어가 몇년전 인기를 끌기 시작해서 난리지만 용어 집착하지 않는 것이 좋겠습니다.
InUrEyez님 안녕하세요.
답글삭제코더는 이미 설계된 소프트웨어를 구현하는 사람입니다. 물론 중요한 역할입니다. 하지만 우리나라에서는 이러한 직종이 거의 부분이 안되어 있습니다. 한사람이 설계하고, 코딩하고 심지어는 테스트도 하는 경우가 흔하거든요. 그렇다고 하더라도 설계에 좀더 Focus하고 넓게 보는 시각을 가지라는 의미로 해석됩니다. 나는 "코더"요, 나는 "아키텍트"요. 라고 억지로 구분하지 않아도 됩니다.
아..
답글삭제기술과 비지니스를 알고 경험이 풍부하면서 소프트웨어를 기술적으로 리드할 수 있으면..
&& 연산자가 많군요..ㅠㅠ
조언감사합니다.
안녕하세요~ 트랙백보고 들어왔습니다.
답글삭제정말 동감하고 있습니다. 저역시 같은 생각을 하고 있습니다.
이에 관한 구체적인 글을 작성중인데 나중에 작성이 완료되면 들르겠습니다.
행복한 블로깅하세요 ;-)
장성진님 안녕하세요.
답글삭제아기가 참 예쁘네요. :)
블로그에 들러보니 좋은 글이 참 많더군요.
좋은 글 많이 기대하겠습니다.
안녕하세요~^^
답글삭제저도 역시 트랙백 보고 왔습니다~
좋은 블로그네요~
저역시 동감하는 내용입니다.
아직 허접한 3류개발자입니다만 위 내용을 동감할 정도이니
많은 고수분들은 더욱 잘 아시겠죠^^
좋은 내용이 많은 블로그 같습니다.
자주 찾아와서 좋은 내용 함께 공유할 수 있도록 하겠습니다.^^
음... 크립토나이트 없는 슈퍼맨이 되어서 지구를 구하라는 말로 이해되었다는... ^^;;
답글삭제좋은 말씀입니다. 아키텍처에서 의사결정시 기술외적인 요소가 크게 작용을 하죠.
답글삭제그런데 저같은 경우는 아주 예전부터 제가 다니는 회사 사람들로부터
'비즈니스를 알아야한다, 비즈니스가 중요하다..' 이런 얘기를 귀가 따갑게 들어와서인지
이 사람들이 기술은 무시하고 비즈니스만 지나치게 강조하는 건 아닌가 하는
생각을 하곤 합니다. ^^
앙마님 안녕하세요.
답글삭제소프트웨어엔지니어링에 관심이 많으신가봐요. 저는 소프트웨어 엔지니어링 컨설턴트입니다. 만나서 반갑습니다. 좋은 내용이라고 말씀해주시니 감사합니다.
Tuna님 안녕하세요.
답글삭제센스쟁이시네요.
서영아빠님 안녕하세요.
답글삭제아키텍쳐링의 근본은 기술이죠. 너무 비즈니스에만 관심을 가지는 사람을 본 적이 있는데, 그런 사람은 결국 립서비스만 하더군요. 대부분 비즈니스를 소홀히 하니까 비즈니스를 강조하는 것 같습니다.
좀전에 다른 포스트에 댓글을 달고 보니 여기에 연관된 내용이 있군요. 그 영감님 아키텍트가 워낙 비지니스를 잘 알고 있다보니 회의에 들어가면 매니저가 윗사람인지 그 분이 윗사람인지 분간이 안갈때가 많았습니다. 아무리 기술에 해박해도 문제영역 (Problem domain)에 대한 지식이 부족하면 이산이 아닌가벼 스타일의 아키텍쳐가 나오겠죠.
답글삭제저와 많은 부분에서 같은 생각을 갖고 계신분을 알게된 것 같아 오늘은 보람된 하루였습니다. ^^
Jake님 안녕하세요.
답글삭제여기도 댓글을 남기셨네요. 한국에서는 아키텍트가 되겠다고 하면서 비즈니스가 왜 중요한지 이해 못하는 사람이 많습니다. 제가 블로그를 하고 있는 이유도 그러한 것들을 가능하면 많은 사람에게 전파를 하고자 함입니다. 저도 Jake님을 만나서 참 기쁘네요. 혹시 블로그를 가지고 계신면 알고 싶습니다.
Ray 님께 감동받아 Tistory 에 하나 개설했습니다. ^^
답글삭제네이버에서 간간히 하고 있었는데, 이제 Tistory로 하나씩 옮기려 합니다.
Jake님 안녕하세요.
답글삭제블로그에 방문해봤습니다. 좋은 글들을 벌써 올려 놓으셨더군요.
앞으로 좋은 교류 기대합니다.
감사합니다.
저역시 트랙백을 보고 왔어요,,,(꽤시간이 지났구나..)
답글삭제트래백이 먼지도 몰라 네이버 검색했다는.....//이제야 트래백이 뭔줄암..ㅠ
비즈지느 관점이라,, 역시 좋은생각을 가지고 계신것 같아요 ㅎㅎ
자주와서 관심있는 글을 읽어야 겠네용,,
또올게요~
이제 IT 갓 입문한지라,, 도통 모르는 초급개발자 가...
안녕하세요.
답글삭제자바 개발자이신가봐요. 반갑습니다.