세미나 주제
금일 갑자기 세미나가 잡히게 되어, 듣고왔다.
팀 과장님께서 신입들을 대상으로 교육을 진행하셨는데, 나를 포함한 신입분들이 개발할때 어떤 부분을 놓치고 있다고 생각이 들어 진행하신것 같다.
세미나 주제는 개발회사 프로세스 였다.
개발을 잘한다?
개발을 잘한다는 의미는 여러가지 의미를 내포하고 있다고 한다.
단순히 개발을 잘한다는 의미를 넘어, 자신이 개발할 기능에 대한 일정관리와 설계를 잘한다는 것이라고 한다.
교육을 진행해주신 과장님께선 설계의 중요성을 매우 강조하셨다.
프로젝트 진행 시…
프로젝트를 진행하게되면 PM PL에게 지시를 받으며 개발을 진행하게 될 텐데, 이런 상황에서의 팁을 주셨다.
- PM의 요청의 의문을 가져라
어떻게 보면 개발하는 기능에 대한 전문가는 개발자 본인이다. PM은 개발자보다 기능 숙련도가 낮기 때문에, 사용자 입장에서 개발자가 생각하고 의문점을 가져서 개발을 진행한다면 수정사항이 많이 나오지 않을 것이라고 한다. - 아리송 한 것은 물어봐라
처음 기능 개발에 들어가게 되면 당연히 모르는 부분이나, 커뮤니케이션이 잘 안되서 아리송한게 있을텐데, 이런부분을 정확하게 캐치하고 물어보고 확실히 이해해야지, 개발시에 수월하게 진행될수 있다고한다. - 초기설계 시에 확실히 의견공유를 할것
1주일안에 개발할 할 능력이 되는 개발자에게 5일 정도에 수정을 요청하면 한달이 걸린다고 한다. 그만큼 개발이 어느정도 진행되었을 때, 수정을 요청하면 프로세스가 많이 꼬이게 되어 개발이 늦춰지게 된다는 것이다. 따라서 초기설계(산출물 제작) 시에 확실히 의견공유를 하여 확답을 받고 진행해야한다. - 테스트 진행
개발 방법에는 여러가지 방법이 있지만, TDD가 존재하는 만큼 테스트의 중요성은 매우 크다.
따라서 이 테스트 방법을 눈에 보이는 방법 뿐이아닌 다양한 방법으로 진행해야한다.
작성해야하는 산출물
화면정의서
- 새로운 기능을 만들게 되면 화면정의서를 제작한다.
- 화면정의서를 그리다보면 이 기능을 어떻게 구현해야할지 감이 오게된다.
- 화면정의서를 그리지 않고 개발을 하다보면, 수정사항이 매우 많아지게 된다.
- 화면정의서를 그려 PM이나 고객에게 확답을 받고 진행하는 것이 훨씬 시간이 덜 걸릴수 있다.
- 보통 양식은 다음과 같이 좌측에는 화면 그리고 우측에는 화면 설명으로 작성한다.
- 버튼이나 화면에 숫자를 붙이고 우측에서 설명을 진행한다.
- 화면 정의서에 너무 많은 시간을 쓸 필요은 없다.(20~30분 정도….)
일정관리
- 개발자에게 매우 중요하다.
- 수습이나, 신입때는 배우는 단계이기 때문에, 회사에서도 기대치가 낮지만 1년차 부터는 어느정도 개발을 했기 때문에, 하루에 진행할수 있는 속도 기준이 생긴다.
- 현실적인 일정을 정해야한다.
- PM이나 PL이 기능 개발을 지시하면 해당 기능 개발에 얼마나 시간이 소요되는지와 그에 대한 이유를 말할 줄 알아야함
테이블 정의서
- 그룹웨어는 데이터가 매우 중요하다.
- 따라서 해당하는 값에 대한 의미를 파악하고 있는 것이 중요하다.
- 이 테이블에는 들어가 있는데 저 테이블에는 안들어가 있는 값들이 있음.. 그냥 넘어가지말고 왜 안들어가있는지 파고들것.. 항상 왜?라는 질문을 달고 살야아한다.