기능 명세서 작성법 | 앱 개발 기능 명세 및 데이터베이스 할일 관리 템플릿 소개 | 시리얼 노션 사용법 #34 10616 명이 이 답변을 좋아했습니다

당신은 주제를 찾고 있습니까 “기능 명세서 작성법 – 앱 개발 기능 명세 및 데이터베이스 할일 관리 템플릿 소개 | 시리얼 노션 사용법 #34“? 다음 카테고리의 웹사이트 you.maxfit.vn 에서 귀하의 모든 질문에 답변해 드립니다: https://you.maxfit.vn/blog. 바로 아래에서 답을 찾을 수 있습니다. 작성자 시리얼 Sireal 이(가) 작성한 기사에는 조회수 4,896회 및 좋아요 58개 개의 좋아요가 있습니다.

기능명세서에 무엇을 적어야 할까요? 기능을 작동하게 하기 위해서는 1) 무엇을 2) 어떻게 만드는지 정의되어야 구현됩니다. 기획자는 ‘무엇을’ 만들 것인지에 초점을 두고 기재하면 됩니다. 개발자는 기능명세서를 보고 전체 구조/설계를 함께 고려하여 ‘어떻게’ 구현합니다.

기능 명세서 작성법 주제에 대한 동영상 보기

여기에서 이 주제에 대한 비디오를 시청하십시오. 주의 깊게 살펴보고 읽고 있는 내용에 대한 피드백을 제공하세요!

d여기에서 앱 개발 기능 명세 및 데이터베이스 할일 관리 템플릿 소개 | 시리얼 노션 사용법 #34 – 기능 명세서 작성법 주제에 대한 세부정보를 참조하세요

노션 기초 강의 및 컨설팅 : [email protected]

노션 강의/컨설팅 문의 : https://sireal.co
노션 노하우 및 사례: https://www.sireal.co/wiki
노션 온라인 강의 : https://bit.ly/notion_udemy
노션 전문 블로그 : https://blog.naver.com/sijin810
노션 컨설턴트가 집필한 노션 가이드북(한글 개정판)
구매하기 : https://bit.ly/notion_book
✔ 혹시나 이 팁이 도움이 되셨다면
👍 많은 Notioner에게 알려질 수 있도록
🙏 좋아요, 공유하기, 댓글을 부탁드립니다.
대한민국 최대 Notion Community
Notion.so 노션 한국 사용자 모임
https://www.facebook.com/groups/notion

기능 명세서 작성법 주제에 대한 자세한 내용은 여기를 참조하세요.

기능명세서에 대해 – 네이버 블로그 – NAVER

명세를 작성하는 이유 중 하나는 프로젝트 시작 전에 최대한 많은 요구사항을 끌어내고 최종 산출물의 모습을 파악하는데 있지만 일부 문제의 경우 미해결 …

+ 자세한 내용은 여기를 클릭하십시오

Source: blog.naver.com

Date Published: 2/14/2022

View: 7487

기능 명세서 작성 가이드

기능명세서. 이 글은 기능 명세서를 작성해야하는 이유과 그 방법에 대해 간단히 서술한 글입니다. 먼저, 기능을 정의한다는 것은 각각의 기능을 정의 …

+ 여기에 자세히 보기

Source: coffeedjimmy.github.io

Date Published: 11/30/2022

View: 8271

기능 명세서 작성 요령 – PLANin

그렇다면 기능 명세란 무엇인가? 기능 명세란 1) 사용자의 관점에서 2) 최종 제품이 3) 어떤 모습이며 4) 어떻게 동작할 것인지를 기술한 문서를 …

+ 더 읽기

Source: planin.co.kr

Date Published: 8/17/2022

View: 1008

소프트웨어 요구사항 명세서 (기능명세서)에 대해서 알아보자

기능명세란 사용자 관점에서 최종제품이 어떤모습이며 어떻게 동작할 것인지를 기술한 문서를 말한다. 최종 사용자의 입장에서 기술한 문서기 때문에 내부 …

+ 여기에 자세히 보기

Source: siran.tistory.com

Date Published: 11/28/2022

View: 1642

소프트웨어 기능 명세서 작성 방법

소프트웨어 기능 명세서 작성 방법 · 1. 면책 조항. 방어적인 내용 “이 명세는 완벽하지 않습니다.” 시간이 흘러 명세가 완벽하게 되면 다음과 같이 면책 …

+ 여기에 표시

Source: kimcblog.com

Date Published: 2/15/2021

View: 9514

클라이언트가 궁금해하는 IT 서비스 개발 #2 – 브런치

기능 명세서는 대분류부터 세부 항복까지 분류를 나누고 세부항목의 기능의 작동에 대한 정의해놓은 문서입니다. 보통 기획의 가장 첫 번째는 기능 명세서 …

+ 여기에 더 보기

Source: brunch.co.kr

Date Published: 7/1/2021

View: 8882

명세서 작성

1. 기능 명세서 : 철저하게 어떻게 만들지(구현할지)가 배제된 명세서입니다. 사용자의 입장에서 프로그램을 바라봤을 때 …

+ 자세한 내용은 여기를 클릭하십시오

Source: itouch.tistory.com

Date Published: 2/7/2022

View: 3962

주제와 관련된 이미지 기능 명세서 작성법

주제와 관련된 더 많은 사진을 참조하십시오 앱 개발 기능 명세 및 데이터베이스 할일 관리 템플릿 소개 | 시리얼 노션 사용법 #34. 댓글에서 더 많은 관련 이미지를 보거나 필요한 경우 더 많은 관련 기사를 볼 수 있습니다.

앱 개발 기능 명세 및 데이터베이스 할일 관리 템플릿 소개 | 시리얼 노션 사용법 #34
앱 개발 기능 명세 및 데이터베이스 할일 관리 템플릿 소개 | 시리얼 노션 사용법 #34

주제에 대한 기사 평가 기능 명세서 작성법

  • Author: 시리얼 Sireal
  • Views: 조회수 4,896회
  • Likes: 좋아요 58개
  • Date Published: 2021. 1. 15.
  • Video Url link: https://www.youtube.com/watch?v=4IMa1gNfSpI

서비스 기획자의 업무 + 화면설계서, 기능명세서

업무중 시간이 나서 앞으로 계속 보고 공부/참고해야할 내용을 정리해서 기록함.

기획자의 업무는?

1. 요구사항 명세화

사용자 에게 필요한 사항을 어떻게 시스템에 표현하고 어떤 결과가 어떻게 도출될지 정의를 해나가는 업무. 말 그대로 요구사항을 정확히 만들어간다.

2. 서비스 방향 명세화

앞으로 개발될 서비스에 대한 구체화 작업 진행. 고객의 요구 발견, 발전된 방향을 만들어간다.

3. 결과물에 대한 사용자 측정

서비스의 방향이 구체화 되었다면 그 방향에 맞게 개발이 진행될 수 있게 개발자와 디자이너 사이에서 도움자 역할.

개발진행시 결과물에 대한 단계별 진행과 변경에 대해 초기 작업과 확인하며 방향성을 잃지않도록 사용자 중심의 길을 제시하는 업무.

이 세가지 업무가 다 녹아있는것이 화면설계서(UI 설계도)

UI 설계도에 해당하는 용어들

한글로는 화면 설계서

영어로는,

1. wireframe

화면 설계에 있어서 뼈대, 윤곽선만 잡아놓은 형태.

2. workflow

작업 흐름도. 디지털 제품 인터페이스가 처음에 어떤 일을 하고 다음에 어떤 일을 하는가 설명해 놓은 문서

3. 스토리보드

디지털제품 인터페이스가 처음에 어떻게 보이는지 그림과 글로 설명한 문서

4. MMI 문서, MMI 규격서

man-machine interface 요즘은 휴먼-머신 인터페이스라고 더 많이 쓰는것 같다.

5. 사용자 시나리오

사용자가 어떤 식으로 디지털 제품을 사용하는 상황이다 라는 측면에서 지칭할 때.

보통 화면 설계서(wireframe)와 스토리 보드를 보통 같은개념, 유사개념으로 이해하고 작성. 그러나 사실 화면 설계서와 스토리보드는 다른 문서임.

화면설계서는 표면적으로 텍스트, 선, 버튼으로 이루어져 있지만 그 안에는 많은 정보를 표현함.

요구사항명세서에 작성된 기능을 시각적으로 배치.

화면설계서에는 어떤 내용이 담겨야 할까?

버전관리 *완전중요함

개정이력 : 첫 프로젝트는 없었지만 (그냥 텔레그램으로 파일 주고 받고) 이 점을 넘버링 / 날자 / 상세 내용(Description) / 어떤 이슈였는지, 어떻게 처리되었는지 / 작성자등으로 정리해 둘 필요가 있겠다.

나중에 디자이너가 개발부분에서 예. 여기는 왜 버튼이 없죠? 분명 기획단에서 그 이슈가 있었고 사용성이나 플로우 고려해서 없앤거였는데 그 전후 과정이 기억이 나지 않았다. 다만 우리도 그 부분을 알고있고 필요성을 전에도 고려했었고 없어도 되는것이 맞다. 문서가 복잡해지고 같이 일하는 이해관계자가 많아질 수록 문서관리의 필요성이 절실히 느껴짐.

정보 구조도 : 서비스 기획이 어느정도 완료 된 후 어느 정보를 어떤 중요도에 따라 위계를 결정할 것인지를 잘 결정해야 한다. 이 정보 구조를 구성할 때 개발적인 지식이 있다면 큰 도움이 될 것 같다는 생각이 들었다.

+ 서비스 윤곽이 어느정도 잡히면 정보 구조도부터 그리는것이 전체적인 흐름 잡기에 큰 도움이 된다. / 지금 프로젝트 같은 경우는 내가 화면기획을 하고 개발자출신 기획자(백앤드잘알)님이 백엔드 정보구조를 하실듯^^!

규칙(일종의 범례) : 경고나 종료, 안내창 등에 대한 내용을 미리 정해둠. 복잡한 작업일 수록 이 부분의 중요성이 커짐.

화면 목록 : 문서에 감긴 화면 목록 정리. 개발자와의 커뮤니케이션을 위해 화면ID를 표시하기도함. 취소선과 비고를 적절히 활용하면 전체 히스토리를 파악할 수 있어서 좋음.

플로우차트 : 설계 화면이 간단하면 안만들어도 됨. 그러나 복잡해질수록 플로우차트를 정리하고 시작하기를 권장. 그리는법은 그려야 할 일이 생길때 다시 찾아서 참고하도록 하자. 웹의 경우 대부분 화면설계만으로 많은 것을 표현할 수 있는 반면, 앱의 경우 다양한 제스쳐와 기능키 등으로 더 많은 표현방법이 필요하고 웹과 같이 메뉴를 늘 고정시켜두지 않아 flow작성이 웹에 비해 중요해짐.

기본 정책 : 플로우차트에서 담지 못한 내용을 정책 문서로 따로 분리/정리. 각 항목에 대한 고민사항과 결정사항을 정리할 수 있음.

권한 정책 : 프로젝트 성격에 따라 권한 설계가 필요한 경우도 있고, 불필요한 경우도 있음.

유효성 검사 디스크립션 작성 : 설계를 하다보면 필수 입력항목과 유효성 체크 시나리오도 정리해야하는데 우측 공간이 너무 좁은 경우에는 디스크립션을 작성하기가 불편. 이때는 페이지를 별도로 분리해서 상황, 문구, 처리 시나리오를 표로 만들어서 정리하면 작성하기도 쉽고 개발자들이 보기에도 좋음.

이 내용에 대한 유투브 강의도 있으니 나중에 다시 공부해볼것.

youtu.be/ra3EpF9WTow

화면 설계 : 화면에는 관리자 화면의 설계도 포함. 화면을 설계할때는 실제 들어갈 데이터를 쌤플로 넣어줄 것. 그래야 디자이너나 개발자가 해당 영역에 얼마나 많은 텍스트가, 어떤 형태로 들어가는지 알 수 있을 것. 전화번호의 형식 등. 예. 01012345679 / 010-1234-5678 / +82 01 1234 5678 이런건 기획자가 지정해서 넣어준다.

화면설계서 작성 프로그램

1) 파워포인트

2) power mockup – 파워포인트 내에서 설치하는 프로그램이라 사용하기 좋음

3) 키노트

4) 스케치

5) Axure (정리를 하다보니 기획자 조영수(브런치 팔로잉 해둠)님은 Axure툴을 이용해 스토리보드와 프로토타입이 홉합된 형태의 설계 문서를 제작하신다고함. 나중에 시간나면 시도해 볼것. 아마 이번 프로젝트는 파워포인트가 아닌 다른 툴에 대해 조금은 더 알아둘 필요가 있을 것 같다.

기능명세서

구현해야 하는 기능에 대해 상세하게 설명하는 문서. 해당 기능이 어떻게 작동해야하고, 작동이 되지 않았을때는 어떻게 처리 해야하는지 (에러)에 대한 상태를 기재함.

디테일한 기능명세서 -> 프로젝트의 성공

기능명서에 무엇을 적어야 할까?

기능을 작동하게 하기 위해서는 1)무엇을 2) 어떻게 만드는지 정의되어야 구현됨.

기획자는 무엇을 만들 것인지에 초점을 두고 기재하면 된다. 개발자는 기능명세서를 보고 전체 구조/설계를 함께 고려하여 ‘어떻게’구현한다.

기능명세서 작성 방법 및 프로그램

1) 화면 명세서 우측에 작성

2) 별도의 문서로 작성 *엑셀 등에 별도로 작성하면(내용이 많을 경우) 물론 많은 내용을 기재할 수 있지만 개발자가 보기 불편할 수도 있음.

특별히 정해진 바가 있는 것이 아니며 개발자가 편한 방식으로 전달하면 된다.

*스토리보드(화면설계서)는 처음부터 완벽하기가 힘들다.

실제 개발과 디자인에 돌입하면 모두가 예상하지 못했던 문제들이 나오기 시작하며 무한 토론과 수정을 거쳐야함. 기획자의 커뮤니케이션능력 발휘가 필요하다 하하하하하

그치만 그 누구도 완벽하게 모든 문제를 예상할 수는 없다!!

자료 출처 및 나중에 다시 참고할 것들

UI 설계도에 해당하는 용어들 (pxd.co.kr)

화면설계서 (Wireframe)와 기능명세서 (Functional Specification) | by 송미경 | Medium

IT 기획 연구소 (yslab.kr)

[웹 기획] 화면 설계 용어 정리 (brunch.co.kr)

[기획#3]스토리보드(화면설계서) 작성법-템플릿제공 : 네이버 블로그 (naver.com)

기획자가 화면설계서(스토리보드)를 만든다구요? 기획자가 무슨 능력을 가지고 있는데요? – 강학주의 e-Biz Story (tistory.com)

기능명세서에 대해

Tech 기능명세서에 대해 비즈니스 캐주얼 ・ URL 복사 본문 기타 기능 공유하기 신고하기 SRS Software Requirements Specifications와 SAD, Software Architecture Document가 있습니다. 문서의 양은 30-50페이지를 넘지 않아야 하고요. ​ SRS는 기능명세서라고도 불립니다. 스펙을 정하여 모든 개발의 분야, 일정 예측, 설계 구현, 테스트의 기준이 되고, 개발 진행 상황 파악, 의사소통을 위한 것입니다. ​ 소프트웨어 프로젝트에 있어 요구사항은 무엇을 하는 소프트웨어를 만들지 결정하는 것입니다. 요구사항을 작성하는 목적은 프로젝트의 범위 확정, 비용 측정, 일정 관리, 문서화 등 다양한 활동을 지원하는 데 있습니다. ​ 요구사항 분석 단계에서 나오는 최종 산출물은 요구사항 명세서이니다. 명세서에 포함되는 내용은 다양합니다. 시스템의 목표와 독자, 전체 기술 요약, 프로젝트 제약 조건 등이 서론으로 포함되고, 본문에는 자료 흐름도나 프로세스 명세서 ERD 등이 포함됩니다. ​ 다만 대부분 시간에 쫓기거나 비용에 쫓겨 문서롸를 하지 않는 경우가 비일비재합니다. ​ 대부분은 시스템을 요약적으로 기술한 1-2장의 짧은 문서로 명세서를 대신하는 경우가 많으며 이런 모호함이 프로젝트 종료후 논쟁이 대상이 되기도 합니다. ​ 아무튼 기능 명세서는 요구사항 명세에 들어가야 되는 내용 중 하나이며, 이 기능 명세서 하나만 제대로 작성되어도 프로젝트를 성공적으로 이끌 수 있습니다. ​ 기능명세서는 무엇인가? 기능명세란 사용자 관점에서 최종제품이 어떤 모습이며 어떻게 동작할지를 기술한 문서입니다. 최종 사용자의 입장에서 기술한 문서이기 때문에 내부 구현 또는 설계 이슈는 포함되지 않습니다. ​ 기능명세는 이렇듯 무엇을 만들지를 분명히 하는 문서라고 볼 수 있습니다. ​ 개발자 입장에서 기능 명세는 개발 과정에서 궁금할 수 있는 모든 질문에 답을 해놓은 문서가 존재한다는 뜻입니다. ​ 또한 기능명세는 고객 혹은 최종 사용자의 승인을 받은 문서이므로, 명세만 따라서 만들면 고객이 실제로 원하는 프로그램을 만들 수 있습니다. 분쟁의 소지도 줄어들죠. ​ 참고로 기능 명세와 기술 명세는 전혀 다른 내용입니다. 기술 명세는 프로그램 내부 구현에 대한 기술입니다. 기술명세는 설계 및 구현에 직접적인 도움을 주기 위한 것이고 사용자 관점에서 시스템을 기술한 기능명세와는 다릅니다. ​ 소규모의 개발조직에서의 프로그래머들은 기술 명세를 생략하는 경우가 많습니다. 왜냐하면 다들 아는 내용이기 때문이며 소규모 개발조직이기 때문입니다. 하지만 기능 명세는 개발자뿐 아니라 다른 비개발자 또는 커뮤니케이션을 하기 위해서도 필요합니다. ​ 기술명세서에 들어갈 내용은요? 1) 시나리오 기술명세는 철저히 사용자의 관점에서 시스템을 바라본 것이므로 실제 사용자를 가정하고 시스템을 어떻게 쓸 것인지 시나리오를 작성하는 것이 중요합니다. ​ 이때 시나리오는 유스 케이스 (use case)가 될 수 있고, 유저 시나리오 (user scenario)가 될 수 있습니다. 소프트웨어 방법론이나 프로젝트의 성격에 따라서 어떤 방식을 선택해도 무방합니다. ​ 원칙은 모든 기능을 한 번 이상 이용할 수 있도록 충분히 많은 시나리오를 작성해서 개발자가 시스템을 설계할 때 전혀 고려된 적 없는 시나리오가 없도록 해야 합니다. 기능 명세의 시나리오에 테스트를 어떤 부분을 해야 하는지 제공한다면 QC에도 도움됩니다. ​ 2) 세부사항 기능 명세를 작성하면서 세부사항은 정말 중요한 부분입니다. 특히 잘못될 가능성이 있는 경우에 대해서 꼼꼼히 명세를 작성해야 합니다. 또한 세부사항의 경우 UI를 중심으로 기능을 기술하는 것이 효과적입니다. ​ 특히 웹 기반인 경우 페이지를 기준으로 소프트웨어가 어떻게 동작하는지 설명하는 방법이 일반적입니다. ​ 모든 페이지에는 고유의 이름을 붙이고 각 페이지에서 나오는 메뉴와 UI 위젯이 어떤 역할인지 구체적으로 작성해야 합니다. ​ 3) 이슈체크 명세를 작성하는 이유 중 하나는 프로젝트 시작 전에 최대한 많은 요구사항을 끌어내고 최종 산출물의 모습을 파악하는데 있지만 일부 문제의 경우 미해결 상태로 남아있게 됩니다. 이런 부분의 경우 기능 명세에서 분명히 기술해서 프로젝트가진행되면서 해결해 나가야 합니다. ​ https://siran.tistory.com/175 소프트웨어 요구사항 명세서 (기능명세서)에 대해서 알아보자 안녕하세요 시란입니다. 이번시간에는 소프트웨어를 설계함에 있어 필요한 문서인 기능명세서에 대해서 알아보려고 합니다. 프로젝트 처음 시작할 때 아무리 시간이 없다고 해도 필요한 문서가 2가지 있습니다 문.. siran.tistory.com ​ 인쇄

기능 명세서 작성 요령

소프트웨어 개발 실패시 중요항목으로 작용

소프트웨어 프로젝트는 낮은 품질과 지연되는 일정, 초과되는 예산으로 악명 높다. 소프트웨어 위기(Software Crisis)라고도 불리는 이런 현상의 원인에는 항상 불완전하거나 잘못된 요구사항이 있다. 스탠디시 그룹(Standish Group)이 352개 기업의 8000개 프로젝트를 조사한 결과에 따르면, 소프트웨어가 실패하는 주요인으로 사용자의 참여 부족(12.8%), 불완전한 요구사항과 명세서(12.3%), 변화하는 요구사항과 명세서(11.8%) 등 요구사항과 관련된 항목이 거의 40%에 달함을 알 수 있다. 이번 호에서는 요구사항과 관련된 최소한의 문서인 기능 명세서(Functional Specification)에 대해 알아보자.

서광열 | [email protected]

요구사항이란?

소프트웨어 프로젝트에 있어 요구사항 분석이란 무엇을 하는 소프트웨어를 만들지 결정하는 단계이다. 실제로 많은 소프트웨어 프로젝트가 무엇을 만들지도 확실히 결정하지 않고, 코드를 작성하고 테스트를 수행하는 모습을 볼 수 있다. 이런 일을 잘할수록 슈퍼 프로그래머로 불리고 칭송 받는 게 현실이다. 하지만 이렇게 작성된 소프트웨어는 최종 사용자가 실제로 원했던 모습이 아니며, 잘 만든 소프트웨어일수는 있어도 결국 쓸모없는 소프트웨어가 된다.

요구사항을 작성하는 목적은 다양하다. 소프트웨어의 설계와 구현뿐만 아니라, 프로젝트의 범위 확정, 비용 측정, 일정 관리, 문서화와 교육 훈련 등 다양한 제반 활동을 지원하는데 있어 요구사항 작성과 관리는 빠질 수 없는 중요한 활동이다. 이처럼, 요구사항은 개발팀뿐만 아니라 해당 소프트웨어와 이해관계를 함께 하는 모든 사람들이 참여하는 중요한 활동이다.

요구사항 분석 단계에서 나오는 최종 산출물은 요구사항 명세서이다. 요구사항 명세서에 포함되는 내용은 무척 다양하다. 시스템의 목표, 독자, 전체 기술 요약, 프로젝트 제약 조건 등이 서론으로 포함되고, 본문에는 기능 명세의 필요에 따라 자료 흐름도(Data Flow Diagram)이나 프로세스 명세서(Process Specification), ERD (Entity-Relationship Diagram) 등이 포함되기도 한다. 또한 표준, 법률 등에 의한 외부 규제나 성능 관련 내용을 포함한 비기능 요구사항(Non-functional Requirement), 프로젝트가 완료되었을 때의 검증 기준 등도 문서에 포함된다.

하지만 중소규모의 프로젝트에서는 이런 요구사항 문서 작성이 부담인 경우가 많으며, 압도적인 문서의 양에 겁먹어 사실상 아무런 문서화를 하지 않는 경우가 비일비재하다. 현재도 중소기업 간의 소프트웨어 계약에서는 시스템을 요약적으로 기술한 1-2장의 짧은 문서가 요구사항 명세서를 대신하는 경우가 많으며, 이런 명세서의 모호한 구절은 이후 프로젝트의 범위와 종료 여부를 놓고 논쟁의 대상이 된다.

기능 명세서

기능 명세서는 앞서 언급한 요구사항 명세에 들어갈 내용 중에 하나이며, 소규모 프로젝트에서는 사실상 기능 명세서만 제대로 작성되어도 프로젝트를 성공적으로 이끌 수 있다. 여기서 말하는 소규모란 개발자 1명이 일주일 이상 개발해야 하는 복잡도를 가진 모든 소프트웨어를 통칭한다. 1명의 개발자가 하루 이틀 작성하는 미니 프로그램을 제외한다면, 모든 소프트웨어는 명세 없이는 항상 일정을 초과하고 품질이 낮은 소프트웨어를 만들 수밖에 없다.

그렇다면 기능 명세란 무엇인가? 기능 명세란 1) 사용자의 관점에서 2) 최종 제품이 3) 어떤 모습이며 4) 어떻게 동작할 것인지를 기술한 문서를 말한다. 기능 명세란 어디까지나 최종 사용자의 입장에서 기술한 문서이기 때문에 내부 구현이나 설계 이슈를 포함하지 않는다. 또한 최종 제품에 대해서 이야기하기 때문에 각 소프트웨어 컴포넌트들이 어떻게 상호 작용하는지도 중요하지 않다. 그저 이 프로젝트가 끝나면 나오는 최종 산출물이 어떤 모습이며 어떤 일을 수행하는지를 자세히 기술하는 것이다.

실제로, 많은 개발자들이 무엇을 만들 것인지와 어떻게 만들 것인지를 혼동한다. 무엇과 어떻게 사이에 명확한 경계가 존재하지는 않지만, 소프트웨어 요구사항도 파악하기 전에 설계가 시작되어서는 곤란하다. 최종 소프트웨어가 어떤 모습인지를 확실하지 않은 채 UML을 이용해 클래스 다이어그램부터 그리고 있어서는 곤란하다. 이런 시스템은 필연적으로 주객이 전도되어 설계가 요구사항의 변경이나 삭제를 요구한다. 기능 명세는 ‘무엇’을 만들 것인지를 분명히 하는 문서라고 보면 된다.

개발자 입장에서 기능 명세는 개발 과정에서 궁금할 수 있는 모든 질문에 답을 해놓은 문서가 존재한다는 뜻이다. 또한 명세는 고객 혹은 최종 사용자의 승인을 받은 문서이므로, 명세만 따라서 만들면 고객이 실제로 원하는 소프트웨어를 작성할 수 있다는 장점이 있다. 또한 분쟁의 소지가 생겼을 때는 결국 명세에 명시된 내용을 근거로 판단을 내릴 수 있다 (물론 상당수의 소프트웨어 프로젝트에 명세는 무시되고, 고객의 머릿속에 있는 요구사항이 최우선이긴 하지만 말이다).

종종 기능 명세를 기술 명세(Technical Specification)와 혼동하는 경우가 있다. 기술 명세는 프로그램 내부 구현에 대한 기술이며, 데이터 구조, 관계형 데이터베이스 모델, 프로그래밍 언어, 알고리즘, 플랫폼 등을 기술하는 것이 일반적이다. 기술 명세는 설계 및 구현에 직접적인 도움을 주기 위한 것이며 사용자의 관점에서 시스템을 기술한 기능 명세와는 다르다.

쉽게 커뮤니케이션이 가능한 10명 이하 소규모 개발 조직에서는 대부분의 의사소통이 구두로 이루어지므로, 기술 명세를 생략하는 경우가 많지만 기능 명세는 개발팀만을 대상으로 하지 않는다는 면에서 여전히 유효하다.

기능 명세에 들어갈 내용

기술 명세의 중요성을 설파하고 나면, 기술 명세의 템플릿을 원하는 분들이 많다. 기술 명세를 한 번도 작성해 본 적이 없는 분들의 입장에서 템플릿은 기술 명세 문서를 작성하는 단서가 되기도 하지만, 무비판적으로 모든 템플릿의 항목을 채우려는 문서화 노력은 보통 불필요한 노동으로 끝나는 경우가 많다.

기술 명세는 프로젝트 성격에 따라 달라지지만 일반적으로 다음 요소들은 반드시 포함되며 추가 설명이 필요 없을 정도로 자세히 기술되어야 한다.

1) 시나리오

기술 명세는 사용자 관점에서 시스템을 바라본 것이므로, 이를 가장 잘 기술하는 방법은 실제 사용자를 가정하고 시스템을 어떻게 쓸 것인지 시나리오를 작성해 보는 것이다. 예를 들어, 온라인 영어 학습 사이트에 대한 기술 명세를 쓴다고 하면, 성적은 중위권이며 방과 후에 PC방에서 게임하는 것이 취미인 15살 박 모 군과 같이 구체적인 인물을 설정하고, 이런 인물이 영어 학습 시스템을 사용할 때 어떤 패턴을 보일 것인지를 기술하는 것이 효과적이다.

이때 시나리오는 유스 케이스(Use Case)가 될 수도 있고, 조금 더 단순화된 형태인 유저 시나리오(User Scenario)가 될 수도 있다. 소프트웨어 방법론이나 프로젝트의 성격에 따라 어떤 방식을 선택해도 무방하다. 하지만 원칙은 시스템의 모든 기능을 한 번 이상을 이용할 수 있도록 충분히 많은 시나리오를 작성해서, 개발자가 시스템을 설계할 때 전혀 고려된 적이 없는 상황을 마주치는 일이 생기지 않도록 해야 한다.

기능 명세의 시나리오는 무엇을 테스트해야할지 단서를 제공한다는 측면에서 소프트웨어 테스트나 품질보증(Quality Assurance, QA) 팀에게도 소중한 문서이다. 특히 시스템의 기능 테스트(Functional Test)는 유저 시나리오에 바탕을 뒀을 때 가장 효과적이다. 유저 시나리오는 최종 제품이 원래 요구사항에 기술된 요소를 모두 충족시켰는지를 판단하는 중요한 근거가 되기 때문이다.

2) 세부사항

기능 명세를 작성함에 있어서는 세부사항이 무척 중요하다. 특히, 무엇인가 잘못될 수 있는 경우 모든 가능성에 대해서 꼼꼼히 명세를 작성해야 한다. 예를 들어, 전자상거래 웹페이지의 로긴 페이지를 만든다고 한다면 다음과 같은 이슈를 모두 고민해야 한다.

1) 등록되지 않는 ID로 로긴한 경우?

2) 등록된 ID지만 패스워드가 틀린 경우?

3) 같은 ID에 3번 이상 다른 패스워드를 입력했을 경우 추가적인 로그인 시도를 금지할 것인가?

4) 아이디와 패스워드를 잃어버린 사람이 이를 되찾는 방법은?

5) 패스워드 관련 힌트를 제공할 것인가?

6) 한 번 로긴한 후에는 얼마나 오래 세션이 지속되는가?

세부사항을 작성할 때, UI를 중심으로 기능을 기술하는 것이 가장 효과적이다. 특히, 웹개발의 경우 각각의 페이지를 기준으로 소프트웨어가 어떻게 동작하는지 설명하는 방법이 일반적이다. 모든 페이지에 고유의 이름을 붙이고, 각 페이지에서 나오는 메뉴와 UI 위젯이 어떤 역할을 하는지 구체적으로 기술한다.

3) 열린 이슈

명세를 작성하는 목적은 프로젝트 시작 전에 최대한 많은 요구사항을 끌어내고 최종 산출물의 모습을 파악하는 데 있지만, 필연적으로 일부 문제들은 미해결 상태로 남아있게 된다. 이런 부분은 기능 명세에 분명히 기술하여 프로젝트가 진행

되면서 해결해 나가야 한다.

변경 추적

기능 명세뿐만 아니라 모든 개발 관련 문서의 생명은 얼마나 변경 추적이 잘 되느냐에 달려 있다. 명세와 관련된 가장 큰 불만은 명세를 작성한 이후 프로젝트 요구사항이 변화하고 설계 및 코드에 수정이 일어남에도 불구하고 명세가 갱신되지 않는다는 데에 있다. 따라서 개발자들을 비롯한 이해 관계자들은 명세를 신뢰하지 않게 되고, 쓸모없다고 생각하게 된다.

특히 요구사항 분석, 설계, 구현, 테스트, 유지 보수를 한 번씩만 거치는 폭포수 모델(Waterfall Model)을 따르는 조직일수록 이런 경향이 강하게 나타난다. 요구사항 분석은 프로젝트 초기에 단 한 번만 이루어지며, 이후 설계나 구현은 요구사항 변경 요청 시에 수정되지만 정작 요구사항 문서는 그대로 남는 경우이다. 이런 조직에서는 시간이 지날수록 기능 명세를 비롯한 요구사항 문서의 질은 극도로 낮아지며 유지 보수 단계에서는 누구도 기능 명세를 보지 않는 상황이 벌어진다.

누가 기능 명세를 쓰는가?

기능 명세와 관련된 가장 중요한 질문은 누가 기능 명세를 쓰느냐는 것이다. 앞서 언급한 것처럼 기능 명세는 개발팀뿐만 아니라, 마케팅, 문서화팀, QA팀 등 소프트웨어 프로젝트에 관련된 모든 팀이 관여하는 문서이고, 다양한 이해 관계자들을 만나서 요구사항을 끌어낼 수 있는 능력이 필요하다. 따라서 어느 정도 개발 지식이 있을 뿐만 아니라 대인 관계와 커뮤니케이션 능력이 뛰어난 사람이 명세를 작성해야 한다.

덕분에 국내에서는 기능 명세를 쓰는 사람이 개발팀장인 경우가 많지만, 훌륭한 프로그래머가 훌륭한 커뮤니케이션 능력을 갖추고 글도 잘 쓰는 경우는 국내외를 막론하고 무척 드물다. 또한 내부 구현이나 기술적인 세부 사항을 너무 잘 알고 있다는 점이 부작용으로 작용한다. 뛰어난 개발자 출신일수록 기능 명세가 아닌 기술 명세를 작성하는 경우가 많다.

기능 명세를 개발팀장이 작성하는 경우가 많은 이유는 기능 명세 작성을 개발팀 리더의 역할로 보는 관점 때문이다. 하지만 기능 명세를 작성하는 사람은 개발자나 테스터와는 다른 전문 영역으로 보는 것이 옳다. 실제로 마이크로소프트나 구글 등 대형 소프트웨어 업체는 신입 사원을 모집할 때부터 직군을 프로그램 매니저, 개발자, 테스터로 구분하고 있는데, 프로그램 매니저의 주요 역할이 요구 사항을 수집하고 기능 명세를 작성하는 데 있다.

기능 명세는 소프트웨어 요구사항의 핵심이며, 설계와 구현의 바탕이 되는 중요한 문서이다. 아직까지 기능 명세 없이 곧바로 소프트웨어를 작성하는 조직이 있다면, 기능 명세를 작성해 볼 것을 권한다. 기능 명세에 대한 더 자세한 정보가 궁금한 사람은 참고문서를 참고하기 바란다.

필자소개

현재 (주)노매드커넥션의 CTO로 재직 중이다. 관심 분야는 플랫폼, 가상 머신, 프로그래밍 언어 등이며 현재는 미디어 플랫폼에 많은 관심을 가지고 연구 개발을 진행 중이다. 개인 블로그인 서광열의 소프트웨어 이야기(http://skyul.tistory.com)을 통해서 소프트웨어 개발과 IT 산업에 대한 생각을 정리하고 있다.

제공 : DB포탈사이트 DBguide.net

출처 : 경영과컴퓨터 [2007년 11월호]

소프트웨어 요구사항 명세서 (기능명세서)에 대해서 알아보자

안녕하세요 시란입니다.

이번시간에는 소프트웨어를 설계함에 있어 필요한 문서인 기능명세서에 대해서 알아보려고 합니다.

프로젝트 처음 시작할 때 아무리 시간이 없다고 해도 필요한 문서가 2가지 있습니다

문서의 양은 30~50페이지를 넘지 않는다.

SRS 일명 Software Requirements Specification 과, SAD Software Architecture Document 입니다.

그중 SRS에 대해서 얘기하려고 알아보겠습니다.

SRS가 중요한것은 스펙을 정함으로써 모든 개발의 모든 분야 일정 예측, 설계 구현, 테스트의 기준이 되고 개발 진행 상황파악, 의사소통이 가능해집니다.

소프트웨어 프로젝트에 있어 요구사항은 무엇을 하는 소프트웨어를 만들지 결정하는 단계입니다.

요구사항을 작성하는 목적은 프로젝트의 범위확정, 비용 측정, 일정 관리, 문서화 등 다양한 활동을 지원하는데 있다.

요구사항 분석 단계에서 나오는 최종 산출물은 요구사항 명세서입니다. 명세서에 포함되는 내용은 다양합니다. 시스템의 목표와 독자, 전체 기술 요약 , 프로젝트 제약조건 등이 서론으로 포함되고, 본문에는 자료 흐름도나 프로세스 명세서 ERD등이 포함됩니다.

하지만 대부분 시간에 쫒기거나 비용에 쫓겨 문서화를 하지 않는 경우가 비일비재합니다.

대부분은 시스템을 요약적으로 기술한 1-2장의 짧은 문서로 명세서를 대신하는 경우가 많으며 이런 모호함이 프로젝트 종료후 논쟁의 대상이 된다. (하지만 본인은 본인 회사의 시스템 개발이므로 해당되지는 않는다.)

아무튼 기능 명세서는 요구사항 명세에 들어가야 되는 내용 중 하나며, 이 기능 명세서 하나만 제대로 작성되어도 프로젝트를 성공적으로 이끌 수 있다.

그렇다면 기능명세서는 무엇인가?

기능명세란 사용자 관점에서 최종제품이 어떤모습이며 어떻게 동작할 것인지 를 기술한 문서를 말한다.

최종 사용자의 입장에서 기술한 문서기 때문에 내부 구현 또는 설계 이슈는 포함되지 않습 니다.

기능명세는 이렇듯 무엇을 만들 것인지를 분명히 하는 문서라고 보면 됩니다.

개발자 입장에서 기능 명세는 개발과정에서 궁금할 수 있는 모든 질문에 답을 해놓은 문서가 존재한다는 뜻입니다.

또한 명세는 고객 혹은 최종 사용자의 승인을 받은 문서이므로, 명세만 따라서 만들면 고객이 실제로 원하는 프로그램을 만들수 있다. 분쟁의 소지도 줄어든다. ( 본인의 경우 .. 회사가 곧 고객인 셈이므로.. 해당이 없다. )

참고로 기능 명세와 기술 명세는 전혀 다른 내용입니다. 기술 명세는 프로그램 내부 구현에 대한 기술입니다. 기술명세는 설계 및 구현에 직접적인 도움을 주기 위한 것이고 사용자 관점에서 시스템을 기술한 기능 명세와는 다릅니다.

소규모의 개발조직에서의 프로그래머들은 기술 명세를 생략하는 경우가 많다. 왜냐하면 다들 아는 내용이기 때문이며 소규모 개발조직이기 때문이다. 하지만 기능 명세는 개발자뿐 아니라 다른 비개발자 또한 커뮤니케이션을 하기 위해서 필요한 문서입니다.

그렇다면 기술명세에 들어갈 내용은 무엇인가?

기술명세는 아래와 같은 요소들이 필요합니다. 특히나 이해가 잘 가능하도록 자세히 기술되어야 합니다.

1) 시나리오: 기술명세는 철저히 사용자 관점에서 시스템을 바라본 것이므로 실제 사용자를 가정하고 시스템을 어떻게 쓸 것인지 시나리오를 작성하는것이 중요합니다. (다만 본인의 경우 회사 내부에서 컨펌이 가능하므로 이부분은 편할듯)

이때 시나리오는 유스 케이스가 될수도있고 유저 시나리오가 될 수 도 있다. 소프트웨어 방법론이나 프로젝트의 성격에 따라 어떤 방식을 선택해도 무관합니다. 아무튼 우너칙은 모든 기능을 한번 이상을 이용할 수 있도록 충분히 많은 시나리오를 작성해서 개발자가 시스템을 설계할 때 전혀 고려된 적 없는 시나리오가 없도록 해야합니다. 기능 명세의 시나리오에 테스트를 어떤 부분을 해야하는지 제공한다면 QC에도 도움이 될 것 입니다.

2) 세부사항: 기능 명세를 작성하면서 세부사항은 정말 중요한 부분입니다. 특히 잘못될 가능성이 있는 경우에 대해서 모든 가능성에 대해서 꼼꼼히 명세를 작성해야 합니다. 또한 세부사항의 경우 UI를 중심으로 기능을 기술하는 것이 가장 효과적입니다.

특히!! 웹 기반인 경우 페이지를 기준으로 소프트웨어가 어떻게 동작하는지 설명하는 방법이 일반적입니다.

모든 페이지에는 고유의 이름을 붙이고 각 페이지에서 나오는 메뉴와 UI 위젯이 어떤 역할인지 구체적으로 작성해야 합니다.

3) 이슈체크: 명세를 작성하는 이유중 하나는 프로젝트 시작전에 최대한 많은 요구사항을 끌어내고 최종 산출물의 모습을 파악하는데 있지만 일부 문제의 경우 미해결 상태로 남아있게 됩니다. 이런 부분의 경우 기능 명세에서 분명히 기술해서 프로젝트가 진행되면서 해결해 나가야 합니다.

이렇게 기술명세서에 대해서 알아보았습니다.

업무하시는데 참조 및 도움이 되었으면 합니다.

다음번에도 좋은 포스팅으로 찾아뵙겠습니다. 감사합니다.

소프트웨어 기능 명세서 작성 방법 – KimC Blog

모든 사람들이 명세서 작업을 해야한다고 생각은 하지만, 아무도 명세서 작업을 하지 않습니다.

왜 명세서 작업을 하지 않을까요?

명세서 작업단계를 건너뛰면 시간을 절약할 수 있다고 말합니다.

이런 사람들은 명세서 작성 작업이 NASA에서 우주 왕복선을 만드는 공학도나 큰 규모의 보험회사 직원에게나 필요한 사치쯤으로 치부합니다.

명세서 작업을 하지 않는 관례는 소프트웨어 프로젝트에서 가장 크고 불필요한 위험 요인을 짊어지는 행동입니다. 이는 등에 옷가지만을 걸친 다음에 날기를 기대하며 모하비 사막을 건너려고 출발하는 것만큼이나 바보스럽습니다.

명세서 작업을 생략하고 바로 코드 작성으로 뛰어드는 프로그래머나 소프트웨어 개발자는 스스로를 허리춤에서 순식간에 총을 뽑는 멋진 총잡이라고 생각하는 경향이 있습니다.

하지만 결코 그렇지 않으며, 이런 개발자일수록 놀라 자빠질 정도로 생산성이 낮습니다.

즉, 형편 없는 코드를 작성하거나 조잡한 소프트웨어를 양산하며, 결국 전혀 쓸데없는 거대한 위험을 자초해 프로젝트를 위협합니다.

기능 명세 – FUNCTIONAL SPECIFICATION

완전히 사용자 관점에서 제품이 어떻게 동작할지를 기술합니다. 어떻게 구현했는지는 신경도 쓰지 않습니다. 기능에 대해 이야기하고, 화면, 메뉴, 대화상자와 같은 사용자 인터페이스 부품을 명세합니다.

기술 명세 – TECHNICAL SPECIFICATION

프로그램 내부 구현을 기술합니다. 자료구조와 관계형 데이터베이스 모델과 프로그래밍 언어, 도구, 알고리즘 선택과 같은 항목을 다룹니다.

* 좋은 기능 명세에 대한 아이디어!

1. 면책 조항

방어적인 내용 “이 명세는 완벽하지 않습니다.” 시간이 흘러 명세가 완벽하게 되면 다음과 같이 면책 조항을 바꿀 수 있다. “제가 알기로는 이 명세는 거의 완벽합니다. 하지만 무언가 빠뜨렸을 경우에는 제게 말씀해주세요”

2. 저자

명세는 1명이 전담해서 작성해야만 합니다. 큰 제품일 경우라면, 여러 부문으로 쪼갠 다음에 각각을 개인에게 할당해서 독자적으로 명세하게 합니다. 어떤 회사는 명세에 이름을 넣어서 개인의 공로를 인정하는 관례를 이기적인 행동이나 팀워크를 해치는 일이라고 생각합니다.

하지만 이는 허튼 소리입니다. 사람들은 자신이 명세한 사항에 대해 책임감과 소유의식을 느껴야 합니다. 명세에서 무언가 잘못되면, 이를 수정할 책임이 있는 명세서 소유자를 지정해야 하며 이 사람 이름이 바로 명세서에 찍혀 있어야 합니다.

3. 시나리오

생생하고 현실적인 시나리오를 만들수록, 실 사용자나 가상으로 창조한 사용자 모두를 위한 제품을 더 잘 만들 수 있습니다.

4. 회피목표

팀 단위로 제품을 만들 때 없으면 못살겠다는 이유만으로 실제든 상상이든 간에 각자 좋아하는 상큼한 기능을 넣으려는 경향이 있습니다. 이렇게 불필요한 기능을 쳐내는 가장 좋은 방법으로 명세에 회피목표 항목을 추가합니다.

5. 개괄

개괄은 명세를 위한 목차와 유사합니다. 개괄은 간단한 흐름도이거나 광범위한 아키텍쳐 관점에서 본 토론일 수도 있습니다. 모든 사람이 숲을 보기 위해 목차를 읽습니다. 이렇게 해야 나무도 의미가 있을 것입니다.

6. 세부사항

웹 타입 서비스를 설계할 때 세부사항을 정리하는 좋은 방법은, 모든 가능한 화면에 기준이 되는 이름을 붙인 다음, 너무나도 자세해 못 견딜 만큼 따분한 세부사항을 매 화면마다 기술하는 장을 제공하는 겁니다.

세부사항은 기능 명세에서 가장 중요한 핵심입니다.

7. 미해결 문제

명세 첫 버전에 미해결 문제를 남겨놓아도 나쁘지 않습니다. 문제점을 쉽게 찾을 수 있도록 특별한 스타일을 적용해서 표시를 하고, 적당한 대안이 있으면 이를 논의합니다. 프로그래머가 작업을 시작할 무렵에 이런 모든 미해결 사항들을 짚어놔야 합니다.

단순히 프로그래머가 모든 쉬운 작업부터 시작하도록 내 버려두고, 나중에 미 해결 문제를 푸는 방법이 옳다고 생각할지도 모르겠습니다. 하지만, 이는 잘못된 생각입니다. 프로그래머가 코드를 구현하려고 시도할 무렵에 나타나는 새로운 문제점과 씨름하는 과정에서 또 다른 문제점이 나타날 것이며, 당신이 미리 알고 있었으며, 예전에 끝냇어야 하는 미해결 문제 역시 그대로 남아 있을 것입니다. 설상 가상으로 난이도 높은 문제를 해결하는 과정이 코드를 작성하는 방법에도 상당한 영향을 미칠지도 모르겠습니다.

8. 방주 (SIDE NOTE)

명세를 작성하는 동안에 프로그래머, 테스터 , 마케팅팀원, 기술집필가와 같은 다양한 청중이 있음을 기억해야 합니다. 명세를 작성할 때 단지 특정 그룹에만 유용한 활자화한 사실을 고려하면 좋겠습니다. 예를 들어 프로그래머를 위해 기술적으로 유용한 몇가지 세부 사항을 기술하는 메시지를 ‘기술노트’항목으로 구분해서 기록할 수 있습니다. 마케팅 팀원은 이런 메시지를 무시하지만 프로그래머는 이런 메시지를 탐독합니다.

9. 명세는 지속적으로 개정해야 합니다.

주기적으로 개정하여 현실을 반영합니다. 명세는 항상 제품이 동작하는 원리를 최대로 반영하는 그림자 입니다. 명세는 단지 제품이 코드완료시점에서 굳어질 따름입니다.

* 명세서 작성 팁

1. 재미있게 씁시다.

여러분이 작성한 명세가 유쾌하며 재미있고 읽기 쉽다는 이유로 당신을 얕보는 회사에 근무한다면, 어서 다른 회사를 찾는 게 낫습니다.

2. 명세를 쓰는 작업은 머리가 돌아가도록 코드를 쓰는 작업과 유사하다.

문서를 소개하려는 대상층을 감안하고, 단계마다 그 사람이 무엇을 이해하길 바라는지 먼저 상각해보세요. 문장마다 독자가 내용을 깊이 이해했을지, 문맥의 의미는 파악했는지 스스로 되물어보십시오. 그래야 명세를 읽는 높으신 분께서 수많은 기술 용어에 압도당해 처음부터 문서 읽기를 포기하거나 멈추지 않게 될 겁니다.

3. 최대한 단순하게 작성하라.

쉬운 문장으로 작성하는 방식은 왠지 프로답지 않다는 생각에, 형식적이며 현학적인 언어를 남발하지는 마세요. 가능한 가장 쉬운 언어를 사용해야 합니다. 실제화면 보다 명세서를 더 효과적으로 개선하는 방법은 없습니다. 그림은 천마디 말보다 낫습니다.

4. 여러차례에 걸쳐 검토하고 다시 읽어라.

5. 표준양식은 해롭다고 간주한다.

모든 명세는 일정한 형식을 갖춰야 한다라는 생각은 버리십시오.

출처: http://elky.tistory.com/598 [엘키의 주절 주절]

클라이언트가 궁금해하는 IT 서비스 개발 #2

안녕하세요. 지난 클라이언트가 궁금해하는 IT 서비스 개발 #1에 이어 2편을 작성해보려 합니다. 1편에 여러 이야기를 담으려고 했는데 하나하나 답변이 길어지는 바람에 2편을 작성하기로 하였습니다. 자고로 글은 길면 읽는 맛이 떨어지는 법이죠! 시작합니다요오오

1. 기획은 어떻게 해주시는 건가요?

많은 분들이 기획에 어려움을 가지고 계시고 기획, UX/UI에 대한 문의를 많이 해주십니다. 뭐 기획이야 간단하게 클라이언트 분들과 많은 시간을 함께하고 대화를 열심히 해서 좋은 기획을 만드려고 노력합니다. 신기술이 있다면 제안드리고 좀 더 좋은 UX를 위해서 기존의 기획을 변경도 해가면서 말이지요. 이런 이야기가 듣고 싶으셨던 건 아니었을 거고 실제 결과물이 어떻게 나오는지 궁금해하실 것 같습니다. ^____^

보통 기획 결과물로는 기능 명세서와 UX flow, 스토리보드가 나옵니다. 이 녀석들이 어떤 것들이 하나씩 봐볼까요

이런 게 기능 명세서

기능 명세서는 대분류부터 세부 항복까지 분류를 나누고 세부항목의 기능의 작동에 대한 정의해놓은 문서입니다. 보통 기획의 가장 첫 번째는 기능 명세서를 작성하는데서 시작합니다. 이 기능 명세서를 가지고 UX Flow와 스토리 보드가 생성됩니다.

UX Flow와 스토리보드는 비슷하지만 스토리보드가 좀 더 상위 개념입니다. UX Flow는 서비스의 흐름을 한눈에 볼 수 있게 만드는 반면, 너무 복잡한 내용을 다 담아내기에는 어려움이 있습니다. 간단한 서비스는 UX Fow로 제작하고, 복잡한 서비스의 경우 한 페이지에 많은 정보를 가지고 있기 때문에 스토리보드로 제작하는 것이 좋습니다.

좌측 스토리 보드, 우측 UX Flow

이미지와 같이 스토리보드는 한 페이지를 기준으로 다양한 정보를 담으며, UX Flow는 여러 페이지와의 관계를 표시해줍니다. (스토리보드는 보안상 간단한 이미지로 대체하였습니다.)

2. 확정된 기획에 따라 견적은 변경될 수 있습니다.

1번의 기획은 어떻게 해주세요 에서 이어지는 질문인데 보통 미팅 시에는 상세 기획이 정해져 있지 않습니다. 머릿속에 있는 아이디어를 설명해주시거나 레퍼런스 사이트와 비슷하게 만들어 달라고 하는 경우가 대부분입니다. 이런 경우 막상 상세 기획이 나와보면 미팅 때 이야기했던 것과 작업 범위가 다른 경우가 많습니다. 하지만 미팅 때 어느 정도의 러프한 견적과 일정을 항상 원하시기 때문에 “예상하건대 이 정도의 견적과 일정이 필요합니다. 하지만 상세 기획이 나오면 견적이 달라질 수 있습니다. :)” 라고 말씀드릴 수밖에 없습니다.

3. 백앤드, 프런트 앤드 프레임워크&라이브러리는 뭘 써야 하나요? (꼭 써야 하나요?)

이 질문은 조금 고급 질문이긴 합니다만, 서버 스펙과 개발 언어 등에 대해서 이야기를 나누다 보면 궁금해하시는 분들이 많습니다. 어떤 언어가 좋은지 프레임워크&라이브러리는 뭐가 좋은지 왜 좋은지에 관한 질문이 많습니다. 어떤 언어가 좋은지는 많은 토의가 되고 있는 부분이고 판도라의 상자 같은 것이니 패스하고 프레임워크&라이브러리를 왜 써야 하는지, 어떤 것을 써야 하는지에 대해서 이야기해 보겠습니다. (클라이언트 수준의 내용이니 전문적 내용은 없습니다.)

프레임워크를 안 쓰고 직접 개발하는 개발업체도 있는 것으로 알고 있습니다. 저는 개인적으로는 프레임워크를 사용하여 개발하는 것이 장점이 더 많다고 생각합니다. 프레임워크를 쓸 경우의 장점에 대해서 이야기해보겠습니다.

1. 안정적이다

2. 확장성이 좋다

3. 유지 보수하기 쉽다

아무래도 오랜 기간 많은 사용자가 사용했고 피드백을 받아 업데이트가 많이 되었기 때문에 성능 면에서 안정적입니다. 또한 이미 많은 기능이 들어가 있고 구조가 잘 잡혀있기 때문에 기능 추가 등 확장성이 좋습니다. 많은 사용자들이 사용 중이기 때문에 개발하기 편리한 구조로 되어있기도 하며, 유지보수가 가능한 개발자를 찾기 쉽다는 장점이 있습니다.

프레임워크를 선택하는 기준에는 언제나와 같이 제작하려는 서비스에 따라 다르며, 운영, 경영 방침에 따라서도 다릅니다. 최근에 나오는 많은 프레임워크들은 성능면에서 기능면에서도 다양한 장점이 존재하지만 오래된 프레임워크에 비해서 개발자를 찾기 어렵기 때문에 유지보수에 어려움이 있을 수 있습니다. 꼭 최신 트렌드를 따라가는 것만이 능사는 아니지요. (저희는 내부 프로젝트는 최신 트렌드를, 외부 프로젝트는 오래된 프레임워크를 사용합니다.)

프런트 앤드의 경우 사용할 필요가 있는 서비스만 사용하면 됩니다. 간단한 디자인인데 굳이 라이브러리를 사용할 필요는 없습니다. HTML Interaction을 중심으로 UX를 제공하려면 프레임워크&라이브러리를 사용하는 것이 좋습니다. 개인적으로는 Jquery는 권장하지 않습니다. Jquery소스는 복잡한 서비스의 경우 유지 보수하기 너무 어렵기 때문입니다. 또한 개발 속도도 빠르지 않습니다. 최근에는 많은 서비스들이 프런트 앤드 프레임워크&라이브러리를 사용하고 있습니다.

4. 개발된 어플을 스토어(플레이스토어, 앱 스토어)에 올려주는 거 아닌가요? + 애플 심사

앱 개발을 진행하다 보면 개발 이후 스토어 등록을 요청하시는 분들이 계십니다. 기본적으로 스토어에 앱을 올리는 업무는 꽤나 시간이 소요됩니다. 앱 개발을 맡겼는데 스토어에는 왜 등록 안 해주냐! 하시면 안 됩니다. 계약 시에 꼭 “스토어에 올려주는 작업까지 공수에 포함시켜 주세요.”라고 하셔야 됩니다. 스토어에 앱을 올리기 위해서는 인증서 관리, 앱 정보 등록, 버전 관리 등 작업 범위가 적지 않습니다.

안드로이드에 비해 애플은 좀 더 복잡합니다. 앱 등록 심사가 있기 때문이죠. 가장 두려워하시는 부분이 앱 등록 심사에서 거절을 당했을 경우입니다. 과거에 비해 최근은 앱 등록이 조금 쉬워지긴 했습니다만, 거절이 되는 경우가 종종 있습니다. 거절 사유는 다양하며 개발 이슈가 아닌 경우도 많습니다. 심사 거절이 되면 일정에 차질이 있어 좋아하지 않으시고, 한번 거절당했을 때 등록되는 가능성이 줄어드는 것이 아니냐고 물으시는 분들도 있습니다. 전혀 아니라고 말씀드릴 수 있습니다. 애플 앱 심사 시 거절 사유와 수정해야 하는 부분에 대해서 상세하게 알려줍니다. 해당 부분만 수정하면 쉽게 등록이 되는 경우가 많으니 두려워하지 않으셔도 됩니다.

몇 가지 궁금해하실 부분에 대해서 정리해보았습니다. 앞으로 개발사와 이야기하실 때 해당 내용들을 참고하시어 좋은 서비스 준비하셨으면 합니다. 🙂

오픈 슬랙 채널에서 소통해요!

잡담 / 개발 문화 / 일하는 방식 / 정보 공유 / 채용 문의 / 프로젝트 문의 등 어떠한 소통도 환영합니다 🙂

오픈 슬랙 채널에 참여하기⬇️

https://join.slack.com/t/secondspace-open/shared_invite/zt-19q85dgid-6TCjbezQs4TTafBwT4BxAQ

written by. 세컨드스페이스

https://secondspace.kr

키워드에 대한 정보 기능 명세서 작성법

다음은 Bing에서 기능 명세서 작성법 주제에 대한 검색 결과입니다. 필요한 경우 더 읽을 수 있습니다.

이 기사는 인터넷의 다양한 출처에서 편집되었습니다. 이 기사가 유용했기를 바랍니다. 이 기사가 유용하다고 생각되면 공유하십시오. 매우 감사합니다!

사람들이 주제에 대해 자주 검색하는 키워드 앱 개발 기능 명세 및 데이터베이스 할일 관리 템플릿 소개 | 시리얼 노션 사용법 #34

  • 노션
  • 노션사용법
  • 노션템플릿
  • notion
  • notion사용법
  • notion템플릿
  • 노션활용법
  • 생산성
  • 스마트워크
  • 메모앱
  • 메모
  • 노션메모

앱 #개발 #기능 #명세 #및 #데이터베이스 #할일 #관리 #템플릿 #소개 #| #시리얼 #노션 #사용법 ##34


YouTube에서 기능 명세서 작성법 주제의 다른 동영상 보기

주제에 대한 기사를 시청해 주셔서 감사합니다 앱 개발 기능 명세 및 데이터베이스 할일 관리 템플릿 소개 | 시리얼 노션 사용법 #34 | 기능 명세서 작성법, 이 기사가 유용하다고 생각되면 공유하십시오, 매우 감사합니다.

Leave a Comment