폭포를 너무 빨리 버리고 버리는 것을 망설 이겠습니다.
실제로 소프트웨어 시스템을 구축하기위한 결함이있는 모델이지만 수명주기의 각 단계에 대한 모범 사례를 가르치는 것은 나쁜 교수 모델이 아닙니다. 프로젝트에 적용하는 프로세스 모델에 관계없이 엔지니어링, 시스템 아키텍처 및 설계, 구현, 테스트, 릴리스 및 유지 관리 (리팩토링 및 향상 포함) 요구 사항을 계속 수행합니다. 차이점은 이러한 단계가 어떻게 구성되고 수행되는지에 따라 다르지만 모든 활동이 여전히 발생합니다.
프로젝트 중간에 Waterfall에서 Scrum으로 전환하는 것이 최선의 아이디어는 아니라고 주장합니다. 스크럼의 성공 비결은 장기 프로젝트입니다. 처음 3 ~ 5 개의 스프린트는 팀이 속도를 결정하고 프로세스를 학습하며 팀 개발을 진행하는 것입니다. 모션을 수행하고 있지만 실제로는 스크럼이 아닙니다. 또한 독점적으로 Scrum 기반 커리큘럼을 만들려고하는 것은 아마도 은총 알이 아니라 Scrum처럼 나쁜 생각 일 것입니다. 단일 방법론보다는 모범 사례를 가르치는 것이 좋습니다. 노동력에서 모든 프로젝트가 Scrum을 사용하지는 않습니다. 실제로 일부 환경에서 Scrum은 프로젝트의 성공에 해를 끼칠 수 있습니다.
학업 환경에서 이미 스크럼 관련 문제를 발견했으며 그 중 일부는 적절하게 다루기가 어렵습니다.
비 호환성 목록에서 비 문제는 추정이 어렵다는 것입니다. 그렇습니다. 그러나 견적을 더 잘 얻는 유일한 방법은 추정값과 실제 값을 추정하고 비교하는 것입니다. 학생들은 다양한 방법 (스토리 포인트, 소스 코드, 시간, 페이지, 인적 시간)을 사용하여 규모, 시간 및 노력을 조기에 예측하여 직원을 졸업하고 입학 한 후에 더 준비 할 수 있도록해야합니다.
문서화의 필요성은 교수의 관점과 학생들의 관점 모두에서 다룰 수있는 것입니다. 린 접근법은 팀이나 고객에게 가치를 더하지 않는 문서가 낭비된다고 말합니다 (시간과 비용 측면에서). 그러나 다양한 목적으로 학생과 교수 (고객 / 고객) 모두의 목표를 달성하기 위해서는 일부 문서가 필요합니다. 전반적으로 프로세스 맞춤 및 정량적 프로젝트 관리 (민첩한 방법에서도 역할을 수행함)를 가르 칠 수있는 기회 인 것 같습니다.
스크럼 회의 및 일정과 관련하여 두 가지 아이디어가 있습니다. 첫 번째는 이것이 스크럼이 학업 환경에서 사용하기에 가장 좋은 과정이 아닐 수 있음을 나타냅니다. 일정, 인력, 가시성 및 개발 팀의 경험과 같은 요소를 포함하여 소프트웨어 프로젝트에 대한 "최상의 프로세스 모델"은 없습니다.
전반적으로 단일 방법론에 비해 모범 사례, 프로세스 조정 및 프로세스 개선을 강조하는 것이 좋습니다. 이를 통해 코스를 수강하는 모든 사람에게 가장 효과적이며 다양한 프로세스 방법론에 노출하고 주어진 조건 세트에 대한 모범 사례를 이해할 수 있습니다.
당신이 대학 교육 과정을 구축하기 위해 노력하고 있기 때문에, 나는 얼마나 높은 수준의 개요주지 소프트웨어 공학 교과 과정을 상기 대학은 내가 참석 적합 함께합니다.
기초 소프트웨어 엔지니어링은 폭포 모델로 프로젝트를 진행했으며 각 단계마다 강의가 해당 단계의 활동을 수행하는 다양한 방법에 해당했습니다. 팀은 같은 속도로 단계를 진행했습니다. 명확하게 정의 된 경계를 갖는 것은 소프트웨어를 개발하기 위해 팀에서 작업 한 경험이 최소 인 그룹의 사람들을위한 교육 모델에 잘 맞습니다. 이 과정에서 장점과 단점에 대한 다양한 민첩한 방법 (Scrum, XP), Rational Unified Process, Spiral Model과 같은 다른 방법론을 참조했습니다.
활동 측면에서 요구 사항 엔지니어링, 아키텍처 및 디자인 (객체 지향 방법을 사용한 세부 설계에 중점을 둔 하나와 시스템 아키텍처에 중점을 둔 하나)을 논의하는 특정 코스가있었습니다. 시스템 클래스 (실시간 및 임베디드 시스템, 엔터프라이즈 시스템, 동시 시스템, 분산 시스템 등) 및 소프트웨어 테스트.
소프트웨어 프로세스 전용 세 코스도 있습니다. 여러 가지 방법론과 관련하여 소프트웨어 프로젝트를 관리하기위한 모범 사례에 중점을 둔 소프트웨어 엔지니어링 프로세스 및 프로젝트 관리. 두 번째 프로세스 과정은 측정, 메트릭 및 프로세스 개선 (CMMI, Six Sigma 및 Lean 강조)을 교육합니다. 마지막으로 Scrum 방법론을 사용하여 수행 된 프로젝트를 사용하여 민첩한 소프트웨어 개발 (Scrum, Extreme Programming, Crystal, DSDM)을 가르치는 프로세스 과정이 있습니다.
주춧돌 프로젝트는 후원 회사를 위해 수행 된 2/4 프로젝트로, 후원자와 교수진의지도로 학생 프로젝트 팀이 전적으로 운영합니다. 프로젝트를 수행하는 방법의 모든 측면은 후원자가 제시 한 모든 제약 내에서 학생들에게 달려 있습니다. 대학에서 요구하는 유일한 마감일은 프로젝트에 중간 (10 주)의 중간 프리젠 테이션, 마지막 프리젠 테이션, 마지막 포스터 프리젠 테이션이었습니다. 그 밖의 모든 것은 스폰서와 팀의 의견에 달려 있습니다.