본문 바로가기

공학/소프트웨어

아키텍처 패턴을 배우는 이유

반응형

© StockSnap, 출처 Pixabay

소프트웨어를 공부하는 사람들은 소프트웨어를 설계하는 가이드라고 할 수 있는 '아키텍처 패턴'을 배우게 된다. 여기서 패턴이란 특정문제에 대한 해법을 추상화 하고 그 안의 공통된 요인을 추출하여 정형화한 것을 의미한다. 즉, 특정 종류의 일을 해결하기 위한 방법을 간단하게 정리한 것 이라고도 할 수 있다. 하지만 이런 아키텍처 패턴을 배우지 않고도 프로젝트나 개발을 잘 진행하는 사람들도 있다. 그들은 개발도중에 특정 문제가 발생하면 자신만의 방법으로 문제를 해결해나가며 개발을 진행한다. 어떻게 보면 정해진 방법이 아니라 창의적인 방법을 사용하는 그들이 더 멋있어보일수도 있다. 아키텍처 패턴은 왜 배우는 것일까?

1.인수인계 능률 증가

모두가 같은 방식의 패턴을 배우게 된다면, 그 방식을 기반으로 설계된 소프트웨어에 적응하기 더 쉬울 것이다. 새로운 신입 개발자가 기존 개발자의 프로젝트를 담당하게 된다면 프로그램 내 체계적이고 익숙한 구조를 본다면 조금 더 쉽게 프로그램을 이해할 수 있을 것이다.

2.개발 시간의 단축

소프트웨어는 속도싸움이다. 소프트웨어 비지니스는 개발단계에서도, 개발이후에도 복잡계 비지니스에 속하기 때문에 최대한 빠르고 애자일하게 개발을 진행하는 것이 중요하다. 그러기 위해서는 기존에 있는 패턴을 활용하여 소프트웨어를 설계하는 것이 유리하다. 효율성을 증가시키는게 복잡계 최고의 생존전략이다.

3.안정적인 개발 가능

우리는 모든걸 알지 못한다. 우리가 잘하는 일은 찾기 쉽지만 못하는 일은 찾기가 어렵다. 아키텍처 패턴을 참고하지 않고 자신만의 방식으로 프로그래밍 하다 보면 우리가 간과한 부분에서 큰 문제가 발생할 수 있다. 이런 시행착오를 끝없이 반복하여 구축된 패턴이 아키텍처 패턴으로, 현재 가장 고품질의 소프트웨어를 생성할 수 있는 방법이다. 아키텍처 패턴은 종교의 교리와 같다.

4.복잡한 구조 단순화

프로그램 내 복잡한 부분을 팀원들과 함께 상의하여 한 가지의 구조로 통합시켜 프로젝트를 진행하는 과정 속 의사소통을 보다 더 원활하게 진행시키며 동일한 방식으로 코드를 작성할 수 있다. 이와 비슷한 예로 기업 '체인지 그라운드'에서 직원들이 독서를 해야지 살아남는다는 이야기가 생각난다. 체인지 그라운드에서는 기본적으로 모든 직원이 많은 양의 책을 읽기 때문에 길게 이야기할 내용을 '어떤 책의 어떤 내용으로 진행하자'와 같이 짧게 전달한다고 한다. 모두 책을 통해 특정 패턴을 공부했기에 가능한 전략이다. 소프트웨어 개발시에도 팀원들이 아키텍처 패턴을 알고 있다면 길게 이야기하는것보다 '어떤 패턴은 어떨까요?'와 같은 식으로 짧고 명료하게 회의를 진행할 수 있을 것이다.

반응형

'공학 > 소프트웨어' 카테고리의 다른 글

테스트의 원리 -1  (0) 2020.09.30
협업 도구 정리  (0) 2020.09.25
객체지향기법과 자판기  (0) 2020.09.25
객체지향기법과 붕어빵  (0) 2020.09.25
완벽한 계획은 없다.(복잡계 프로젝트)  (0) 2020.08.02