프로젝트 관련 기법 -요구사항 분석편-

당분간 개발 관련보다 업무에 프로젝트 진행 기법에 대해서 써볼까 합니다.

고객 유형에 따른 요구사항 대응 방법

유형1 적극적인 고객

  • 행동
    프로젝트에 대한 기대가 크다
    본인이 원하는 기능이 나올 때까지 요구사항을 변경한다.
    아이디어(요구사항)가 많다.
    분석->설계->구현->시험 전 단계에서 오로지 요구사항 만 얘기한다.

  • 대응 방법
    적극적인 고객은 프로젝트 수행 시 많은 도움이 되지만 일정에 차질이 생길 위험이 높다.
    프로젝트 수행 주기 별로 고객이 참여해야 하는 부분을 명확히 정해 주어야 한다.
    예) 지금은 업무분석을 해야 하므로 요구사항은 다음에 듣겠습니다. 아직 업무 이해하지
    못했습니다.


유형2 소극적인 고객

  • 행동
    담당자이기는 하나 이번 프로젝트에 자기가 참여하게 된 것에 불만이 있다.
    본인 일이 바쁘다.(핑계)
    완전히 소극적이라고 판단하면 오산이다. 모든 것을 알아서 해주기를 원할 뿐 따질 때는 또 따진
    다.

  • 대응 방법
    고객과 같이 개발팀도 소극적으로 대응하면 프로젝트는 실패한다.
    무엇을 원하는지 정확히 파악하기 위해 적극적으로 고객을 괴롭혀야 한다. 아무리 소극적인 고객 이라도 질문에 답을 안 해 주지는 않는다.


유형3 잘난척 하는 고객

  • 행동
    개발팀을 잘 못 믿는다.
    IT프로젝트 수행 경험이 많다.
    IT분야의 어느 정도 지식이 있다.
    요구사항 구현이 어렵다고 하면 이해하지 못한다.

  • 대응 방법
    논쟁이 많이 발생할 가능성이 높으므로 될 수 있으면 피해야 한다


유형4 정말 잘난 고객

  • 행동
    IT프로젝트 수행 경험이 많다.
    IT분야의 전문지식이 많다.
    직접 설계/구현 까지 참여하는 경우가 있다.
    비기능 요구사항에 관심이 많다.(성능, 보안, 품질 등)
    아무리 잘 만들어 줘도 별로 좋아하지 않는다

  • 대응 방법
    문제 발생원인 및 대응방안에 대해서 개발팀은 준비해야 한다.
    문제해결을 위해 논쟁하기 보다는 들어주고 아이디어를 유도하고 적당한 선에서
    타협점을 찾는 것이 좋다.
    많이 안다고 적극적인 고객으로 착각하면 안 된다.


유형4 공통

  • 행동
    요구사항은 모두 개발해 주기를 원한다.
    개발사의 형편은 고려하지 않는다.
    윗사람에게는 본인의 노력임을 강조하고 싶어한다.
    비용과 일정에는 관심이 없고 오로지 품질에만 관심이 있다.

  • 대응 방법
    철저하게 준비해서 고객보다 한 수 위에 있어야 한다.
    고객의 업무 뿐만 아니라 고객의 문제에 대한 이해가 반드시 선행되어야 한다.

# 철저하게 준비해서 고객보다 한수위에 있어야 한다 !!!

관련글은 제 100% 제 창작은 아닌 제가 가지고 있는 자료에서 발췌한점 밝힙니다.

13개의 좋아요

요구사항 타당성 조사

타당성 조사의 결과는 요구 공학과 시스템 개발 프로세스를 수행하는 것이 가치 있는것인지 타당성 조사는 간결하고 다음과 같은 질문에 답을 하는 것에 초점을 맞춘다

  1. 시스템이 조직의 전체 목표에 공헌을 하는가?

  2. 개발하려는 시스템이 시간과 노력을 투자하여 개발할 만한 가치가 있는 것인가?

  3. 시스템이 현재의 기술과 주어진 예산과 일정 내에서 개발될 수 있는가?

  4. 시스템이 현재 사용되고 있는 다른 시스템과 통합될 수 있는가?

  5. 현재 사용되고 있는 시스템의 대체용으로 개발된다면, 그 시스템과 통합이 될 수 있는가?

8개의 좋아요

프로젝트의 실패 요인

고객의 기대사항에 대한 문제
고객의 기대요구에 대한 정의와 관리의 실패
계약관계의 불분명 및 고객의 최종 의사결정권자 부재

프로젝트 계획의 실패
요구사항이 명확하지 않은 상태에서의 비용산정
잦은 요구사항의 변경과 이에 대한 비용의 반영 배제
프로젝트 위험요소에 대한 분석 및 대응책 마련 미비
부실한 프로젝트 조직

요구사항 조정 실패
요구사항에 대한 고객과의 합의 및 승인 획득 실패
프로젝트의 종료 조건에 대한 이견 조정 실패
품질관리 규정의 미 준수로 인한 시스템 설계 안의 부실
신기술 적용 프로젝트의 경우 신기술의 미숙성 또는 기술인력의 미흡

프로젝트 관리 문제
프로젝트 수행단계의 성급한 전환
프로젝트 팀과 고객간의 의사소통 통로 미흡
불충분한 시스템 테스트 계획 및 테스트 수행

고객의 문제
책임감 없는 고객의 프로젝트 대응
신 시스템에 대한 고객의 준비 미흡
고객의 의사결정권자 또는 조직교체

프로젝트 수행업체 문제
책임감 없는 프로젝트 수행업체
프로젝트 PM의 능력 부족
프로젝트 팀워크의 불안 및 잦은 인력교체
프로젝트 팀과 하도급 업체와의 관계 악화

4개의 좋아요

흥미진진합니다!

3개의 좋아요

SI 프로젝트는 대부분이 “유형4 공통” 이지 싶습니다.

보통 하청에 재하청 수준 이라 시간이 별로 많지 않아요…

연구소 프로젝트라면 이야기는 달라지겠지만요

3개의 좋아요

제경우에는 고객 문제도 크지만 내부적인 문제도 컸던것 같아요
원균이 무적함대가지고도 칠천량에서 대패하고 이순신 장군은
명량에서 패잔병들로 승리한것 보면 수행하는 팀원이
손발이 잘맞아야겠지요

3개의 좋아요

요구사항 분석 절차

  1. 타당성 조사
    시스템이 비즈니스에 유용한지 평가

  2. 추출과 분석
    요구사항을 발견

  3. 명세화
    발견된 요구사항을 표준 형태로 변환

  4. 검증
    요구사항이 사용자가 원하는 시스템인지 검증

요구사항 검토

  1. 요구사항이 명확한가? 오해의 소지는 없는가? (고객이 요구사항이 불명확한 경우 프토토타입 제작을 고려한다.)

  2. 요구사항 출처(예:사람,규칙, 문서)는 있는가?

  3. 각각의 기능에 대한 사용자(액터)가 기술 되었는가?

  4. 요구사항이 정량적으로 기술되었는가?

  5. 요구사항이 과업 영역을 위배하였는가?

  6. 요구사항이 시험 가능한가? 가능하다면 시험기준을 정할 수 있는가?

  7. 요구사항을 통하여 시스템 목적을 추적 가능한가?

  8. 프로세스, 프로젝트, 시스템 등의 표준을 준수하였는가?

  9. 정해진 기간 내에 실현 가능한가?

1개의 좋아요

요구사항 분석 기번

정규 요구 사항 분석

과업지시서 요구사항 분석
회의를 통한 요구사항 분석
시스템의 목적 및 목표 제시
image

필수 요구사항 분석

고객이 제시하지 않은 비기능 요구사항
필수요구사항이 만족되지 않으면 심각한 고객불만족 초래
image

부가 요구 사항 분석

고객이 발견하지 못한 요구사항을 유도
프로젝트 수행경험이 많은 전문인력만 가능한 고도의 요구사항 분석기법
고객의 기대 밖의 특징으로 제공되면 크게 만족한다.
image

2개의 좋아요

요구사항 명세서 작성방법

  • 고객과 함께 가능한 많은 개발자가 모여 회의를 시작한다.
  • 각각의 요구사항은 크기 혹은 작업 소요시간을 추정(추측)할 수 있어야 한다.
  • 요구사항은 여러 사용자의 관점으로 작성한다. (같은 기능이라도 사용목적이 다를 수 있다)
  • 각각의 요구사항은 테스트 가능하도록 작성해야 한다

기능 요구 사항 예

image

비기능 요구사항 예

2개의 좋아요

요구사항 분석 마지막 글

사람은 실력도 중요하지만 겉모습도 중요하다 단정한 모습과
FORMAL 한 드레스코드를 잊지말자 개발자라고 너드하다는 편입견은 버리자
때론 실력보다 겉모습에서 나오는 아우라가 중요할수 있다.

요구사항 정의는 어떻게 보면 연애보다 어렵다 대충 코드부터 짜자는 습관을 버리자
당장은 귀찮고 힘들지만 한발 나아가기 위한 뒷걸음이라 생각하자

프로젝트에서 제일 어려운것은 다시 만드는것이다.

아무리 고객사의 고용된 하청업체지만 그 순간만은 고객사의 직원이 되자

고객은 당연히 말도 안되는 요구사항 과다한 Cost 의 요구사항을 들고온다
가능하면 열린 자세로 대하자 이 순간만큼은 서비스업이다.

자기가 뭘 원하는지도 모르는 고객이긴 하지만 떄론 그런 사람에게 획기적인
아이디어가 나온다.

떄로는 거짓말도 필요할수 있다 지금 당장은 사기를 치더라도 결과적으로
고객과 같이 윈윈할수 있는 방향으로 치자 ;;;

5개의 좋아요

정말로 공감 가는 내용입니다. :+1:
고객보다 더 많은 고민을 하면서 개발을 진행하면, 대체적으로 고객과 좋은 관계를 만들 수 있고, 결과물도 좋게 나오는 것 같습니다.

3개의 좋아요