소프트웨어 엔지니어의 관점에서 소프트웨어 공학에 대한 고찰을 하려한다.
방법론, 프로세스, 프로젝트 관리 등 이러한 것들은 왜 하는 것일까??
우리가 졸업과제 혹은 해커톤, 프로젝트를 진행하면 담당자는 왜 계획서를 제출하라고 할까??
정답에 가장 가까운 답은 "관리를 효율적으로 하기위해서" 일 것이다.
계획, 요구사항 분석, 설계, 구현, 테스트, 유지보수가 존재하면,
계획서에 대한 하는 분석과 설계에 너무 많은 비용과 노력이 들어간다.
생각하기 좋은 예시를 들자면
1. 애플이 스마트폰을 등장 시켰을때, 그들은 스마트폰이 세상을 지배할 것이라는 계획과 생각은 하지 못했다.
했더라도 이 정도는 아닐 것이다.
2. 애플이 에어팟을 등장 시켰을때 100조를 벌고있는 상태였다.
헤드셋, 이어폰 시장이 전체 5조 시장, 1위 기업이 1조를 벌고 있는 시장에 들어오는 것을 계획했다면 계획서를 버려졌을 것이다.
하지만, 에어팟은 시장에 등장했고, 20조 이상 매출이 발생하고 있다.
오늘 있었던 CTO님과의 면담에서 들었던 질문과 말씀은 나에게 큰 깨달음을 주었다.
"왜 계획서를 제출하라고 할까요?"
"나는 그러지 않았는데, 그럼 관리를 안하겠다는 말인가요?"
계획서를 냈다면 나를 관리하기 간편해진다.
현재 CTO님은 나에게 목표를 지정하고, 이에 대한 반응을 살펴보고 이 반응을 통해 다시 새로운 목표를 지정해 주고 계신다.
나의 기준에서 이는 엄청난 성장과 변화에 대응하고 나아가는 폭풍 장점이 있다고 예상된다.
내가 하고있는 프로젝트에 대해 완전히 이해하고 있어야 하기 때문에 더 깊은 노력이 들어가기 때문이다.
우리가 소프트웨어 공학에서 알고 있는 Waterfall Model이나 상위 모델들은 관리를 위해 이를 적용하고 사용하고 있다.
계획서를 토대로, 얼마나 진행중인지, 어디까지인지, 다양한 측면에서 문제를 파악할 수 있다.
그런데, 만들어 본 적 없는 것에 대한 계획서를 적는게 최선인가? 라는 의문이 들었다.
넷플릭스와 같은 곳은 똑똑한 사람이 많은 곳으로 유명하다.
그렇지 못한 사람들은 통제과 관리 속에서 자신의 최대한의 능력을 상승시킬 수 있다.
하지만, 넷플릭스는 이러한 통제과 관리가 존재하지 않는다. 똑똑한 사람들은 스스로 할 수 있다.
어떻게 스스로 할 수 있을까?
이에 관련한 내용으로 애자일 선언문을 살펴보자!!
https://agilemanifesto.org/iso/ko/manifesto.html
이제 세상은 너무 빠르게 변화하고 있다. 계획은 중요하지만, 먼 미래를 예측하는 것은 큰 의미가 있을까 싶다.
1~2주의 짧은 기간의 계획을 정하고 이를 전속력으로 뛰어가고,
이를 분석하고 결과를 보고, 변화에 빠르게 대응해서 다시 나아가는 것이 현재로서는 최선이라고 생각된다.
눈앞에 보이는 것에서 최선을 다하는 것이 얼마나 성장하는지에 대한 제한을 두지 않는게 아닐까라는 생각을 했다.
'통합 개발 지식 > 개발에 필요한 잡다한 지식' 카테고리의 다른 글
VSync 수직동기화란? (0) | 2023.04.08 |
---|---|
프레임워크 vs 라이브러리 vs 모듈 vs 플러그인 (0) | 2023.03.11 |
[용어 정리] 프로그램? 프로세서? 프로세스? (0) | 2023.02.25 |
UTF-8과 UTF-8-sig 의 차이점 (1) | 2023.02.15 |
Repository: 용어정리 (0) | 2021.09.15 |