일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 리눅스
- 책
- 플러터
- flutter
- 맥
- 파이썬
- 프로그래밍
- 유데미
- 유데미 코리아
- python
- 리버팟
- ExpansionTile
- freezeD
- vscode
- 명령어
- 유데미 러닝크루
- 다트
- riverpod
- 도서
- command
- ListTile
- linux
- 코딩
- dart
- copyWIth
- 디자인패턴
- 개발자
- Code Generation
- 가상환경
- 개발
- Today
- Total
승상의 코딩 블로그
소프트웨어 개발을 시작할 때 (문제정의, 요구사항) 본문
1. 문제정의
우리는 풀고자 하는 문제가 있다.
이 문제를 어떻게 풀어야 할까?
일단은 풀고자 하는 문제를 잘 정의해야한다.
"잘" 이라는 것에는 다양하게 의미들이 포함되어 있다. 예를 들어, 모호하지 않고 간결하게 누구나 알아들을 수 있는 단어를 사용하는 것도 포함된다.
학창시절에 시험칠 때 선생님들이 문제를 잘 읽고 풀어라고 한다. "아닌 것을 고르시오"를 "맞는 것을 고르시오"로 잘못보면 문제를 틀렸다.
문제를 잘 파악하는 것은 항상 중요하다.
2. 요구사항
결국 마지막에는 문제를 푸는 시스템이 만들어 질 것이다.
이 시스템이 잘 만들어 졌는지 어떻게 판단할 수 있을까?
아마, 기능이 구현되었는지, 기능이 안정적으로 동작하는지 등의 여러 기준을 통해서 판단할 것이다.
근데... 다양한 사람들이 개발에 참여하는데, 우리 모두가 인정하고 동의할 수 있는 결과물일까?
우리(사용자, 하드웨어 엔지니어, 소프트웨어 엔지니어, 시스템 엔지니어 등)는 미리 어떤 제품을 만들지 "약속"을 해야한다.
이 약속은 요구사항으로 만들어진다.
물론, 요구사항이 중요하다고 해서 모든것을 한번에 정할 필요는 없다.
스티브 잡스가 "직접 물건을 보여주기전까지 사람들은 자신이 무엇을 원하는지조차 모른다"고 했다.
우리도 만들어보면서야 보이는 것들이 생기기 마련이다.
모든 것을 시작부터 고려하는 것은 불가능하기 때문에, 계속해서 회의를 통해 합의점을 찾아가야 한다.
**
아쉽게도... 생각보다 초기에 빈약한 요구사항을 작성하는 사람이 많다.
나는 전문적인 지식과 경험의 부족이 원인이라고 생각한다.
그러므로 우리 모두 항상 배우는 자세를 가지고 공부하자.
'잡다한 지식' 카테고리의 다른 글
[Mac 앱 추천] GIPHY Capture - 맥 화면 녹화(GIF) 앱/ 코딩 공부기록 필수 앱 (0) | 2024.07.06 |
---|---|
[Mac 앱 추천] Fuwari - 스크린샷(캡쳐화면) 상단에 띄우는 앱/ 코딩 공부 필수 앱/ 맥 화면 캡쳐앱 (0) | 2024.07.06 |
깃허브 지스트(GitHub Gist)로 티스토리 블로그에 코드 삽입하기 (0) | 2024.07.06 |
티스토리 포스팅 템플릿 만들기 (서식관리) (1) | 2024.07.05 |
API 설계에 관해서... (0) | 2023.01.23 |