2월, 2024의 게시물 표시

[ 프로젝트 BEP ] 최종장 - 엔지니어로서의 마인드셋에 대해 : 우수한 엔지니어는 누구이고, 가져야할 마인드 셋에 대해

이미지
  들어가면서 이제 2025년도 얼마 남지 않은듯 하다.  조금 길어질 수도 있기 때문에  실제로 업로드 하는 것은 새해 이후가 될 가능성도 있으나  올해는 이 글로 마무리 해보려고 한다. 이제 이 최종장을 끝으로 이 프로젝트를 다소 마무리 할 수 있을 것 같다. 물론 전체적으로 글 자체가 부족한 부분이 여려 곳 보이지만,  이는 천천히 개선하기로 하고 일단 마무리를 잘 지어보려고 한다. 이 프로젝트의 목표는 어디까지나 주니어 엔지니어(넓은 범위로서)에게  도움이 될 수 있는 부분을 정리해 놓은 것 이며, 이를 전달하는 것에 주력을 했다. 정확히는 그 사이에 몇 번이나 직장은 바뀌었지만,  내가 다니고 있는 회사에서 작게는 멘터,  크게는 주니어 교육에 활용하기 위한 초안이였다. 들어가기 앞서서 먼저 개발자는 무엇인가에서 부터 시작해서,  수학은 필요한가, 그리고 학위에 대한 이야기를 나누어보았고, 그 다음으로 컴퓨터가 무엇인가에 대해서는,  가장 첫 장인 컴퓨터 개론에서 메모리 손실과 함께 설명하였다. 다음으로는 개발 방법론과 시스템 설계,  그리고 프로그래밍 언어에 대한 이야기로 간단하고 이론적인 이야기를 하였다. 눈치가 빠른 사람은 알 수 있듯이,  현실에서 가질 수 있는 몇 가지 의문으로 시작해서  컴퓨터라는 하드웨어 부터 시작해서,  프로젝트(개발 방법론), 설계, 프로그래밍 언어 순으로  일부러 점점 컴퓨터 세계로 들어가도록 구성을 해 놓았다. 여기서 한 걸음 더 나아가자면, 알고리즘이 들어갈 수는 있겠으나  어디까지나 가볍게 전달하는대에 목적이 있기도 하고,  개인적으로는 당장은 크게 중요하지 않은 부분이 라고 생각 했기 때문이다. 먼저 이 부분에 대해서 좀 더 자세히 이야기해보도록 하자. 시작 부터 모든 지식을 쌓을 수는 없다 이는 개발 영역에서만 해당되는 이야기는 아니지만,  모든 것에는...

[ Essay - Developer ] 애자일 개발 방법론과 뉴턴의 제 1 법칙

이미지
애자일 개발 방법론으로 프로젝트를 진행해보면 어느 순간 이러한 느낌을 받게 된다. (만약 받지 못 한다면 꽤나 위험한 상황일지도 모른다)  내가 참가하고 있는 프로젝트는 애자일스럽게 진행되고 있는가? 라는 의문이다. 여기서 더 나아간다면  나의 팀은 정말로 애자일스럽게 일을 하고 있는가? 라는 의문이 들 것이고 더 나아가서 나는 정말로  애자일스럽게 일을 하고 있는가에 대해서 의문이 들 수 있을 것 이다. 애자일 방법론을 목적에 맞게 그리고 방향에 맞게 올바르게 사용하지 않거나 진행하지 않는다면  애자일 방법론으로 프로젝트를 진행하는 의미가 없어진다. 왜냐하면 프로젝트의 목표에 따라서  애자일을 방법론이 올바른 곳으로  향할 수 있느냐 없느냐가 좌우되기 때문이다. 따라서 목표가 명확하지 않다면 결과 또한 그렇게 좋지 않을지도 모른다. 즉, 전체적인 형태만  그럴듯 하게 애자일 형식으로 꾸미지만 내부적인 운용은 결국 워터폴과 다를 바 없다면 워터폴로 돌아가는게 프로젝트를 위해서 더욱 좋다는 것이다. 예컨데,  단순히 애자일로 개발했다는 실적만을 원한다면 아마 최악의 상황으로 발전할 것 이다. 오늘은 왜 애자일 개발론으로 좋은 퍼포먼스를 내기 힘든지 그리고 해결 방안에 대해 이야기를 해보자. 애자일 개발 방법론과 뉴턴의 제 1법칙 우선 애자일 개발 방법론에 대한 유용성에 대해  더 이상 논의할 필요는 없을 것 이다. 많은 기업이 앞다투어  이 방법론을 도입하려고 시도하는 것은  이 방법론의 효용성이 이미 입증되었기 때문이기에  유용성에 대한 논의는 더 이상 의미가 없다. 이러한 지루한 논의 보다는 어떤 상황에서 어떤 프로젝트에서  더 유용한지에 대해 논의를 하는 것이  더 생산적이고 흥미롭기 때문에 더 이상 언급할 필요는 없을 것 이다. 어쨋든 적어도 애자일 개발 방법론을 도입하는 과정속에서는  애자일 개발 방법론이 뉴턴의 제 1법칙...