내 머리속에서 애자일(Agile)하면 제일 먼저 떠오르는 것은 바로 스크럼(Scrum)이다. 요즘에는 관심이 좀 식었지만 한 때 폭발적인 관심으로 애자일 = 스크럼이 될 정도였었다. 대기업에서는 특히 스크럼을 실행하는 곳이 많았는데 사이트를 가면 스크럼 기반으로 만들어진 팀부터 프로젝트 관리까지 스크럼 투성이었다. 몇년전 당시 다니던 회사의 본부장님은 SW 품질쪽으로는 유명하신 분이라서, 애자일과 스크럼, 칸반에 관련된 문서를 잔뜩 뽑아서 나눠졌던 기억도 있다. 그만큼 SW 품질이나 관리를 하는 사람들에게는 도저히 못들어본 말일 것이다. 우선 스크럼의 탄생은 일본 히토츠바시 대학의 노나카 이쿠지로와 타케우지 히로타카가 1986년 1~2월 Harvard Business Review에 올린 "The New ..
단계적 프로세스 모형을 구체적으로 구현한 클린룸 모델은 IBM사에서 만든 모델이다. 시스템의 핵심이 되는 부분을 최초의 프로토타입 모형으로 개발을 하고, 계속 증대해 나가는 나선형 모델 혹은 진화형 모델과 유사한 모델로 볼 수 있다. 클린룸은 오염 제어가 행해지고 있는 한정된 공간으로 공기 속에 포함되어 있는 먼지 뿐 아니라 온도, 습도, 실내 공기압, 가스성분, 정전기, 미진동, 전자파 등 환경조건이 제어되는 실을 의미 하는데 이와같이 철저한 혹은 완전 무결한 공정을 통해서 SW를 개발한다는 의미라고 받아 들이면 될 것이다. cleanroom의 모습1. 완전 무결한 소프트웨어 개발지향, 클린룸 모델 가. 클린룸 모델(Clean Room) 모델의 개념- 수학적(정형명세/검증), 통계적(테스트) 이론에 기..
고속 응용 프로그램 개발(Rapid Application Developement, RAD) 또는 고속 응용 프로그램 개발 도구(Rapid Application Development Tool)는 소프트웨어 개발 방식의 하나로, 빠르고 쉽게 응용 프로그램을 만들 수 있는 시각적 도구 혹은 개발 모형이다. 한마디로 툴을 사용해서, 디자인을 하고, Code Generator를 활용하여 프로그램을 빠르게 개발하는 기법으로 쉽게 생각하면 된다. 대표적인 툴로는 파워빌더, Visual C#, Miplatform 같은 플랫폼이 있다. 만능인 것처럼 보이고, 개발자가 아닌 PM이나 기획자 입장에서 매우 매력적으로 보일지 모르겠지만, 전세계가 아직 자바의 시대에서 벗어나지 못한 이유는 언어의 한계도 있지만 툴로서의 기능의..
반복적 모형은 솔루션 업체들이 가장 선호하는 방법일 것이다. 바로 한번에 모든 것을 만들어서 오픈 하는 것이 아닌 핵심을 먼저 만들고, 나머지를 점진적으로 업데이트를 하여 최종 시스템을 완성하는 모델이다 프로토타입과 나선형 모델과 비슷한 느낌을 주지만, 프로토타입은 시제품을 만들어서 가능성 여부를 먼저 점검한 후 개발을 시작하는 것이고, 나선형 모델은 상당히 비슷하지만, Risk가 중심이 된 것이 나선형 모델이다. 반복적 모델은 2가지 방식이 있는데 증분형(Incremental) 모델과 진화형(Evolution) 모델이 존재한다. 증분형은 동시에 여러가지 업무를 진행하여, 나중에 합치는 작업이 들어간다면 진화형은 작업이 순차적으로 진행이 되면서, 프로그램이 계속 수정 작업을 거치며 진화하는 것이다. 1...
시큐어 코딩이란, 말그대로 보안 코딩이다. 즉, 코딩을 할 때 보안에 대해서 문제가 되는 부분을 제거하거나 교체하는 방식으로 가장 간단히 처리하면서 효과적인 모습을 보여준다. 상당히 많은 개발자들이 스스로 나는 코딩을 잘해라고 말하지만, 시큐어 코딩을 하는 사람을 많이 보지 못했다. 머리속에 있는 것을 구현하는 것은 초중급이상만 되면 누구나 할 수 있는 것이다(사람마다 시간의 편차가 존재할 수 있지만...) 하지만, 시큐어 코딩(Secure Coding)이나 클린 코딩(Clean Coding)같은 다음 Level의 코딩 혹은 철학 없이는 고급 개발자로 절대 갈수가 없다. 그럼 시큐어 코딩이 왜 중요한가??? 첫 문장에 적었지만, 가장 간단히 처리하면서 효과적인 모습이기 때문인데 정의를 읽어보면 좀 더 쉽..
나선형 모델은, 위험관리를 강조 모형으로서, 폭포수 모델, 프로토타입 모델과 함께 고전적인 소프트웨어 개발 방법론 중 하나이다. 나선(Spiral)이 반복되는 걸로 보인다고 하여 붙여진 이름이며, Barry W. Boehm(배리 보앰)이라는 사람이 제안하였다. barry w. boehm 나선형 모델은 4가지 단계로 순환하는데 계획 및 정의위험분석개발고객의 평가(Feedback)방식으로 순환한다. 매번 반복하기 때문에 Risk 요인을 찾아내기 쉬우며, 대규모의 위험 요소가 내재되어 있는 프로젝트에 적용하면 적절한 방법론이다. 1. 진화적 프로토타이핑, 나선형 모델의 개요가. 나선형 모델(Spiral Model)의 정의- 개발 주요기능을 사전에 위험분석을 통하여 반복적으로 수행함으로써, 최종 소프트웨어 개발..
프로토타입 모델이란, 어떠한 프로젝트를 수행하기 전에 시제품을 만들어서 위험을 줄이고, 고객과의 의사소통을 원활하게 하기 위해서 만들어진 모델이다. 초기 프로토타입을 선 개발 후 프로젝트를 수행해야 하기 때문에 개발쪽에서 해당 프로젝트가 리스크가 없다라고 판단하고 있다면, 비용의 낭비를 경험할 수 있다. https://www.flickr.com/photos/daniel_ericka/5398643353 예를 들어, 우리쪽에서는 별 문제가 아니고 시제품을 만드는 비용이 꽤 들어간다고 해야 한다면 프로젝트 비용이 몇백에서 몇천만원 이상으로 올라갈 수도 있는 것이기 때문에 사실상 Case by Case 일 가능성이 크다. 대신, 시제품이 만들어진다면 추후 개발자는 시제품을 기준으로 편하게 개발을 할 수 있고, ..
1. 고전적 라이프사이클 SW 패러다임, 폭포수 모델 가. 폭포수모델(Waterfall Model)의 개념 - 분석, 설계, 개발, 유지보수 등의 SW Lifecyle이 정해진 단계로 진행되는 선형 순차적 모델 나. 폭포수모델의 특징 Phase Testing : 단계별 검증, 다음 단계 진행산출물 중심 : 표준화 되어 있는 양식과 문서중심의 프로세스 및 관리Top-Down 방식 : 전단계의 작업이 완료되어야 다음 진행이 가능한 하향식 2. 폭포수 모형의 프로세스 및 주요활동 가. 폭포수 모형의 프로세스 - 폭포수 모델은 해당 프로세스들을 순차적으로 수행 나. 폭포수 모델의 프로세스 주요활동 3. 폭포수 모델의 장단점 및 적용 프로젝트 가. 폭포수 모델의 장단점 1) 장점 : 복잡성 낮음, 관리용이, 사례..
1. 소프트웨어 공학의 패러다임, SDLC의 개요 가. SDLC(Software Development Life Cycle)의 개념 타당성 검토부터 시작하여, 개발, 폐기등 전 과정을 생명주기로 간주하고, 정의하여 단계별 공정을 체계화한 모델 나. SDLC의 등장배경SW의 Crisis에 따라 획기적인 대처 방법이 필요생산성 향상 및 고품질을 위한, 개발 모델 필요 소프트웨어(Software)와 위기(Crisis) 소프트웨어공학(Software Engineering)소프트웨어 위기 참조 2. SDLC의 개념도 및 프로세스 가. SDLC의 개념도 타당성 조사, 요구사항 분석, 설계, 개발, 테스트, 유지보수가 반복이 된 후, 폐기 된다 나. SDLC의 프로세스 3. SDLC의 선택방법 및 발전방향 SDLC는 ..