본문 바로가기

방법론

애자일 방법론, 방법론 테일러링 애자일 방법론도 어쩌면 개발방법론에 집중하기 보다는 개발에 집중하다 보니 나오게 된 방법론의 혁식적인 변화일 것이다. 애자일이라는 것은 민첩함 정도, 그렇다고 애자일 방법론을 민첩하게 개발하는 것 정도로 생각하고 해석하기에는 애자일이 가지는 의미는 매우 넓다. 대부분의 방법론은 제조에서 나온 것으로 보인다. 물론 PMP와 같은 프로젝트 관리 자격증은 건축에서 나왔다고 한다. 제조나 건축 무엇을 만드는 것에 대해서는 소프트웨어나 하드웨어도 관리가 필요하고 방법론이 필요하다는 측면으로 일맥상통한 면이 있을 것이다. Why? 애자일일까? 두가지 시대적 상황의 만남으로 보인다. 말그래로 민첩한 대응이 필요했다. 소프트웨어가 가지는 가장 큰 장점일 수도 있다. 바로바로 반영이 가능하다는 점. 자동차 생산관련해서 .. 더보기
CBD방법론의 컴포넌트란? Component Based Development 방법론이다. 개발 방법론은 여러가지가 있다. 컴포넌트 기반으로 개발을 한다는 것이다. 컴포넌트는 무엇일까? 프로그램의 기본 단위는 함수라고 할 수 있다. 함수도 어떤 기능을 한다. 모듈이 있다. 모듈도 기능을 하는 것인데, 함수들의 집합이다. 함수들이 어떤 순서로 동작이 되면서 기능을 하는 것이다. 모듈은 꽤 큰 기능을 표현할 때 사용한다. 결제 모듈, 화면 모듈 서버 모듈, 이런식의 표현을 사용쓴다. 그리고 모듈들을 여러개 모이되 주제를 기반으로 모인 것을 컴포넌트라고 한다. 컴포넌트는 꽤 큰 주제인데, 이 아래 여러개의 모듈이 있을 수 있다. 컴포넌트 베이스 개발 방법론의 취지는 주제별로 독립적으로 개발을 하고 서로 다른 컴포넌트 간의 상관 관계를 줄.. 더보기
DevOps는 시너지이다. DevOps는 Development와 Operation의 합성어이다. 개발과 운영 함께 잘해보겠다는 것이다. 왜 이런 개념이 나왔을까? 원래 구축을 하고 운영으로 인수인계를 한다. 구축하는 사람들을 개발팀이라고 부르고, 그 구축된 시스템을 운영해주고 유지보수 해주는 팀을 운영팀이라고 부른다. 소프트웨어 개발은 사람이 하기에 사람에 대한 이해가 필요하다. 각각 소속된 사람은 어떤 심리를 가지고 있을까? 구축팀은 어떻게든 납기 내에 고객이 원하는 시스템을 구축을 해야 한다. 부실공사라고 하더라도 목에 칼이 들어와도 일정 준수가 목표이다. 조금 불편한 정도는 내가 알바가 아니다. 목숨걸로 일정을 준수하려고 한다. 운영팀의 느낌은 어떨까? 어떤 사람들이 무언가 시스템을 만들었는데, 개떡 같은 느낌이다. 운영을 .. 더보기
프로젝트 관리에는 정답이 없다. 프로젝트 관리에 답은 없다고 생각한다. 프로그램가 원하는 목표를 달성하면 된다. 그럼 어떻게 관리할 것인가? 원칙의 문제일 것이다. 사실 사람이 핵심인데, 이 이야기는 다음에 언급하고, 일단 프로젝트 관리의 원칙적인 얘기들을 하려고 한다. - 일정관리, 범위 관리, 원가 관리, 품질 관리, 인력 관리, 의사소통 관리, 위험 관리 이러한 것들을 관리해야 한다. 일정 관리는 기본이다. 언제까지 일을 마쳐서 납품을 해야 한다는 것이다. 일정은 어떻게 알 수 있을까? 해보지 않은 일을 얼마가 걸지 사실 예측이 어려운 것이다. 프로그램을 개발하는 일정에는 함정이 있다. 보통 개발 일정을 잡으라고 하면 코딩 시간으로 착각을 한다. 개발자들은 대개 그렇다. 매니저는 그렇게 생각하면 안된다. 그리고 스튜던트 효과가 있.. 더보기