개발

소프트웨어의 두 가지 가치 - 행위와 구조

미니소곰 2020. 11. 8. 12:56

소프트웨어 시스템은 두 가지 가치를 제공한다.

행위와 구조.

개발자에게 두 가지를 모두 요구한다.

무엇이 중요할까?

 

 

행위

소프트웨어의 첫번째 가치.

소프트웨어를 만드는 목표이다.

많은 프로그래머는 이러한 활동이 자신이 해야할 일의 전부라고 생각한다.

요구사항을 구현하고, 버그를 수정하는 일이 자신의 직업이라고 믿는다.

아니다. 틀렸다.

 

 

아키텍쳐

소프트웨어가 생겨난 이유는 기계의 행위를 쉽게 변경하기 위함이다.

만약 그렇지 않다면 하드웨어를 이용하면 된다.

본연의 목적을 위해서 소프트웨어는 반드시 변경하기 쉬워야한다.

 

 

더 높은 가치

완벽하게 동작하지만 수정이 불가능한 프로그램은 요구사항이 변하면 쓸모없다.

완벽하게 동작하지는 않지만 수정이 쉬운 프로그램은 변경된 요구사항에 맞게 유지보수가 가능하다.

즉, 수정이 쉬운 프로그램이 유용하다.

 

 

아키텍처를 위한 투쟁.

이러한 책임을 다하려면, 아키텍쳐를 위해 투쟁해야한다.

효율적인 소프트웨어 개발팀이라면 이러한 투쟁에서 정면으로 맞서 싸운다.

당신은 소프트웨어를 안전하게 보호해야할 책임이 있다.

아키텍처가 후순위가 되면 시스템 개발 비용이 더 많이 들고, 변경이 어려워진다.

이러한 상황이 발생한다면, 시스템 개발팀이 스스로 옳다고 믿는 가치를 위해 충분히 투쟁하지 않았다는 뜻이다.

 

 

 

소프트웨어 개발자라면 아키텍처를 위해 투쟁하라.