반응형
반응형

소프트웨어 개발의 모든 것(김익환,전규현 지음. 페가수스)를 읽고 나서 중요한 몇 구절을 남겨본다.

요구사항의 중요성
소프트웨어 시스템 구축에서 가장 여려운 부분은 무엇을 구축할 것인지를 정확하게
판단하는 것이다. 그러나. 구현을 시작하기 전에 요구사항을 완벽하게 파악하는 것이
불가능한 경우가 많다. 그렇다고 해서 요구사항 개발에 소홀해서는 안 된다. 시간이
허락하는 한 최대한 많은 정보를 파악하는 것이 좋다.
 잘못된 요구사항은 많은 재작업 비용을 필요로 한다. 재작업 비용은 일반적으로 전체 개발
비용의 30~50%에 이르는 것으로 알려져 있다. 요구사항 오류로 인한 재작업 비용은 전체 재작업 비용의 70~85%에 이른다. 잘못된 요구사항, 부족한 요구사항은 일정을 지연시키며
많은 추가 비용을 발생시킨다.
 완벽하게 상세한 요구사항이 가장 좋은 요구사항은 아니다.
 요구사항은 이해하기 쉽게 간결함을 추구해야 한다. 간결하지만 충분히 설계, 구현할 수
있어야 한다. 그리고 요구사항 문서는 모든 관련자가 충분히 검토해야 한다.
요구사항 오류는 개발 단계가 지나가면 지나갈수록 그 수정비용이 기하급수로 증가한다.
유지보수 단계에서 비용이 더 드는 것으로 알려져 있다. 충분히 검토하여 오류가 없는
요구사항을 만드는 것이 프로젝트를 성공으로 이끄는데 가장 필요한 핵심이다.


SRS Template
1.Introduction(개요)
2.Overall Description(전체 설명)
3.Environment(환경)
4.External Interface Requirement(외부 인터페이스 요구사항)
5.Performance Requirement(성능 요구사항)
6.Non-Functional Reuirement(기능 이외의 요구사항)
7.Functional Requirement(기능요구사항)

코딩자세 : 소프트웨어를 잘 구현하기 위해서는 코딩을 함에 있어 반드시 지켜야 할 것들이 있다.
* 회사의 코딩표준을 철저히 지켜야 한다.
* 버그가 발견되면 그 즉시 버그를 고쳐라.
* 발견된 버그가 재현이 안 된다고 해서 버그가 사라진 것이 아니다.
* 문제 없이 작동하고 있는 코드를 괜히 정리하려고 하지 마라.
* 문제가 해결될 때까지 이렇게 저렇게 마구 고치지 마라.
* 코딩 작업을 작게 나누어서 코딩, 빌드, 테스트를 자주 반복하라.
* 중요하지 않은 버그는 하나도 없다.

회사의 코딩표준을 지켜야 하는 이유.
* 소스코드의 작성법을 통일하여 개발자들끼리 서로 코드를 더 쉽게 이해할 수 있게 한다.
* 개발자가 바뀌어도 빠른 시간 안에 소스코드를 파악 할 수 있게 한다.
* 흔히 저지르기 쉬운 사소한 실수를 방지하여 제품의 품질을 높인다.

품질관리
 소프트웨어프로젝트에서 품질은 소프트웨어가 얼마나 요구사항을 잘 만족시키고
 있는가의 정도이다. 품질은 전적으로 테스트에만 의존하는 것이 아니다.
 잘 만들어진 프로젝트 계획, 잘 분석된 요구사항, 각 단계의 철저한 리뷰,
체계적인 테스트 등 프로젝트 전 과정에 걸친 일련의 활동들이 모여서
제품의 품질을 보장하게 된다.
 많은 개발자들이 소프트웨어의 품질에 큰 관심을 두지 않는다. 현재 프로젝트를 끝내고
빨리 새로운 프로젝트를 하고 싶어한다. 현재의 문제는 유지보수에서 해결할 수 있을
것으로 생각하기도 한다. 이러한 생각은 제품의 품질을 떨어뜨리고, 제품을 제 때에
출시하지 못하게 만들기도 한다. 품질을 포기하고 제때 출시된 제품은 정시 출시에 대한
의미조차  없다. 고객들은 제품의 품질을 계속 기억할 것이고, 추후 더 나은 제품에 대한 기억이 사라지지 않을 것이다. 일반적으로 소프트웨어의 유지보수에 개발 지용의 2~5배가
지불된다고 알려져 있다. 최초에 낮은 품질로 출시된 제품은 유지보수 비용을 지속적으로 증가시킨다.
 유지보수 비용을 간과하면 장기적으로 제품의 수익성에 심각한 저하를 가져올 수 있다.
그럼에도 불구하고 소프트웨어 개발 시에 유지보수에 대해 신경을 쓰지 못하는 경우로
다음과 같은 것들이 있다.

* 당장 프로젝트가 발등에 떨어진 불이라서 유지보수에 대해서는 신경 쓸 겨를이 없다.
* 유지보수는 다른 개발팀이 맡을 것이므로 신경 쓰지 않는다.
* 경험이 별로 없어서 유지보수에 많은 비용이 드는지 몰랐다.
* 유지보수에 비용이 얼마나 드는지 정확하게 따져본 적이 없다.

제품의 품질을 유지보수 기간으로 넘길 것이 아니고, 지금 바로 품질에 대해서 신경을 쓰는 것이 경제적으로 더 바람직하다.

리스크 관리
리스크 계획 중 개발자가 퇴사할 징후가 보일때 다음과 같은 대응책을 마련할 수있다.
* 개발자가 퇴사하지 않도록 노력한다.
* 개발자가 퇴사하더라도 보충할 개발자를 미리 사내에서 물색해 놓는다.
* 사내에서 보충할 개발자를 찾지 못하면, 외부 채용 활동의 준비 단계를 해 놓는다.
   즉, 채용공지를 하고 이력서를 분석하여 채용자 후보를 미리 물색해 놓는다.
* 해당 개발자이 모듈을 다른 개발자와 많은 부분 공유하도록 계획한다.
* 아예 해당 개발자를 프로젝트에서 제외하고 진행한다.

동기 유발 요인 : 프로젝트에서 개발자의 동기를 유발하는 요인에는 다음과 같은 것들이 있다.
* 목표설정, 성취감, 성장가능성, 개인생활의 보장, 포상.

프로젝트 팀이 하는 작업 리스트
* SRS 작성 및 검토
* 소프트웨어 아키텍처 설계 논의
* 소프트웨어 컴포넌트와 인터페이스 논의
* 소프트웨어 설계 리뷰
* 소스코드 리뷰
* 결함 추척 및 해결
* 중요 이슈 논의
* 유지보수

성공하는 팀의 특징
* 훌륭한 기술리더가 있다.
* 도전적이고 실천가능한 목표와 비전을 공유하고 있다.
* 실력 있고 헌신적인 팀원들로 구성되어 있다.
* 팀원들간에 서로 신뢰한다.
* 팀원들간에 의사소통이 원활하다.
* 팀이 적절한 권한과 자율성이 있다.
* 팀워크를 유지하기에 알맞은 팀이다.

실패하는 팀
* 비전이 공유되어 있지 않다.
* 팀원들간에 서로 신뢰하지 않는다.
* 팀원들 간 의사소통이 원활하지 않다.
* 문제 팀원 방치.
 
필자의 경험에 의하면 프로젝트를 망치는 길은 지뢰밭과 같이 많아도
성공하기 위한 비법은 없다. 기본에 충실하고 기초와 문화가
각각 개발자들 몸에 배어서
앞에서 언급된 여러 활동들이 종합적으로
자연스럽게 이루어 질 때
소프트웨어 프로젝트 성공이 좀더 가까워 질 것이다.

개발자들은 가장 먼저
* SRS를 작성해야 한다고 생각하고,
* SRS를 작성하면서 모든 관련자와 철저히 리뷰를 하고,
* 프로젝트 관리자는 개발자들과 함께 1,2일 단위의 상세 일정을 작성하고,
* 테스트팀은 SRS를 보고 테스트 Suite를 만들기 시작하고,
* 개발 리더들은 화이트보드나 종이를 펼쳐놓고 아키텍처에 대해 토론을 하며,
* 구현 시 모든 소스코드는 당연히 리뷰를 하고,
* 개발자는 매일 스스로 일정을 업데이트하고,
* 소스코드 작성은 일일빌드가 깨지지 않으면서 이루어지며,
* 소스코드관리시스템과 버그관리시스템을 효과적으로 사용하며,
* 알파, 베타 단계 별로 모든 프로젝트 관련자들이 유기적으로 움직이며,
* 일정에 맞춰 완성도 있는 품질의 제품을 출시한다.

위와 같은 활동들이 당연하다고 생각되고 몸에 배어야 한다.
이러한 것들을 규칙만으로 통제를 해서는 달성하기 어렵고 한꺼번에 모두 다 습득하기도 어렵다.
하나씩 익혀서 몸에 배었을 때 소프트웨어 프로젝트를 성공하는 원리가 보이기 시작하고,
좋은 제품을 만들 수 있을 것이다.

반응형
반응형


자바스크립트 완벽 가이드
국내도서>컴퓨터/인터넷
저자 : 데이비드 플래너건 / 송인철,황인석,이동기,이유원 역
출판 : 인사이트 2008.05.23
상세보기


프로 자바스크립트 테크닉
국내도서>컴퓨터/인터넷
저자 : 존레식(John Resig) / 송인철,이동기,이유원 ,황인석역
출판 : 인사이트 2008.08.14
상세보기


반응형
반응형


그 섬에 내가 있었네
국내도서>시/에세이
저자 : 김영갑
출판 : 휴먼앤북스 2004.01.27
상세보기


맥킨지는 일하는 방식이 다르다
국내도서>경제경영
저자 : 에단라지엘 / 이승주역
출판 : 김영사 1999.11.16
상세보기


좋은 기업을 넘어 위대한 기업으로 (양장)
국내도서>경제경영
저자 : 짐 콜린스(Jim Collins) / 이무열역
출판 : 김영사 2002.06.20
상세보기


팥경단과 찹쌀떡 1
국내도서>만화
저자 : WAKANA USUKURA
출판 : 대원씨아이(만화/잡지) 2009.10.15
상세보기


팥경단과 찹쌀떡 2
국내도서>만화
저자 : WAKANA USUKURA
출판 : 대원씨아이(만화/잡지) 2010.10.15
상세보기


반응형
반응형


샹하이의 아침
국내도서>여행
저자 : 최부득
출판 : 미술문화 2003.10.27
상세보기


한국의 시장
국내도서>여행
저자 : 기분좋은 OX
출판 : 페이퍼북 2011.09.15
상세보기


반응형
반응형


백년 동안의 고독
국내도서>소설
저자 : 가브리엘 가르시아 마르케스(Gabriel Garcia Marquez) / 안정효역
출판 : 문학사상사 2006.09.29
상세보기


척 보고 척 말하는 여행중국어
국내도서>국어/외국어/사전
저자 : 중국여행동호회
출판 : YBM SISA 2010.06.14
상세보기


반응형
반응형

2010.12.29


당신이 알아야 할 모든 것은 그들에게 있었다
국내도서>경제경영
저자 : 앨런 웨버(Alan M. Webber) / 김원옥역
출판 : 엘도라도 2010.11.29
상세보기

2010.12.12

상하이 일기
국내도서>여행
저자 : 황석원
출판 : 시공사(단행본) 2008.09.23
상세보기


일본 소도시 여행
국내도서>여행
저자 : 송동근
출판 : 시공사(단행본) 2010.01.11
상세보기


2010.11.17


소프트웨어 개발의 모든 것
국내도서>컴퓨터/인터넷
저자 : 김익환,전규현
출판 : 페가수스 2010.06.01
상세보기

2010.11.02


가난뱅이의 역습
국내도서>사회과학
저자 : 마쓰모토 하지메(松本哉) / 김경원역
출판 : 이루 2009.04.06
상세보기


행복은 혼자 오지 않는다
국내도서>자기계발
저자 : 에카르트 폰 히르슈하우젠(Eckart von Hirschhausen) / 박규호역
출판 : 은행나무 2010.08.30
상세보기


생각 버리기 연습
국내도서>자기계발
저자 : 코이케 류노스케(小池龍之介) / 유윤한역
출판 : 21세기북스(북이십일) 2010.09.10
상세보기


글로벌 소프트웨어를 꿈꾸다
국내도서>컴퓨터/인터넷
저자 : 김익환
출판 : 한빛미디어 2010.09.30
상세보기

2010.10.06


공부론
국내도서>인문
저자 : 김영민
출판 : 샘터사 2010.01.30
상세보기


우사기의 도쿄 식탁
국내도서>가정과 생활
저자 : 남은주
출판 : 마로니에북스 2010.08.17
상세보기


나는 왜 쓰는가
국내도서>사회과학
저자 : 조지 오웰(George Orwell) / 이한중역
출판 : 한겨레출판 2010.09.15
상세보기


책 읽는 청춘에게
국내도서>인문
저자 : 우석훈
출판 : 북로그컴퍼니 2010.05.26
상세보기


2010.09.02


행복의 조건
국내도서>인문
저자 : 조지 베일런트(George E. Vaillant) / 이덕남역
출판 : 프런티어 2010.01.20
상세보기


시원스쿨 기초영어법
국내도서>국어/외국어/사전
저자 : 이시원
출판 : 엘도라도 2009.07.29
상세보기


1인 기업의 비밀
국내도서>경제경영
저자 : 양미영,권소현
출판 : 이팝나무 2010.01.25
상세보기

2010.08.30


고양이 탐구생활
국내도서>취미/레저
저자 : 가토 요시코 / 정영희역
출판 : 랜덤하우스 2009.12.15
상세보기

2010.08.25


프로그래머의 길, 멘토에게 묻다
국내도서>컴퓨터/인터넷
저자 : 데이브 후버(Dave Hoover),애디웨일 오시나이(Adewale Oshineye) / 강중빈역
출판 : 인사이트 2010.07.26
상세보기


독고다이 독 GO DIE
국내도서>시/에세이
저자 : 이기호
출판 : 랜덤하우스 2008.06.30
상세보기


2010.07.19


오리진이 되라
국내도서>경제경영
저자 : 강신장
출판 : 쌤앤파커스 2010.05.31
상세보기

마이크로소프트웨어 7월호


2010.06.01

Spring 프레임워크 워크북
국내도서>컴퓨터/인터넷
저자 : 박재성
출판 : 한빛미디어 2006.01.31
상세보기


리딩튜터 입문
국내도서>중고등학습서
저자 : 이찬승
출판 : 능률교육(능률영어사) 2009.01.01
상세보기


필살기
국내도서>자기계발
저자 : 구본형
출판 : 다산라이프 2010.03.22
상세보기


2010.05.06


운명이다
국내도서>사회과학
저자 : 노무현
출판 : 돌베개 2010.04.26
상세보기

2010.04.14


누워서 읽는 알고리즘
국내도서>컴퓨터/인터넷
저자 : 임백준
출판 : 한빛미디어 2003.12.15
상세보기


SE가 가져야 할 성공 마인드
국내도서>컴퓨터/인터넷
저자 : AKIZUKI AKIHIKO / 박종태역
출판 : 이비컴 2003.05.31
상세보기

정보 보안 개론
국내도서>컴퓨터/인터넷
저자 : 양대일
출판 : 한빛미디어 2008.06.28
상세보기

2010.04.13


끌림
국내도서>여행
저자 : 이병률
출판 : 달 2010.07.01
상세보기

2010.04.02


반야심경 이야기
국내도서>종교/역학
저자 : 법륜
출판 : 정토출판사 1995.07.01
상세보기


풍자화전 (보급판 문고본)
국내도서>소설
저자 : 제아미 / 김충영역
출판 : 지식을만드는지식(지만지) 2009.11.30
상세보기

2010.03.30


알랭 드 보통 여행의 기술 (양장)
국내도서>여행
저자 : 알랭 드 보통(Alain de Botton) / 정영목역
출판 : 청미래 2011.12.10
상세보기


불안 (양장)
국내도서>시/에세이
저자 : 알랭 드 보통(Alain de Botton) / 정영목역
출판 : 은행나무 2011.12.28
상세보기


행복의 건축
국내도서>시/에세이
저자 : 알랭 드 보통(Alain de Botton) / 정영목역
출판 : 이레 2007.05.14
상세보기

2010.03.03


미치도록 나를 바꾸고 싶을 때
국내도서>자기계발
저자 : 안상헌
출판 : 북포스 2009.07.25
상세보기


생산적인 삶을 위한 자기발전 노트 50
국내도서>자기계발
저자 : 안상헌
출판 : 북포스 2005.08.10
상세보기

예제로 시작하는 안드로이드 개발
국내도서>컴퓨터/인터넷
저자 : 릭 로저스,존 롬바르도,지거드 메드닉스,블레이크 메이크 / 박성서역
출판 : 에이콘출판사 2009.09.21
상세보기


탐구생활 혼신의 신혼여행 1~2 세트
국내도서>만화
저자 : 금보,고필헌
출판 : 애니북스 2010.01.08
상세보기

2010.02.29


나는 무엇을 잘할 수 있는가
국내도서>자기계발
저자 : 구본형
출판 : 고즈윈 2008.03.25
상세보기


유비쿼터스 컴퓨팅 개론
국내도서>컴퓨터/인터넷
저자 : 김성석,정광식,양순옥
출판 : 한빛미디어 2008.06.30
상세보기


칼에 지다 (상)
국내도서>소설
저자 : 아사다 지로(Jirou Asada) / 양윤옥역
출판 : 북하우스 2004.12.09
상세보기


칼에 지다 (하)
국내도서>소설
저자 : 아사다 지로(Jirou Asada) / 양윤옥역
출판 : 북하우스 2004.12.15
상세보기

2010.01.26


집단지성 프로그래밍
국내도서>컴퓨터/인터넷
저자 : 토비 세가란 / 윤종완역
출판 : 한빛미디어 2008.04.30
상세보기


The Art of Project Management - 마음을 움직이는 프로젝트 관리
국내도서>컴퓨터/인터넷
저자 : 스콧 버쿤(Scott Berkun)
출판 : 한빛미디어 2006.06.29
상세보기


반응형

+ Recent posts