IT/소프트웨어 아키텍처

개발자에서 아키텍트로 - 2장. 디자인 싱킹 기초(4가지 원칙)

착한선배 2024. 12. 26. 06:46

소프트웨어 시스템을 설계하는 일은 문제 해경을 하는 동시에 아직 발견하지 못한 문제를 찾아가는 일 입니다.

이처럼 어려운 일을 할 때 도움이 되는 방법을 디자인 씽킹이라고 합니다. 디자인 씽킹은 문제 해결의 모든 기준을 인간에 두고, 창의적이고 분석적으로 문제를 풀어가는 접근법 입니다. 

2.1 디자인 싱킹의 4가지 원칙

해당 원칭은 소프트웨어 아키텍처 뿐 아니라 세부적인 프로그램 설계, UI 디자인, 기타 디자인이 중심이 되는 어떤 분야에도 적용 될 수 있습니다. 

  1. 인간 중심 원칙 : 모든 디자인은 사회적이다.
  2. 모호함의 원칙 : 모호함을 유지하라
  3. 재디자인의 원칙 : 모든 디자인은 다시 디자인한 것이다.
  4. 촉각의 원칙 : 손에 잡히는 디자인이 대화를 이끌어 낸다.

2.1.1 모든 디자인은 사회적이다.

소프트웨어를 만드는 일은 다분히 사회적인 활동 입니다. 팀을 고려하지 않고 학문적으로 접근한 설계는 허구 입니다.

사회적인 아키텍트를 위한 방법은 아래와 같습니다.

  • 아키텍트는 모든 이해관계자들과 공감대를 형성
  • 사람을 존중하는 마음가짐으로 의견을 경청하고 인간중심적인 설계 방법을 활용하여 일을 진행
  • 아키텍트는 팀원들과 직접 소통하며 함께 설계
  • 아키텍트와 팀을 분리하면 사람들과 관계도 끊김

2.1.2 모호함을 유지하라.

설계를 확정하기 전까지는 당분간 모호함을 유지 해야 합니다.

  • 최소한의 아키텍처를 만들어 여러 구조를 정리 할 수 있는 방향 제시
  • 최소한의 아키텍처를 만들고 나머지 설계 과정은 하위 설계자가 알아서 결정 할 수 있도록 해야 함
  • 모호함을 유지하면 주변 상황이 바뀌더라도 소프트웨어를 제때 공급 할 수 있습니다.

2.1.3 모든 디장인은 다시 디자인한 것이다.

'다시 디자인 한다' 는 의미는 과거의 디자인에서 패튼을 찾고 고찰해 보는 것 입니다. 

  • 현재의 문제는 과거에도 고민 했을 수 있다. 과거의 문제를 고민한 문서를 기반으로 설계함.
  • 재설계는 소트프웨어 아키텍처를 설계할 때 바닥부터 새롭게 만드는 것보다 현재의 설계를 갈고닦는 데에 많은 시간을 쓸수 있음.
  • 가장 비효율적인 일은 과거에 존재한 시스템을 완전히 무시하는 일

2.1.4 손에 잡히는 디자인이 대화를 이끌어 낸다.

코드는 읽기 어렵고 또한 토론하기도 어렵습니다. 다른 사람들과 아키텍처를 공유하려면 코드만으로 표현 할 수 없는 방식으로 공유를 해야 합니다. 

  • 그림으로 코드를 구현
  • 프로토타입을 만들어서 사람들과 공유
  • 단순한 모델을 만들어서 아키텍처의 한 부분을 공유

이런 방법은 '모든 디자인은 사회적이다'와 맥을 같이 합니다. 아키텍처는 손으로 느낄 수 있게 해야만 다른 사람과 공유 할 수 있습니다.

반응형