Top

콘셉트로 풀어내는 소프트웨어 디자인 [사용자 중심의 소프트웨어 디자인을 위한 실용 가이드]

  • 원서명Essence of Software: Why Concepts Matter for Great Design (ISBN 9780691225388)
  • 지은이다니엘 잭슨(Daniel Jackson)
  • 옮긴이이정표
  • ISBN : 9791161758657
  • 28,000원
  • 2024년 09월 30일 펴냄
  • 페이퍼백 | 380쪽 | 188*235mm
  • 시리즈 : UX 프로페셔널

책 소개

요약

소프트웨어 개발자, 디자이너, IT 관련 업무 종사자라면 누구나 사용하기 어렵거나, 오류가 잦거나, 결함이 있는 소프트웨어 때문에 골머리를 앓은 경험이 있을 것이다. MIT 컴퓨터과학과 교수 다니엘 잭슨은 이러한 문제의 근본 원인을 해결하기 위해 소프트웨어 디자인에 대한 혁신적인 '콘셉트' 기반 접근법을 제시한다. 이 책은 소프트웨어를 상호작용하는 '콘셉트'들의 집합으로 보고, 이를 통해 복잡성을 줄이고 사용자 경험을 향상시키며 오류를 줄이는 방법을 제시한다. 구글, 애플, 마이크로소프트 등 유명 기업의 소프트웨어 사례를 통해 '콘셉트'를 식별하고 정의하고 보존하고 재사용하는 방법을 배운다. 현직 디자이너뿐만 아니라 소프트웨어 디자인에 첫발을 내딛는 초보자에게도 유용한 이 책은, 소프트웨어 디자인에 대한 새로운 접근 방식을 제시하며 더 나은 소프트웨어를 만들 수 있도록 안내한다.

이 책의 대상 독자

소프트웨어의 디자인이나 사용성에 관심이 있는 모든 사람을 대상으로 하는 책이다. 독자는 프로그래머일 수도 있고 소프트웨어 아키텍트, 유저 인터랙션 디자이너, 컨설턴트나 분석가, 프로그램 매니저, 마케팅 전략 담당자, 컴퓨터 공학 전공생, 교사, 연구자일 수도 있다. 또한 나와 마찬가지로 어떤 디자인은 왜 큰 성공을 거두는데 다른 것은 크게 실패하는지를 궁금해하는 사람일 수도 있다.
이 책에서 소개하는 많은 원칙은 정교한 논리를 다루지만, 컴퓨터 과학이나 수학에 대한 지식 없이도 내용을 이해하는 데 지장이 없을 것이다. 되도록 많은 독자를 위해 워드프로세서부터 소셜 미디어 앱에 이르기까지 유명한 앱을 예제로 많이 사용했다. 비록 일부 독자에게는 약간 어려울 수도 있겠지만, 대부분은 쉽게 따라 할 수 있을 것이다. 독자가 현재 사용하고는 있지만 완전히 이해하지 못하는 앱에 대해서도 확실하게 이해하는 기회가 되길 바란다.

이 책의 구성

1부는 동기부여와 관련된 세 개의 장으로 이뤄졌다. 1장은 이 책의 도입부로, 이 책을 쓰게 된 이유와 다른 분야(인간-컴퓨터 상호작용, 소프트웨어 공학과 디자인 씽킹)에서 아직 해결되지 않은 문제에 대해 설명한다. 2장은 콘셉트의 첫 번째 사례와 사용성에 미치는 영향을 살펴보고 사용자 경험 디자인 계층의 최상위에 해당하는 콘셉트 디자인을 다룬다. 3장은 제품 차별화 요소에서 디지털 전환의 핵심 요소에 이르기까지 콘셉트가 갖는 다양한 역할에 대해 간략히 설명한다.
2부는 이 책의 핵심이다. 4장은 콘셉트가 정확히 무엇이고 어떻게 구조화할 수 있는지를 설명한다. 5장은 콘셉트의 목적을 동기와 척도라는 기본 아이디어로 살펴본다. 6장은 단순하지만 강력한 동기화 메커니즘을 사용해 앱이나 시스템을 콘셉트 구성의 관점에서 이해하는 방법을 알려 준다. 그리고 과대-동기화나 과소-동기화가 사용성을 어떻게 손상시키는지를 설명하고 기존에는 복잡해서 나눌 수 없다고 여겨지는 기능들을 별개 콘셉트의 융합으로 시너지를 내는 방법도 알아본다. 7장은 사용자 인터페이스와 콘셉트를 대응시키는 것이 생각처럼 간단하지 않고 때로는 디자인 문제가 콘셉트 자체가 아니라 버튼이나 디스플레이를 구현하는 데 있다는 것을 보여 준다. 8장은 매우 높은 수준에서 서로 의존하는 콘셉트의 집합으로써 소프트웨어의 구조를 생각하는 방법을 소개한다. 즉, 어떤 콘셉트가 제대로 동작하기 위해 다른 콘셉트에 의존하는 방식이 아니라 콘셉트의 특정 결합을 통해 앱의 기능을 구성하는 방법을 소개한다.
3부는 콘셉트 디자인의 세 가지 핵심 원칙을 하나씩 다룬다. 즉, 콘셉트는 구체적이어야 하고(9장), 친숙해야 하며(10장), 합쳐졌을 때도 무결성이 유지돼야 한다(11장)는 내용을 설명한다.

저자/역자 소개

지은이의 말

콘셉트 디자인이란, 기술에 통달하지 않고도 소프트웨어 디자인 및 그 활용에 적용할 수 있는 간단한 아이디어를 말한다. 내가 대부분의 예제에서 사용하는 콘셉트는 독자에게도 낯설지 않을 것이다. 독자가 이 책을 다 읽은 후 콘셉트는 소프트웨어에 있어 당연한 것이며, 직관적인 아이디어에 필요한 체계적인 프레임워크 외에는 별로 배운 것이 없다는 결론을 낸다면 나는 이를 칭찬으로 받아들일 것이다.
나는 독자들이 이 책을 관통하는 주제에 익숙하고 내용에 공감한다 하더라도 소프트웨어에 대한 새로운 사고방식은 받아들이기 어려울 것이라고 생각한다. 소프트웨어 디자이너들이 십수 년 동안 콘셉트 모델과 그 중요성에 대해 강조했지만, 한 번도 콘셉트가 소프트웨어 디자인의 중심이 된 적은 없었다. 만약 모든 소프트웨어 앱과 시스템이 콘셉트의 관점에서 디자인된다면 어떤 모습을 띄게 될까? 여기서 콘셉트가 말하는 것은 정확히 무엇일까? 어떻게 구성되는 것일까? 이것들이 어떻게 결합돼 완전한 제품을 형성하는 것일까?
이러한 질문에 대한 최선의 답을 찾다 보니 처음 구상할 때보다 훨씬 두꺼운 책을 쓰게 됐다. 그래서 다양한 수준의 독자들이 쉽게 접할 수 있도록 내용을 구성했다. 독자 중에는 실용적인 방안만 최대한 빠르게 알고 싶은 사람도 있을 것이고 시간이 좀 더 걸리더라도 내용을 깊이 있게 알고 싶은 사람도 있을 것이다. 지금부터 설명하는 내용을 읽어 보면 독서 계획을 세우는 데 도움이 될 것이다.

지은이 소개

다니엘 잭슨(Daniel Jackson)

MIT의 컴퓨터과학 교수이자 MIT 컴퓨터과학 및 인공지능 연구소의 부소장으로, 『Software Abstractions』(MIT Press, 2016)와 『Portraits of Resilience』(MIT Press, 2017)의 저자이다.

옮긴이의 말

‘왜 어떤 소프트웨어 제품은 고급스러우면서도 직관적이고, 기본 기능만 익히면 복잡한 기능도 금세 자연스럽게 응용할 수 있는 데 비해, 어떤 제품은 불필요하게 복잡하고 일관성 없이 동작할까?’라는 생각은 소프트웨어 개발 분야에 종사하는 사람이라면 누구나 한 번쯤 가져봤을 것이다. 역시 소프트웨어 개발 분야에서 오랫동안 몸담았던 역자도 같은 생각을 하면서 이 책을 번역했다.
MIT 컴퓨터과학과 교수인 다니엘 잭슨은 이러한 질문에 대한 대답으로 소프트웨어 디자인에 대한 혁신적인 ‘콘셉트’ 기반 접근법을 제시한다. 저자는 우리에게도 상당히 익숙한 100개가 넘는 앱의 사례를 통해 소프트웨어 디자인에 대한 새로운 관점을 제시하면서 오래된 질문에 대한 새로운 답을 제시한다. 그의 ‘콘셉트’ 기반 접근법이라는 아이디어는 획기적인듯하면서도 친숙하고, 깊이가 있으면서 단순한데, 기본적으로는 인간 중심의 접근법을 제시하기 때문에 소프트웨어를 더 유용하게 디자인하는 방법을 제공하는 프레임워크라 할 수 있다.
특이하게도 이 책은 전체의 40% 정도가 주석으로 구성돼 있다. 이는 독자들이 핵심 주제를 빠르게 간단히 이해할 수 있도록 저자가 의도한 구성이며, 본문에서 다루지 않은 내용은 주석에서 상세히 설명하고 있다.
또한, 다양한 분야와 수준의 일반 독자를 위한 책으로, 소스 코드가 없어서 코딩 세부 사항보다는 소프트웨어 디자인의 원칙에 좀 더 집중할 수 있을 것이다.
모쪼록 이 책이 소프트웨어 개발자, 디자이너뿐만 아니라 전략가, 마케터, 관리자 등 훌륭한 소프트웨어 제품과 도구를 만드는 분들께 도움이 되는 안내서가 되길 바란다.

옮긴이 소개

이정표

모바일 브라우저 개발부터 클라우드 서비스 기획까지 20년간 다양한 개발 프로젝트에 참여했으며 현재는 SW와 IT 분야의 기술 조사 평가 업무를 하고 있다. 개발 환경 최적화에 관심을 갖고 에이콘출판사에서 펴낸 『젠킨스 마스터』(2018), 『젠킨스 블루오션 시작하기』(2019), 『린 모바일 앱 개발』(2019), 『배포 자동화와 지속적 인도』(2022), 『젠킨스로 배우는 CI/CD 파이프라인 구축』(2024), 『알고리듬으로 생각하기』(2024) 등을 번역했다.
크리에이티브 커먼즈 코리아의 자원 활동가로 활동했으며, 개인 시간에는 오픈 소스 및 오픈 라이선스를 활용한 정보의 개방과 활성화에 관심을 갖고 활동하고 있다. 이와 관련해 『The Power of Open 한국어판』, 『참여와 소통의 정부 2.0』(아이앤유, 2011), 『난독화, 디지털 프라이버시 생존 전략』(에이콘, 2017), 『알고리즘 윤리』(2022년 대한민국학술원 선정 우수학술도서)(에이콘, 2021) 등을 번역했다.

목차

목차
  • 01. 집필 동기
  • 소프트웨어 디자인에 대한 관심
  • 컴퓨터 과학 및 타 분야에서의 디자인
  • 디자인의 명확성과 단순성
  • 프로젝트를 시작하게 된 동기
  • 이 책의 목표: 대화의 물꼬 트기

  • 02. 콘셉트의 발견
  • 첫 번째 사례: 당황스러운 백업 동작
  • 드롭박스의 착각
  • 드롭박스의 설명
  • 이것은 어떤 종류의 결함일까?
  • 디자인 계층
  • 멘탈 모델과 콘셉트 디자인
  • 핵심 정리 및 실천사항

  • 03. 콘셉트가 도움을 주는 방법
  • 앱을 특징 짓는 콘셉트
  • 제품군을 특징 짓는 콘셉트
  • 제품을 차별화하는 콘셉트
  • 복잡함을 드러내는 콘셉트
  • 비즈니스를 정의하는 콘셉트
  • 비용과 이익을 결정하는 콘셉트
  • 콘셉트는 관심사를 분리한다
  • 콘셉트는 재사용할 수 있다
  • 콘셉트는 사용성 장애를 식별하는 데 도움이 된다
  • 콘셉트는 안전과 보안을 보장한다
  • 콘셉트는 디자인 비평의 근거가 된다
  • 핵심 정리 및 실천사항

  • 2부. 본질
  • 04. 콘셉트의 구조
  • 애플의 킬러 콘셉트: 휴지통
  • ‘휴지통’ 콘셉트: 마침내 수정된 디자인 결함
  • 데스크톱 출판의 기본 콘셉트: 스타일
  • 유사 스타일
  • 19세기 콘셉트: 예약
  • 디자이너의 예약
  • 핵심 정리 및 실천사항

  • 05. 콘셉트의 목적
  • 목적: 명확성을 위한 첫 단계
  • 목적의 기준
  • 목적은 디자인 난제를 해결한다
  • 목적 없는 콘셉트: 수전 및 에디터 버퍼
  • 목적이 불분명한 콘셉트: 트위터의 ‘마음에 들어요’ 기능
  • 혼란스러운 콘셉트 악용: 베이비시터 사기
  • 이 콘셉트가 정말 그렇게 어려울까? 이미지의 크기에 관한 이야기
  • 누구의 목적인가? 내 것 또는 당신 것?
  • 기만적인 목적
  • 부적합: 목적이 달성되지 않을 때
  • 잘못된 디자인에 따른 치명적인 부적합
  • 상황 변화에 따른 부적합
  • 과거의 부적합으로 회귀
  • 핵심 정리 및 실천사항

  • 06. 콘셉트의 구성
  • 왜 기존 구성은 동작하지 않을까?
  • 새로운 종류의 구성
  • 자유 구성
  • 협업 구성
  • 시너지 구성
  • 휴지통과 폴더의 아름다운 시너지 효과
  • 시너지는 완벽하지 않다
  • 과대-동기화 및 과소-동기화
  • 과대-동기화 및 취소된 세미나의 이상한 사례
  • 과소-동기화 및 가입할 수 없는 그룹
  • 핵심 정리 및 실천사항

  • 07. 콘셉트의 의존성
  • 콘셉트를 점진적으로 확장하기
  • 콘셉트 인벤토리 구축
  • 일반 콘셉트의 목록
  • 콘셉트 의존성 다이어그램
  • 앱 구조 분석 사례
  • 핵심 정리 및 실천사항
  • 08. 콘셉트의 매핑
  • 간단한 개념을 어렵게 만드는 방법
  • 인터페이스에 사용자 매뉴얼 포함
  • 다크 패턴: 의도적 난독화
  • 복잡한 매핑 구성: 지메일 레이블의 미스터리
  • 이해할 수는 있지만, 쓸모 없는: 백블레이즈 복원
  • 실시간 필터링의 수수께끼
  • 모호한 액션 해결
  • 표준 위젯으로 충분하지 않을 때: ‘값 없음’으로 설정
  • 핵심 정리 및 실천사항

  • 3부. 원칙
  • 09. 콘셉트의 구체성
  • 목적 없는 콘셉트
  • 콘셉트 없는 목적
  • 중복 콘셉트
  • 콘셉트 과부화
  • 잘못된 통합에 따른 과부하
  • 거부된 목적에 따른 과부하
  • 새로운 목적에 의한 과부하
  • 피기백에 따른 과부하
  • 목적의 세분성 및 일관성
  • 일관성 기준 적용: 페이스북의 ‘좋아요’ 콘셉트
  • 콘셉트 분할: 페이스북의 ‘좋아요’ 콘셉트
  • 핵심 정리 및 실천사항

  • 10. 콘셉트의 친숙성
  • 성공적인 콘셉트 재사용
  • 슬라이드 그룹화: 발명하지 않기
  • 프리셋 내보내기: 확장이 익숙함을 깨뜨릴 때
  • 콘셉트 구현의 적합성
  • 핵심 정리 및 실천사항

  • 11. 콘셉트의 무결성
  • 노골적인 위반: 복수심에 불타는 식당 주인
  • 글꼴 서식: 오랜 디자인 문제
  • 구글 드라이브에서 평생의 작업물 잃어버리기
  • 핵심 정리 및 실천사항

  • 12. 기억해야 할 질문
  • 전략가, 분석가, 컨설턴트를 대상으로 한 질문
  • 인터랙션 디자이너 및 제품 관리자를 대상으로 한 질문
  • 기술 문서 작성자, 트레이너 및 마케터를 대상으로 한 질문
  • 프로그래머와 아키텍트 대상 질문
  • 연구자 및 소프트웨어 철학자를 대상으로 한 질문

  • 맺음말
  • 감사의 말
  • 리소스
  • 둘러보기

도서 오류 신고

도서 오류 신고

에이콘출판사에 관심을 가져 주셔서 고맙습니다. 도서의 오탈자 정보를 알려주시면 다음 개정판 인쇄 시 반영하겠습니다.

오탈자 정보는 다음과 같이 입력해 주시면 됩니다.

(예시) p.100 아래에서 3행 : '몇일'동안 -> 며칠동안