본문 바로가기

실무 경험담

(7)
[프로젝트 수행 일기 ] 프로세스 작성 및 요구사항 정의서 작성 프로젝트 투입해서 진행되는 중요한 업무와 사건들, 프로젝트가 망하지 않으려면 주의해야할 사항을 일기 형식으로 작성해보려고 합니다. 첫번째 이유는 제가 기억력이 좋지 않기 때문에 나중에 제가 다시 보기 위함이고 두번째 이유는 공공기관 프로젝트는 어떤식으로 진행되는지 궁금하신 분들도 참고하시면 도움이 될거 같기 때문입니다. 7월 1일 공공기관 프로젝트 투입 각종 서류 작성 보안서약서 : 프로젝트 수행간 알게 된 사실을 외부에 알리지 않겠다 출입신청(신원진술서) : 공공기관 사업을 수행함에 있어 신원에 이상이 없다(법적으로 처벌받은 적 없다)는 것을 증명하기 위해 신원진술서와 함께 가족증명서 등을 첨부해서 제출합니다. 신원진술서에 연락처, 주민번호, 주소, 직장, 가족관계, 학력, 경력, 병역(군대) 등을 입..
[경험담] SI 프로젝트 초급 개발자가 효율적으로 공부하는 방법(기본적인 문법 익인 이후) 개발경력 8년차에 접어들고 있습니다. 시간이 정말 빠르네요. 이제 분석설계 위주로 하다보니 1년 중 개발하는 시간이 정말 짧아지고 있습니다. 그동안의 경험을 바탕으로 초급 개발자가 효율적으로 공부하는 방법을 공유하려고 합니다. 각 개발 언어에 대한 공부는 기본! Html5, Javascript(jQuery), Java, 스프링 프레임워크, SQL 등에 대한 기본적인 문법 공부는 기본이겠죠. (공공기관 SI 프로젝트에서 주로 사용하는 프로그래밍 언어 기준) 그런데 단순히 구글링이나 책등을 통해서 개발언어에 대해 공부 하는것만으로는 실제 프로젝트 투입해서 개발할 때는 부족합니다. 정해진 기간 내에 반드시 개발을 완료해야하기 때문이죠. 그래서 평소에 공부하는 방법을 좀 달리할 필요가 있습니다. 단순히 문법을 ..
[경험담] 프로젝트 성공을 위해 중요한 통합테스트 이야기 (단위테스트, 테스트 주도 개발 등 소스코드 레벨 이야기 아님) 테스트 종류 프로젝트 테스트에는 크게 두 가지가 있습니다. 1. 단위테스트 하나의 기능(모듈)을 테스트하거나, 여러 기능이 제공되는 하나의 웹서비스 화면 하나를 테스트하는 걸 의미합니다. 아무래도 프로그래밍 개발코드와 관련된 테스트를 의미하죠. 요즘 TDD(Test-Driven Development, 테스트 주도 개발) 이란 말이 많이 나오고 있는데, 단위 테스트를 활용하여 보다 높은 수준의 코드 품질을 확보하는 개발 방법 중 하나입니다. 아무튼 단위 테스트는 결국 소스코드(기능), 또는 웹서비스 화면 하나를 대상으로 진행합니다. 그리고 그걸 테스트하는 사람은 결국 개발자 또는 주변 개발자 동료(코드 리뷰)인 거죠. 2. 통합 테스트 단위 테스트를 마친 전체 기능, 전체 웹서비스를 테스트하는 겁니다. 화..
[경험담] 프로그래머(개발자)가 하루 1시간 이상 산책을 해야하는 이유 신입때는 단순히 개발(코딩)이 좋았습니다. 뭔가 만들게 있으면 바로 코딩하고 싶어졌죠. 코딩하면서 화면으로 보면서 수정하면 된다고 생각했으니까요. 그래서 머리속에 그려지는 화면을 구현하기 위해 뭔가에 홀린 듯 정신없이 코딩을 했었죠. 점심 먹는 시간 제외하고 거의 10시간 넘게 앉아있는 경우도 있었습니다. 그런데 다음 날 다시 기능을 구현하기 위해 코딩을 하는데 어제 작성한 코딩의 30% 정도를 다시 수정했습니다. 기능은 돌아가는데 뭔가 마음에 들지 않는 겁니다. 변수명이 이상하거나, 메서드 역할이 분리가 잘 안되어 있거나, 중복되는 로직이 있거나...화면 구조가 맘에 안드는 경우도 있었습니다. 이런 식으로 개발 로직을 계속 변경하다 보니 개발 시간이 계속 길어지더군요. 뭔가 아니다 싶었습니다. 그 다음..
[경험담] 공공기관 SI 프로젝트 전체 프로세스(정보전략계획부터 사업철수까지) 소개 오늘은 공공기관 SI 프로젝트 프로세스에 대해서 알아보려고 해요. 아직 프로젝트를 처음부터 끝까지 진행해보지 않으신 분들이 궁금해하실거 같아서 작성해봤어요. 나름 의미가 있는 굵직한 업무 단위로 작성했고, 지나치게 디테일한 내용은 제외했어요. 소프트웨어 개발방법론을 말하자면 정보공학 방법론(폭포수 모델) 입니다. 공공기관 SI 프로젝트 하면서 다른 방법론(예:Agile 등)을 쓰는 곳은 못봤어요. 아무래도 공공기관은 데이터를 중심으로 시스템이 개발되기 때문에 어쩔 수 없는거 같습니다. 제가 경험한 사업규모는 8억 이상 사업들이었으니 참고바랍니다. (보통 몇백억 하는 큰 규모의 차세대 프로젝트는 저도 처음부터 경험한 적은 없어서 잘 모르겠네요. 그런데 회사나 주변사람들에게 들어봤을 때 큰 차이는 없는거 같..
[경험담] 성공적인 프로젝트 수행을 위해 요구사항 정의가 중요한 이유(야근을 하게 되는 이유) 오늘은 프로젝트를 수행하기 전 요구사항 분석과 정의가 얼마나 중요한지 경험담을 통해 알려드리겠습니다. 프로젝트를 고객이 발주할 때는 RFP라는 제안요청서를 작성하게 됩니다. 즉, 고객입장에서 고객이 원하는 요구사항을 정의한 문서인거죠. 이 문서를 업체들이 확인하고 수행할 수 있는지 여부를 판단하고 제안서를 작성해서 입찰을 하고 사업을 수주하고 프로젝트를 진행하게 되는거죠. (프로젝트 전반적인 진행 프로세스는 다음에 알아보도록 하겠습니다. ) 제안요청서에 적힌 한 줄의 요구사항 얼마전에 제안요청서에 이런 요구사항이 적혀있었습니다. 요구사항 : 물품 인수인계 관리 여러분은 어떠신가요? 저 문구를 보고 어떻게 구현할지 머리에 그려지시나요? 저 요구사항에는 얼마의 금액(FP)가 산정되어 있을가요? 저 문구를 구..
[경험담]#태그 단어가 중간에 짤리지 않도록 해주세요. (jQuery width() 활용) 요구사항 고객 요구사항 : 아래 이미지에서 #태그의 글자가 잘리지 않도록 해주세요. (#양극활물질이 '#양극'에서 잘리지 않고 '#양글활물질' 이 붙어서 보이도록 해달라는 의미) 주제와 연관된 #태그들을 DB에서 조회해서 보여주는 로직입니다. 즉, #태그는 보통 4~6개로 가변적입니다. 글자 길이도 당연히 가변적이고요. 고객으로부터 이런 요구사항을 받았을 경우 여러분은 어떻게 하시겠나요? A. 이런 걸 뭐하러 하려고 합니까? 그게 그렇게 중요합니까? B. 이건 글자 길이도 가변적이고, DB에서 조회해서 가져와서 보여주는거라 구현이 안됩니다. C. 가능한지 확인해보고 연락드리겠습니다. (내려가서 구글링 등으로 확인) D. (로직을 머리속으로 빠르게 그려본 후) 대략 0일 정도 걸릴거 같습니다. 확인해보고 ..