설계하기
일단 해결할 문제를 이해했으면 그 문제를 코드로 어떻게 해결할지 설계해야 한다. 설계도 코드를 작성하기 전에 해야 한다. 코드의 구조적 청사진이라고 생각하면 쉽다. 앞서 이야기했듯이 방법론이 바뀌면 설계 과정도 달라진다. 하지만 어떤 방법론이든 바로 코딩에 뛰어들기 전에 일정 수준의 설계가 있어야 한다.
규모가 크든 작든 마찬가지다. 애자일agile 소프트웨어 개발(이에 대해서는 뒤에서 다룰 것이다)을 선호하는 어떤 개발자는 아무런 설계 없이 바로 코딩을 시작해도 된다고 주장한다. 애자일 개발이 사전 설계를 덜 중요하게 생각하는 건 사실이지만, 그래도 설계는 필요하다. 벽돌을 아무렇게나 쌓아 올린다고 해서 집이 지어지는 게 아니기 때문이다.