read

개발의 방식을 굳이 구별하자면 다음과 같이 구별할 수 있다. 하나는 “사용방식, 요구사항”이 먼저 존재하여 그것을 구현하는 방법을 고민하는 형식이며, 다른 하나는 “기술, 기능”이 먼저 존재한 후 그것을 사용하는 방법을 고민하는 형태이다.

사용에 의해 주도되는 개선, 즉 “사용자는 이러이러하게 사용하기를 원해, 그러니 그에 맞는 기능을 만들자”,은 기획이 있고 난 후에야만이 설계/개발이 들어갈 수 있다. 이는 Top-Down방식이다.

기능에 의해 주도되는 개선, 즉 “이러한 기능이 있으니 이를 잘 조합해서 사용자에게 제공하자”는 기능을 제공하기 바로 전 까지는 기획없이도 개발을 진행할 수 있다. 즉, Bottom-up방식이다. 기본 기능primitive feature를 파악하여, 그것을 개발자의 통찰로 인해 고수준에서 사용/조합하기 용이한 형태까지를 가공하는 것이다. 그것은 기획자의 몫이 아니고 개발자의 몫.

개발하고자 하는 아이템의 성격에 따라 이의 구별이 가능하고, 각각 진행방식이 다르므로 아이템의 성격을 먼저 파악하는 것이 중요하다.

여담이지만, 수동적의 면이 존재하는 Top-Down식의 개발보다는 Bottom-up방식이 개발자에게는 즐거운 방식인 것은 확실.

blog bottom up top down 소프트웨어 개발

Blog Logo

양철웅

Chul-Woong Yang


Published