스노우볼은 작은 실수가 모여 큰 결과 차를 만든다는 뜻으로 여러 방면에서 쓰이는 용어이다. 스노우볼은 개발에서도 그 의미가 유효하다.
개발에서의 스노우볼은 주로 설계단계에서 발생한다. 개발 단계에서 발생하는 문제는 개발단계에서 해결하면 그만이지만 설계단계에서의 문제는 설계단계까지 올라가서 해결해야 하는 문제이다. 즉 설계단계에서의 문제는 개발프로세스의 리소스를 많이 갉아먹게 된다.
이러한 설계상의 문제를 최소화하기 위해서 다음과 같은 방법을 사용한다.
의뢰한 회사에 대한 일반사항을 이해한다.
전체 업무를 대상으로 분할할 수는 없으므로 전체 업무를 분석하게 적당한 크기로 나눈다.
각 서브젝트 에어리어에 대해 업무에 관련된 부서들을 수집한다.
업무 담당자들을 만나 인터뷰한다.
모인 문서와 인터뷰 자료를 분류하고 체계적으로 정리한다.
업무 매뉴얼
업무 과정에서 발생, 주고받는 각종 문서
고유 업무를 위한 문서들
인터뷰를 통해 얻고자 하는 명확한 목표를 수립한다.
데이터베이스 설계와 관련된 인터뷰의 일반적인 목적은 조직의 데이터 처리와 결정을 내리는 활동, 요구되는 기능에 대한 정보를 수집하는 일이다.
인터뷰 대상의 업무에 대해 최대한 숙지한다.
누구와 인터뷰할 것인지 결정한다.
인터뷰에 응하는 사람이 미리 준비할 수 있도록 배려한다.
인터뷰에 응하는 사람이 업무에 지장이 가지 않도록 인터뷰 시간을 계획한다.
질문하고 싶은 내용을 미리 문서로 작성한다.
분석자가 여러 사람이라면 인터뷰 시 역할을 분담한다.
질문의 종류에는 열린 질문, 닫힌 질문, 추가 질문이 있다.
열린 질문은 고정된 답이 아닌 인터뷰 대상자의 의견을 자유롭게 표현할 수 있도록 질문하는 것이다. 닫힌 질문은 열린 질문과 반대로 고정된 답이 있고 인터뷰 대상자에게 고르도록 제약을 가하는 질문 방식이다. 추가 질문은 대상자의 답변 중 명확하게 알고 싶은 부분이 있을 때 사용하는 방법이다.
이러한 인터뷰 시 중요한 포인트는 인터뷰를 주도적으로 진행해야 하는 것이다. 주도적으로 진행되지 않는 경우 인터뷰를 통해 원하는 정보를 얻을 수 없을 가능성이 매우 높다.
자료의 수집과 분석, 인터뷰를 거치고 나온 많은 문서를 정리하여 시스템 설계에 사용할 수 있게 개념화, 도식화 하여 케이스 도구 혹은 모델링 도구를 사용하여 정리한다.
분석 내용의 정리에 사용되는 도표중 데이터베이스 설계와 직접 관련이 있는 데이터 흐름도 (DFD)는 다음과 같은 표기법을 이용한다.
처리되기를 기다리면서 머물고 있는 자료의 집합을 나타낸다. 연결된 데이터 흐름을 보면 저장 중인 것 인지 읽히고 있는 것인지를 알 수 있다.
입력 데이터 흐름을 출력 데이터 흐름을오 변환 시키는 단계이다.
데이터가 이동하는 통로및 방향을 나타낸다.
자료의 발생지와 도착지를 의미한다.