I. 프로젝트 성과 향상을 위한 조직, PMO의 개요 가. PMO(Project Management Office)의 정의 성공적인 프로젝트 수행을 위해 프로젝트의 자원, 인력, 일정 등을 체계적으로 관리하기 위해 조직된 프로젝트 전담 관리 조직 나. PMO의 특징 특징 내용 체계적인 관리 프로젝트 대형화, 복잡도 증가 시 체계적인 관리로 인한 원활한 프로젝트 수행이 가능 위험최소화 및 품질향상 프로젝트 자원의 효율적인
I. TPS(Toyota Production System)를 재정립한 경영방법 LEAN 개요 가. LEAN 개발방법론의 정의 TPS(Toyota Production System)를 벤치마킹하여 재정립한 경영방법론인 LEAN 시스템의 품질 기법을 소프트웨어 개발에 적용한 개발방법론 나. LEAN 개발방법론의 특징 LEAN은 낭비를 발견하고 제거함으로 고객에 가치를 빠르게 제공 생산성 향상을 위해 사용하는 LEAN 원칙을 SW 개발에 적용 SW 개발의 가장 큰 낭비는 결함이고 결함 제거
I. 적시 개발을 지원하는 간판, KANBAN의 개요 가. KANBAN의 정의 적시 개발(Just-in-time Development)을 지원하는 방법론으로 매우 적은 규칙을 가지고 있는 Agile 방법론 나. KANBAN의 특징 워크플로우 가시화: 일을 작게 분할하여 카드에 기록하여 보드에 게시 WIP 제한: Work-in-process 제한하여 동시에 진행될 수 있는 항목 제한 플로우의 측정: 한 항목을 완료 소요 평균 시간 산정하여 최적화
I. 비동기 데이터 처리, 반응형 프로그래밍 가. 반응형 프로그래밍 (Reactive Programming)의 개념 이벤트나 변화에 반응하기위해 비동기적 데이터 처리 및 흐름 기반 프로그래밍 패러다임 나. 반응형 프로그래밍 특징 Responsive (응답성) – 사용자 요청에 응답 Resilient (탄력성) – 장애허용성, 고장감지/수정 Elastic (유연성) – 작업량변화에도 응답성유지 Message Driven (메시지중심) – 비동기 메시지 전달 II. 반응형 프로그래밍의 실행 방식 및 구성 요소 가. 반응형 프로그래밍의 실행 방식 – 동기식 비효율적 처리로 인한 병목현상 해결, 생산성 증대 나. 반응형 프로그래밍의 구성요소
I. SW 개발방법론의 Agility 강조, XP의 개요 가. XP (eXtreme Programming)의 정의 짧은 주기의 반복(Iteration)을 통해 요구 변화에 신속하게 대응하여 위험을 줄이고 고객 관점의 고품질 SW를 빠르게 전달하는 Agile 방법론의 기법 나. XP의 특징 개발자, 관리자, 고객 간 조화로 개발 생산성을 높이고자 하는 접근법 고객 요구사항 변경에 적극적, 긍정적으로 대처 다. XP의 등장배경 – RUP의 산출물 부담과 신속한 개발의 어려움 – Time to Market 실현과 Products의 적시 배포 – 프로세스 중심의 전통적 방법론으로는 변화의
I. 팀 생산성 극대화 개발 방법론, SCRUM의 개요 가. SCRUM의 개념 작은 개발팀, 짧은 개발 주기, 팀 집중력과 생산성 유지로 점진적, 반복적으로 SW를 개발하는 Agile 방법론의 한 유형 나. SCRUM의 특징 구분 내용 협업 중심 항상 팀 단위로 생각하며, 협업을 통해 고품질의 제품을 효율적으로 생산하기 위한 환경 제공 사회공학기법 프로젝트 이해관계자들의 적극적인 협력과 참여를 촉진하여 관련자의 성취감 충족을 목적으로 함 Sprint 수행 통상 30일 기간의 Time box를 가지며, 반복 수행함 Sprint 주기마다 적용할 기능이나 개선
I. 단순 설계의 시작, Agile 프로세스 개요 가. Agile 프로세스 정의 절차와 산출물 보다는 소프트웨어 자체에 초점을 맞춘 방법론으로, 사람이 중심이 되어 변화에 유연하고 신속하게 적응하면서 효율적으로 시스템을 개발할 수 있는 방법론 나. Agile 프로세스 특징 특징 내용 사람 중심 개발팀의 기술이 인식되고 활용됨 구성원들은 규정된 프로세스 없이 자체 작업 방식 개발 고객 참여 고객이 프로세스 전체에 긴밀하게 참여 요구사항 개발, 요구사항 우선순위 결정 변경 수용
I. 프로젝트 최적화 방법론, 테일러링 가. 테일러링의 개념 표준 프레임워크를 기반으로 실제 업무 분야 별 여건에 맞게 수정, 보완하는 작업 나. 테일러링의 필요성 구분 관점 필요성 내부적 요건 개발 환경 – 시스템 개발 유형 및 환경 상이 요구 사항 – 우선적으로 요구되는 사항이 상이 프로젝트 규모 – 사업비, 참여 인력, 기간, 규모 상이 보유기술 – 프로세스, 방법론, 산출물 등 상이 외부적 요건 IT Compliance – 프로젝트 별 법적 제약사항 상이 품질
I. 프로젝트의 성공 위한 Fundamental, 요구공학의 필요성 가. 요구공학의 개념 고객 요구를 체계적으로 수집, 분석, 명세화, 검증하고 추적, 변경하는 요구사항 도출 및 관리 기법 나. 요구공학의 필요성 구분 필요성 세부 내용 비즈니스 관점 연속성 – 비즈니스 연속성 파괴요소 산재 확장성 – 기업의 환경변화 신속한 대응 재무적 관점 비용절감 – 사전 점검 대비 사후 요구 비용 과다 효율성 – 신속하고 정확한 요구반영, 비용최소 인적 관점 이해도 – 업무 이해도에 대한 상호 의사소통 명세화 – 고객, 개발자 간 S/W 생성
I. 인터페이스로만 객체 접근, 정보 은닉 가. 정보 은닉(Information Hiding)의 개념 코드 내부 데이터와 메서드를 숨기고 공개 인터페이스를 통해서만 접근이 가능하도록 하는 코드 보안 기술 나. 정보 은닉의 목적 – 객체에 포함된 정보의 손상과 오용 방지 – 데이터 변경 시에도 다른 객체에 영향 없이 독립성 유지 – 객체를 부품화하여 이식성과 호환성 확보 II. 정보 은닉을 위한 접근제한자 및 코드 가. 정보 은닉을 위한 접근제한자 접근제한자 접근 권한 특징 public 모든 클래스, 패키지 모든 권한 부여