SlideShare une entreprise Scribd logo
1  sur  8
소프트웨어 아키텍트가
 알아야할 97가지
           아꿈사
           이영권
 whiletrue0222@gmail.com
• 커밋하고 도망가는 것은 범죄다
 o   Niclas Nilsson (p30)
• 일정을 지켜라
 o   Norman Carnovale (p42)
• 개발자에게 자율성을 부여하라
 o   Philip Nelson (p64)
• 간단한 것은 간단하게 하라
 o   Chad LaVigne (p124)
• 보이는 것처럼 그렇게 되지 않는다
 o   Peter Gillard-Moss (p166)
커밋하고 도망가는 것은 범죄다
                       Niclas Nilsson (p30)

• 누군가가 커밋하고 도망가면 남은 사람들이 해결해야하며 리
  듬은 깨지고 흐름은 멈춘다.
• 사람들은 자신의 시간을 줄이려고 문제가 될 수 있는 것을 커
  밋한다.
• 자동화된 테스팅을 위한 건실한 아키텍처를 보장할 필요가
  있다.
• 테스트가 빠르게 실행되고 더 자주 할 수 있도록 하자.
• 빠른 테스트로 커밋&도망을 생각 못하게하자.
일정을 지켜라
                    Norman Carnovale (p42)

• 일반적인 프로젝트 실패 원인은 진행중 계획없이 일정을 변
  경하는 것.
• 일정에 다음과 같은 것을 따질 때 문제가 시작된다.
  o 동일한 일정 동안 얼마나 많은 것을 했는지
  o 작업량을 안줄이면서 일정을 단축시켰는지를 따질 때
• 무분별한 일정 변경은 문제를 발생시킨다.
  o 저렴한 설계, 나쁜 문서, 나쁜 품질
  o 버그 증가, 문제수정 비용증가
• 비용을 축소하면 실패가 증가한다.
• 일정 단축이 필요하다면 기능을 다음 릴리즈로 넘겨라.
• 협상 능력을 갈고 닦아라.
개발자에게 자율성을 부여하라
                          Philip Nelson (p64)

• 개발자가 설계를 따르도록 통제하는 것은 나쁘다.
  o 자유를 주어 창조성과 능력을 행사하도록 하는 것도 중요
    하다.
• 전체시스템이 잘 맞춰지는지 바라보고 지속적으로 확인해라.
• 작업의 어려움, 설계된 API 사용 실수, 이해 부족 등 개발자가
  문제를 겪고 있을 때 조언하고 설계를 명확히해라.
• 고군분투하는 것을 볼 때 조언하고, 찾아와 조언을 요청할 수
  있는 환경을 만들어라.
간단한 것은 간단하게 하라
                       Chad LaVigne (p124)

• '간단한 문제-복잡한 해결책'이라는 함정에 쉽게 빠질 수 있다
  .
• 오버 엔지니어링은 기회비용이 많이 발생할 수 있다.
• 당장 필요한 기능만 구현하라.
    o 잠재적인 요구사항은 배제
• 필요할 때 복잡하게 하라.
    o 잠재적인 요구사항이 실제 상황이 되었을 때
보이는 것처럼 그렇게 되지 않는다
                    Peter Gillard-Moss (p166)

• 설계한 대로 될거라고 생각한다.
• 그러나 그렇게 되지 않는다.
  o 잘못된 정보, 제약사항, 내 잘못, 남의 잘못
• 사소한 설계 변경은 누적되며 처음부터 다시 시작해야 하는
  상황에 이르게 된다.
• 다시 철저히 설계하려 하지만 그렇게 되지 않는다.
• 설계는 항상 진행 중이라는 것을 받아들여라.
감사합니다 :D

Contenu connexe

En vedette

더 나은 SW프로젝트를 위해
 더 나은 SW프로젝트를 위해 더 나은 SW프로젝트를 위해
더 나은 SW프로젝트를 위해지수 윤
 
7주 JavaScript Part1
7주 JavaScript Part17주 JavaScript Part1
7주 JavaScript Part1지수 윤
 
How to live_as_game_qa_by_seokjun_jin_20130925
How to live_as_game_qa_by_seokjun_jin_20130925How to live_as_game_qa_by_seokjun_jin_20130925
How to live_as_game_qa_by_seokjun_jin_20130925angel927
 
위대한개발문화
위대한개발문화위대한개발문화
위대한개발문화신승환
 
소프트웨어개발자는누구인가?
소프트웨어개발자는누구인가?소프트웨어개발자는누구인가?
소프트웨어개발자는누구인가?Minsuk Lee
 
14회 jco 컨퍼런스 조대협의 소프트웨어 개발 배포용
14회 jco 컨퍼런스 조대협의 소프트웨어 개발 배포용14회 jco 컨퍼런스 조대협의 소프트웨어 개발 배포용
14회 jco 컨퍼런스 조대협의 소프트웨어 개발 배포용Terry Cho
 
MongoDB World 2015 - A Technical Introduction to WiredTiger
MongoDB World 2015 - A Technical Introduction to WiredTigerMongoDB World 2015 - A Technical Introduction to WiredTiger
MongoDB World 2015 - A Technical Introduction to WiredTigerWiredTiger
 
품질관리 기본교육자료 #
품질관리 기본교육자료 #품질관리 기본교육자료 #
품질관리 기본교육자료 #Woongseok Yun
 
애자일 개발 프로세스를 이용한 고품질 소프트웨어 개발
애자일 개발 프로세스를 이용한 고품질 소프트웨어 개발애자일 개발 프로세스를 이용한 고품질 소프트웨어 개발
애자일 개발 프로세스를 이용한 고품질 소프트웨어 개발Jaehoon Oh
 
테스트자동화 성공전략
테스트자동화 성공전략테스트자동화 성공전략
테스트자동화 성공전략SangIn Choung
 
Ui test 자동화하기 - Selenium + Jenkins
Ui test 자동화하기 - Selenium + JenkinsUi test 자동화하기 - Selenium + Jenkins
Ui test 자동화하기 - Selenium + JenkinsChang Hak Yeon
 
개발자의 현재와 미래
개발자의 현재와 미래개발자의 현재와 미래
개발자의 현재와 미래수보 김
 
빅데이터의 활용
빅데이터의 활용빅데이터의 활용
빅데이터의 활용수보 김
 

En vedette (15)

Process
ProcessProcess
Process
 
더 나은 SW프로젝트를 위해
 더 나은 SW프로젝트를 위해 더 나은 SW프로젝트를 위해
더 나은 SW프로젝트를 위해
 
7주 JavaScript Part1
7주 JavaScript Part17주 JavaScript Part1
7주 JavaScript Part1
 
How to live_as_game_qa_by_seokjun_jin_20130925
How to live_as_game_qa_by_seokjun_jin_20130925How to live_as_game_qa_by_seokjun_jin_20130925
How to live_as_game_qa_by_seokjun_jin_20130925
 
Game qa
Game qaGame qa
Game qa
 
위대한개발문화
위대한개발문화위대한개발문화
위대한개발문화
 
소프트웨어개발자는누구인가?
소프트웨어개발자는누구인가?소프트웨어개발자는누구인가?
소프트웨어개발자는누구인가?
 
14회 jco 컨퍼런스 조대협의 소프트웨어 개발 배포용
14회 jco 컨퍼런스 조대협의 소프트웨어 개발 배포용14회 jco 컨퍼런스 조대협의 소프트웨어 개발 배포용
14회 jco 컨퍼런스 조대협의 소프트웨어 개발 배포용
 
MongoDB World 2015 - A Technical Introduction to WiredTiger
MongoDB World 2015 - A Technical Introduction to WiredTigerMongoDB World 2015 - A Technical Introduction to WiredTiger
MongoDB World 2015 - A Technical Introduction to WiredTiger
 
품질관리 기본교육자료 #
품질관리 기본교육자료 #품질관리 기본교육자료 #
품질관리 기본교육자료 #
 
애자일 개발 프로세스를 이용한 고품질 소프트웨어 개발
애자일 개발 프로세스를 이용한 고품질 소프트웨어 개발애자일 개발 프로세스를 이용한 고품질 소프트웨어 개발
애자일 개발 프로세스를 이용한 고품질 소프트웨어 개발
 
테스트자동화 성공전략
테스트자동화 성공전략테스트자동화 성공전략
테스트자동화 성공전략
 
Ui test 자동화하기 - Selenium + Jenkins
Ui test 자동화하기 - Selenium + JenkinsUi test 자동화하기 - Selenium + Jenkins
Ui test 자동화하기 - Selenium + Jenkins
 
개발자의 현재와 미래
개발자의 현재와 미래개발자의 현재와 미래
개발자의 현재와 미래
 
빅데이터의 활용
빅데이터의 활용빅데이터의 활용
빅데이터의 활용
 

Similaire à 소프트웨어 아키텍트가 알아야할 97가지

이승재, 일정대로 출시하기 왜 & 어떻게: 개발자를 위한 제작진행개론, NDC2017
이승재, 일정대로 출시하기 왜 & 어떻게: 개발자를 위한 제작진행개론, NDC2017이승재, 일정대로 출시하기 왜 & 어떻게: 개발자를 위한 제작진행개론, NDC2017
이승재, 일정대로 출시하기 왜 & 어떻게: 개발자를 위한 제작진행개론, NDC2017devCAT Studio, NEXON
 
"행복한 백발의 개발자"라는 제목으로 2024-03-06 어느 IT 업체에서 직책자로 승진한 분들을 대상으로 한...
"행복한 백발의 개발자"라는 제목으로 2024-03-06 어느 IT 업체에서 직책자로 승진한 분들을 대상으로 한..."행복한 백발의 개발자"라는 제목으로 2024-03-06 어느 IT 업체에서 직책자로 승진한 분들을 대상으로 한...
"행복한 백발의 개발자"라는 제목으로 2024-03-06 어느 IT 업체에서 직책자로 승진한 분들을 대상으로 한...Myeongseok Baek
 
Agile SW 개발
Agile SW 개발Agile SW 개발
Agile SW 개발혁 권
 
NDC2019 - 게임플레이 프로그래머의 역할
NDC2019 - 게임플레이 프로그래머의 역할NDC2019 - 게임플레이 프로그래머의 역할
NDC2019 - 게임플레이 프로그래머의 역할Hoyoung Choi
 
애자일 프랙티스
애자일 프랙티스애자일 프랙티스
애자일 프랙티스한 경만
 
프로그래머로사는법 Ch10
프로그래머로사는법 Ch10프로그래머로사는법 Ch10
프로그래머로사는법 Ch10HyeonSeok Choi
 
현장에서 사용하는 Software production
현장에서 사용하는 Software production현장에서 사용하는 Software production
현장에서 사용하는 Software productionJinho Yoo
 
오픈소스 소프트웨어 개발, 어디서부터 시작하는게 좋을까요? @ CNU(충남대)
오픈소스 소프트웨어 개발, 어디서부터 시작하는게 좋을까요? @ CNU(충남대)오픈소스 소프트웨어 개발, 어디서부터 시작하는게 좋을까요? @ CNU(충남대)
오픈소스 소프트웨어 개발, 어디서부터 시작하는게 좋을까요? @ CNU(충남대)Jaewon Choi
 
쩌는 게임 기획서, 이렇게 쓴다(How to write great design documents) from GDC 2008 (Korean)
쩌는 게임 기획서, 이렇게 쓴다(How to write great design documents) from GDC 2008 (Korean)쩌는 게임 기획서, 이렇게 쓴다(How to write great design documents) from GDC 2008 (Korean)
쩌는 게임 기획서, 이렇게 쓴다(How to write great design documents) from GDC 2008 (Korean)Kay Kim
 
제13회컨퍼런스 조대협 서버사이드개발
제13회컨퍼런스 조대협 서버사이드개발제13회컨퍼런스 조대협 서버사이드개발
제13회컨퍼런스 조대협 서버사이드개발Terry Cho
 
두 번째 startlink.live: 박성원 (ntopia) - PS가 이렇게 해롭습니다. 여러분!
두 번째 startlink.live: 박성원 (ntopia) - PS가 이렇게 해롭습니다. 여러분!두 번째 startlink.live: 박성원 (ntopia) - PS가 이렇게 해롭습니다. 여러분!
두 번째 startlink.live: 박성원 (ntopia) - PS가 이렇게 해롭습니다. 여러분!Startlink
 
Business Driven Development.pdf
Business Driven Development.pdfBusiness Driven Development.pdf
Business Driven Development.pdfssuser24f6db
 
Scrum - Agile Development Process
Scrum - Agile Development ProcessScrum - Agile Development Process
Scrum - Agile Development ProcessKook Maeng
 
쩌는게임기획서 이렇게 쓴다
쩌는게임기획서 이렇게 쓴다쩌는게임기획서 이렇게 쓴다
쩌는게임기획서 이렇게 쓴다Jinho Jung
 
임태현, 프로그래머 생존 가이드
임태현, 프로그래머 생존 가이드임태현, 프로그래머 생존 가이드
임태현, 프로그래머 생존 가이드태현 임
 

Similaire à 소프트웨어 아키텍트가 알아야할 97가지 (20)

이승재, 일정대로 출시하기 왜 & 어떻게: 개발자를 위한 제작진행개론, NDC2017
이승재, 일정대로 출시하기 왜 & 어떻게: 개발자를 위한 제작진행개론, NDC2017이승재, 일정대로 출시하기 왜 & 어떻게: 개발자를 위한 제작진행개론, NDC2017
이승재, 일정대로 출시하기 왜 & 어떻게: 개발자를 위한 제작진행개론, NDC2017
 
Chean code chapter 1
Chean code chapter 1Chean code chapter 1
Chean code chapter 1
 
"행복한 백발의 개발자"라는 제목으로 2024-03-06 어느 IT 업체에서 직책자로 승진한 분들을 대상으로 한...
"행복한 백발의 개발자"라는 제목으로 2024-03-06 어느 IT 업체에서 직책자로 승진한 분들을 대상으로 한..."행복한 백발의 개발자"라는 제목으로 2024-03-06 어느 IT 업체에서 직책자로 승진한 분들을 대상으로 한...
"행복한 백발의 개발자"라는 제목으로 2024-03-06 어느 IT 업체에서 직책자로 승진한 분들을 대상으로 한...
 
Agile SW 개발
Agile SW 개발Agile SW 개발
Agile SW 개발
 
NDC2019 - 게임플레이 프로그래머의 역할
NDC2019 - 게임플레이 프로그래머의 역할NDC2019 - 게임플레이 프로그래머의 역할
NDC2019 - 게임플레이 프로그래머의 역할
 
애자일 프랙티스
애자일 프랙티스애자일 프랙티스
애자일 프랙티스
 
프로그래머로사는법 Ch10
프로그래머로사는법 Ch10프로그래머로사는법 Ch10
프로그래머로사는법 Ch10
 
현장에서 사용하는 Software production
현장에서 사용하는 Software production현장에서 사용하는 Software production
현장에서 사용하는 Software production
 
배포
배포배포
배포
 
1.코드장인의길
1.코드장인의길1.코드장인의길
1.코드장인의길
 
오픈소스 소프트웨어 개발, 어디서부터 시작하는게 좋을까요? @ CNU(충남대)
오픈소스 소프트웨어 개발, 어디서부터 시작하는게 좋을까요? @ CNU(충남대)오픈소스 소프트웨어 개발, 어디서부터 시작하는게 좋을까요? @ CNU(충남대)
오픈소스 소프트웨어 개발, 어디서부터 시작하는게 좋을까요? @ CNU(충남대)
 
쩌는 게임 기획서, 이렇게 쓴다(How to write great design documents) from GDC 2008 (Korean)
쩌는 게임 기획서, 이렇게 쓴다(How to write great design documents) from GDC 2008 (Korean)쩌는 게임 기획서, 이렇게 쓴다(How to write great design documents) from GDC 2008 (Korean)
쩌는 게임 기획서, 이렇게 쓴다(How to write great design documents) from GDC 2008 (Korean)
 
제13회컨퍼런스 조대협 서버사이드개발
제13회컨퍼런스 조대협 서버사이드개발제13회컨퍼런스 조대협 서버사이드개발
제13회컨퍼런스 조대협 서버사이드개발
 
두 번째 startlink.live: 박성원 (ntopia) - PS가 이렇게 해롭습니다. 여러분!
두 번째 startlink.live: 박성원 (ntopia) - PS가 이렇게 해롭습니다. 여러분!두 번째 startlink.live: 박성원 (ntopia) - PS가 이렇게 해롭습니다. 여러분!
두 번째 startlink.live: 박성원 (ntopia) - PS가 이렇게 해롭습니다. 여러분!
 
게임 디렉팅 튜토리얼
게임 디렉팅 튜토리얼게임 디렉팅 튜토리얼
게임 디렉팅 튜토리얼
 
Business Driven Development.pdf
Business Driven Development.pdfBusiness Driven Development.pdf
Business Driven Development.pdf
 
Scrum - Agile Development Process
Scrum - Agile Development ProcessScrum - Agile Development Process
Scrum - Agile Development Process
 
쩌는게임기획서 이렇게 쓴다
쩌는게임기획서 이렇게 쓴다쩌는게임기획서 이렇게 쓴다
쩌는게임기획서 이렇게 쓴다
 
임태현, 프로그래머 생존 가이드
임태현, 프로그래머 생존 가이드임태현, 프로그래머 생존 가이드
임태현, 프로그래머 생존 가이드
 
애자일의 모든것
애자일의 모든것애자일의 모든것
애자일의 모든것
 

Plus de Youngkwon Lee

Regex & property sheet
Regex & property sheetRegex & property sheet
Regex & property sheetYoungkwon Lee
 
Windows viac cpp_15장_16장
Windows viac cpp_15장_16장Windows viac cpp_15장_16장
Windows viac cpp_15장_16장Youngkwon Lee
 
아꿈사 2011 연말행사 자유발표 - 맥킨지, 발표의 기술
아꿈사 2011 연말행사 자유발표 - 맥킨지, 발표의 기술아꿈사 2011 연말행사 자유발표 - 맥킨지, 발표의 기술
아꿈사 2011 연말행사 자유발표 - 맥킨지, 발표의 기술Youngkwon Lee
 
프로젝트가 서쪽으로 간 까닭은 5,6,15,25,40
프로젝트가 서쪽으로 간 까닭은 5,6,15,25,40프로젝트가 서쪽으로 간 까닭은 5,6,15,25,40
프로젝트가 서쪽으로 간 까닭은 5,6,15,25,40Youngkwon Lee
 
HTML5&CSS3 8장. 눈을 즐겁게
HTML5&CSS3 8장. 눈을 즐겁게HTML5&CSS3 8장. 눈을 즐겁게
HTML5&CSS3 8장. 눈을 즐겁게Youngkwon Lee
 
Domain driven design_chapter2
Domain driven design_chapter2Domain driven design_chapter2
Domain driven design_chapter2Youngkwon Lee
 
Taocp 1.4.1 subroutine
Taocp 1.4.1 subroutineTaocp 1.4.1 subroutine
Taocp 1.4.1 subroutineYoungkwon Lee
 

Plus de Youngkwon Lee (9)

Regex & property sheet
Regex & property sheetRegex & property sheet
Regex & property sheet
 
Windows viac cpp_15장_16장
Windows viac cpp_15장_16장Windows viac cpp_15장_16장
Windows viac cpp_15장_16장
 
아꿈사 2011 연말행사 자유발표 - 맥킨지, 발표의 기술
아꿈사 2011 연말행사 자유발표 - 맥킨지, 발표의 기술아꿈사 2011 연말행사 자유발표 - 맥킨지, 발표의 기술
아꿈사 2011 연말행사 자유발표 - 맥킨지, 발표의 기술
 
프로젝트가 서쪽으로 간 까닭은 5,6,15,25,40
프로젝트가 서쪽으로 간 까닭은 5,6,15,25,40프로젝트가 서쪽으로 간 까닭은 5,6,15,25,40
프로젝트가 서쪽으로 간 까닭은 5,6,15,25,40
 
HTML5&CSS3 8장. 눈을 즐겁게
HTML5&CSS3 8장. 눈을 즐겁게HTML5&CSS3 8장. 눈을 즐겁게
HTML5&CSS3 8장. 눈을 즐겁게
 
Domain driven design_chapter2
Domain driven design_chapter2Domain driven design_chapter2
Domain driven design_chapter2
 
Taocp 1.4.1 subroutine
Taocp 1.4.1 subroutineTaocp 1.4.1 subroutine
Taocp 1.4.1 subroutine
 
my puppy
my puppymy puppy
my puppy
 
웹질팁
웹질팁웹질팁
웹질팁
 

소프트웨어 아키텍트가 알아야할 97가지

  • 1. 소프트웨어 아키텍트가 알아야할 97가지 아꿈사 이영권 whiletrue0222@gmail.com
  • 2. • 커밋하고 도망가는 것은 범죄다 o Niclas Nilsson (p30) • 일정을 지켜라 o Norman Carnovale (p42) • 개발자에게 자율성을 부여하라 o Philip Nelson (p64) • 간단한 것은 간단하게 하라 o Chad LaVigne (p124) • 보이는 것처럼 그렇게 되지 않는다 o Peter Gillard-Moss (p166)
  • 3. 커밋하고 도망가는 것은 범죄다 Niclas Nilsson (p30) • 누군가가 커밋하고 도망가면 남은 사람들이 해결해야하며 리 듬은 깨지고 흐름은 멈춘다. • 사람들은 자신의 시간을 줄이려고 문제가 될 수 있는 것을 커 밋한다. • 자동화된 테스팅을 위한 건실한 아키텍처를 보장할 필요가 있다. • 테스트가 빠르게 실행되고 더 자주 할 수 있도록 하자. • 빠른 테스트로 커밋&도망을 생각 못하게하자.
  • 4. 일정을 지켜라 Norman Carnovale (p42) • 일반적인 프로젝트 실패 원인은 진행중 계획없이 일정을 변 경하는 것. • 일정에 다음과 같은 것을 따질 때 문제가 시작된다. o 동일한 일정 동안 얼마나 많은 것을 했는지 o 작업량을 안줄이면서 일정을 단축시켰는지를 따질 때 • 무분별한 일정 변경은 문제를 발생시킨다. o 저렴한 설계, 나쁜 문서, 나쁜 품질 o 버그 증가, 문제수정 비용증가 • 비용을 축소하면 실패가 증가한다. • 일정 단축이 필요하다면 기능을 다음 릴리즈로 넘겨라. • 협상 능력을 갈고 닦아라.
  • 5. 개발자에게 자율성을 부여하라 Philip Nelson (p64) • 개발자가 설계를 따르도록 통제하는 것은 나쁘다. o 자유를 주어 창조성과 능력을 행사하도록 하는 것도 중요 하다. • 전체시스템이 잘 맞춰지는지 바라보고 지속적으로 확인해라. • 작업의 어려움, 설계된 API 사용 실수, 이해 부족 등 개발자가 문제를 겪고 있을 때 조언하고 설계를 명확히해라. • 고군분투하는 것을 볼 때 조언하고, 찾아와 조언을 요청할 수 있는 환경을 만들어라.
  • 6. 간단한 것은 간단하게 하라 Chad LaVigne (p124) • '간단한 문제-복잡한 해결책'이라는 함정에 쉽게 빠질 수 있다 . • 오버 엔지니어링은 기회비용이 많이 발생할 수 있다. • 당장 필요한 기능만 구현하라. o 잠재적인 요구사항은 배제 • 필요할 때 복잡하게 하라. o 잠재적인 요구사항이 실제 상황이 되었을 때
  • 7. 보이는 것처럼 그렇게 되지 않는다 Peter Gillard-Moss (p166) • 설계한 대로 될거라고 생각한다. • 그러나 그렇게 되지 않는다. o 잘못된 정보, 제약사항, 내 잘못, 남의 잘못 • 사소한 설계 변경은 누적되며 처음부터 다시 시작해야 하는 상황에 이르게 된다. • 다시 철저히 설계하려 하지만 그렇게 되지 않는다. • 설계는 항상 진행 중이라는 것을 받아들여라.