Code and Fix Development

소프트웨어 개발 | 2008/01/17 23:09 | letsme

스티브 맥코넬은 프로페셔널 소프트웨어개발에 서 일단 작성하고 고치는 개발 방법(Code and Fix Development)을 바보들의 황금에 비유하고 있습니다. 겉으로 보기엔 매력적이지만 실제적으로 전혀 쓸모없는 방법이라는 것이죠. 소프트웨어 개발에는 충분한 설계와 계획이 필요하다고 얘기합니다. 하지만 저는 이 얘기에 100% 동의하지는 않습니다.

코딩을 시작하기에 충분한 설계라는 것은 어떤 것일까요? 아니 그런 설계라는 것이 존재하기나 한 걸까요?

완벽한 설계는 설계대로 코딩을 하였을 때 아무런 문제가 없는 설계일 것입니다. 하지만 일반적인 소프트웨어 개발에서는 코딩을 하기 전에는 예측할 수 없는 일들이 무수히 많습니다. 실제로 코드를 통해서 테스트를 해 보고 코드 조각을 이리저리 맞춰보고 나서야 설계의 구현 가능 여부가 결정되는 경우가 많다는 것이죠. 바꿔 말하면 설계와 코딩은 거의 동시에 수행된다고 보는 것이 맞을 것 같습니다. 코딩이라는 것이 단순히 설계대로 코드를 작성하기만 하는 것은 아닙니다.

또한 개발 도중에 요구사항의 변경으로 인해서 설계를 변경해야 하는 경우도 비일비재합니다. 이런 경우에는 완벽하고 충분하게 설계하려고 노력할수록 설계의 변경도 어려울 수 밖에 없습니다. 물론 코딩을 시작하기 전에 설계를 하지 않아도 된다는 것은 아닙니다. 코딩을 시작할 수 있을 정도의 설계 정도면 충분하다고 생각됩니다. 설계를 완벽하게 하는 것보다 중요한 것은 코드 베이스를 간결하게 유지함으로써 설계나 코드의 변경이 용이하게 하는 것이라고 생각됩니다.

물론 맥코넬이 설계를 완벽하게 해야한다고 얘기하지는 않았습니다만 충분한 설계라는 얘기가 조금은 진부하게 들리네요.

이전 1 ... 19 20 21 22 23 24 25 26 27 ... 42 다음