- 해결하고 싶은 문제 식별, 개선하고 싶은 코드 작성
- 다양한 아키텍처에 대한 평가
- Try a couple patterns on for size before committing to one.
- 각 아키텍처 적용 기준을 세운다.
- 2번에서 찾은 문제를 가장 효과적으로 해결하는 아키텍처를 분석한다.
- 점차적으로 앱 아키텍처를 적용하고 개선한다.
아키텍처 패턴을 선택하는 것이 항상 가장 우선하는것이 아니다 라는 점이 핵심!
개발 속도 향상 및 코드 품질 강화
아래에 해당되는 것은 개발 속도와 코드 품질을 하락시키는 문제이다.
- 내 앱의 코드 베이스가 이해하기 어렵다.
- 하나의 코드베이스를 수정하면 다른 코드베이스도 수정하는 반복적인 현상이 일어난다.
- 앱이 실행될 때 취약한 동작을 보인다.
- 내 코드는 재사용이 어렵다.
- 코드 변경 시 대규모 코드 리펙터가 필요하다.
- 팀원들은 서로의 발을 밟는다.
- 내 앱의 코드베이스는 단위 테스트가 어렵다.
- 팀이 사용자 스토리를 작업으로 나누는데 어려움을 겪고 있다.
- 컴파일 하는데 시간이 오래 걸린다.