태터데스크 관리자

도움말
닫기
적용하기   첫페이지 만들기

태터데스크 메시지

저장하였습니다.

Head First Software Development 리뷰

2009/01/29 17:21 by 전규현
 All of Software 블로그를 RSS Feed에 등록을 해 놓으시면 편리하게 받아보실 수 있습니다. rss RSS Feed
"더 쉽고 재미있게 소프트웨어를 개발하는 방법"

이 책의 한글 부제입니다.
확실히 재미는 있겠더군요. 책도 재미있게 구성되어 있고요.
책의 전반적이 내용이 소프트웨어를 개발하는 과정을 재미있고, 쉽게 접근할 수 있도록 잘 작성되어 있습니다.

하지만 상당히 부족한 점이 발견됩니다. 그건 바로 "스펙"이죠.

이 책에서 소개하는 사용자 스토리와 태스크는 "스펙"을 대신할 수 있는 수준은 아닙니다. 사실 내용도 좀 다르죠.

이 세상에는 수많은 종류의 소프트웨어가 있는데, 그 중에서 일부는 이 책에서 소개하는 방법이 적당할 수도 있다는 생각이 듭니다. 예를 들어서 간단한 쇼핑몰 사이트를 구축하거나 그리 복잡하지 않는 비즈니스 시스템을 만들 때 좋을 것도 같습니다. 그 외에도 더 있겠죠.

하지만 사용자 스토리와 태스크를 기반으로 소프트웨어를 개발하게 되면 개발 후에 뭐가 남나 생각해보면 남는 것이 별로 없습니다. "스펙"은 단순히 소프트웨어를 개발할 때만 쓰이는 것이 아니고 유지보수 기간에도 계속 필요하며 차기 업그레이드에서도 필요합니다. 또 그 내용은 사용자 스토리와는 비교가 안될 만큼 다양한 내용이 포함됩니다. 결국 그러한 스펙의 필수 내용들은 무시된 채 개발이 될 수도 있고 개발자가 경험이 많고 재수가 좋으면 큰 문제가 없을 수도 있겠죠. 또 너무 단순한 사용자 스토리는 결국 러프한 요구사항을 가지고 개발하는 것과 큰 차이가 없습니다. 결국 개발자의 취향이나 능력에 따라서 기능이 달라지는 일이 발생하게 됩니다.

대부분의 소프트웨어 프로젝트에서 "스펙"은 매우 중요하며 꼭 필요합니다. "스펙"은 프로젝트의 커뮤니케이션의 중심이며 일정과 비용 산정의 기준이 됩니다. 이 책을 읽는 독자가 자신의 소프트웨어 프로젝트에 이 방법을 직접 적용하고 싶다면 "스펙"에 대해서는 큰 기대를 하면 안됩니다. 그리고 자신의 프로젝트에 적당한 방법인가도 생각을 해봐야 겠습니다. 또한, 이터레이션도 모든 소프트웨어 개발에 적당한 방법이 아닙니다. 이터레이션이 적합한 소프트웨어가 있죠.  

물론 이 책은 쉽고 재미있게 잘 쓰여진 책입니다. 단, 이 방법이 모든 소프트웨어 개발에 적용되는 것이 적당하지 않다는 것을 알아야 할 것 같습니다. 하나의 좋은 방법을 소개한 것으로 보면 적당할 것 같습니다. 결국 원리를 깨우치고 자신의 개발팀에 알맞은 방법을 찾아나가는 것이 올바른 방법입니다. 

어디에도 끝내주게 좋은 방법은 없으니까요.
저작자 표시 비영리 변경 금지

전규현 소프트웨어이야기

Trackback Address: http://allofsoftware.net/trackback/62 관련글 쓰기
  1. 2009/02/03 12:08
  1. Agile 방법론은 Software Requirements Specification 에 대해 어느 정도 비판적인 입장이라고 생각됩니다. 이에 관한 것은 Agile 방법론 관련 논쟁의 중심에 있는 BUFD(Big Up Front Design) 관련 논쟁에서 많이 언급되었다고 생각되고요.
    책의 입장에서 방어적으로 얘기하자면 이 책은 다양한 방법론 중 Agile 방법론에 기반해서 소프트웨어 개발 프로세스에 대해 전반적으로 다루고 있으며 그러다 보니 '스펙'에 관한 내용이 당연히(?) 다루지 않았다고 봐야 될 것 같습니다.
    요는 '스펙'에 대한 내용이 빠진 것이 이 책의 단점으로 로 지적될 수는 없으며 그보다는 Ray님 글에 직.간접적으로 표현되었듯 기타의 개발 방법론에 대한 추가적인 학습을 통해 균형(?)잡힌 시각을 세워나가려는 독자 자신의 노력이 필요할 듯 합니다.

  2. tzara님 안녕하세요. 좋은 의견 감사합니다.

    Agile 방법론에서 주장하는 바 계속 변하는 스펙과 초기에 고객의 요구사항을 다 파악하기 어려렵다는 것도 다 일리 있는 주장이죠. 물론 모든 프로젝트에 동일하게 적용하기 어려운 것이고 프로젝트마다 특성이 다르긴 합니다. 또한 SRS는 요구사항 분석의 어려움에 더해서 잘 작성하기가 어렵다는 것도 있습니다. 여기에 또 SRS에 대한 오해가 존재하는 것도 사실입니다.
    국내에서 Agile 방법론을 접하는 수많은 개발자들이 요구사항 분석에 대한 기본 지식과 경험없이 바로 Agile을 적용하다보니 또 공허함이 존재하는 측면도 있습니다. Agile에서는 스펙이 없는 것이 아니고 다른 측면으로 접근하는 것인 것 뿐인데도 말입니다.
    아무튼 여러 경험을 통해서 원리에 접근해 나가는 것이 현재 하고 있는 프로젝트에 가장 적합한 방법을 찾는 지름길이라고 생각합니다.

  3. 저도 SI 현장에서 애자일 적용을 통해 이익을 맛보았고, 전체적으로 애자일 접근을 선호하지만... Ray님 견해가 국내 현실에선 합당하다 생각합니다.
    기민하긴 전이 있어야 애자일 할 수 있고, 묵직한 시절이 있어야 Lean 할 수 있는데...
    상당히 많은 비중을 차지하는 개발인력이 방법론이나 프로세스의 필요성을 모르는 채로 비단 산출물의 많고 적음이나 추적성 내지는 형식성의 강약으로 "애자일" 운운하기도 하니까요.

스펙을 제대로 작성하는 것은 구식이다?

'소프트웨어 개발 방법이 얼마나 발전했는데 아직도 스펙을 제대로 작성하고 개발을 하는가?' 라고 하면서 스펙 작성에 반대하는 주장을 하는 사람들이 있다. 스펙, 설계를 작성하고 구현을 하고 테스트를 하는 방식으로 개발하는 것..

내가 개발에 집중할 수 없는 이유

우리나라에서는 개발자들이 개발에 집중할 수 없는 환경인 곳이 참 많다. 정도의 차이가 있지만 거의 대부분이라고 봐도 무방하다. 그 결정적인 이유는 개발자 혼자서 북치고 장구치고 다해야 하는 상황이기 때문이다. 원래는 이렇게..

설계가 필요할까?

최근에 Software Architect의 정체에 대해서 혼란을 겪고 있는 것 만큼 Software 설계에 대해서도 혼동스러운 것은 마찬가지인 것 같다. 그래서 설계에 대해서도 깔끔하게 정의를 해보자. 흔히 설계에 관한 다음..

Software Architect를 양성하는 나라

우리나라에서는 종종 SW Architect를 양성한다고 한다. 정부에서 막대한 예산이 지원도 되며 SW Architect를 양성하는 학원도 생기고 야단법석이다. 그럼 도대체 SW Architect는 무엇인가? SW Archi..

우리에게 지금 필요한 것은? 바로 이것

우리나라 대부분의 소프트웨어 회사들에게 가장 시급하게 필요한 것은 "기초 체력"이다. 히딩크가 우리나라 국가대표 축구팀을 처음 맞았을 때 강조한 것이 기초 체력이었다. 그전까지 우리는 국가대표 축구팀이 체력은 세계 어디를 내..

프로토타입을 재활용하면 될까? 안될까?

며칠 전 프로토타입에 관해 올린 글에 대해서 프로토타입 재사용에 대해서 여러 의견이 있어서 이 내용에 대해서 조금더 설명해보려고 한다. 2011/11/03 - [프로젝트/요구사항분석] - 프로토타입이란? 소프트웨어공학의 목적..

프로토타입이란?

프로토타입 (경제/경영) 양산(量産)에 앞서 제작해보는 원형(原型)을 '프로토타입'이라 하는데, 프로토타이핑이란 개발자들과 사용자들의 의사소통상의 효과를 증진시키기 위하여 취하는 시스템개발상의 기법이다. 일반적인 분석방법을..

같이 일하려면 적어라.

"협업은 말로 하는 것이 아니라 문서로 하는 것이다." 동서고금을 막론하고 개발자들은 적는 것을 싫어하고 또 잘 적지 못한다. 우리나라 개발자들은 그 정도가 훨씬 심하다. 우리나라에서는 회사가 크던 작던 상관없이 대부분 5년..

우리 식대로
우리 식대로 2011/10/30

"우리 식대로" 마치 북한에서 하는 얘기 같지만, "우리 식대로"를 주장하는 소프트웨어 회사는 의외로 많다. 체계가 하나도 없이 완전 주먹구구 방식의 소프트웨어 회사가 있는가 하면 "우리 식대로"를 주장하여 정말 많은 일을..

문서는 얼마나 적어야 할지?

소프트웨어 개발 프로젝트에서 문서는 적게 적어야 한다. 다시 말하면 "보통의 회사에서는 문서는 필요한만큼만 가장 적게 적어야 한다." 물론 문서를 많이 적으면 여러 각도에서 상세히 적기 때문에 중복은 많이 발생하지만 잘못된..