임베디드 시스템에서 Scrum에 두 가지 문제가 있습니다. 첫째, 특히 초기 단계에서해야 할 일이 많으며, 이는 입증 할 수없는 일입니다. 우리는 개발 보드, OS, 디스플레이, 직렬 통신 등으로 시작했습니다. 6 개의 스프린트를위한 디스플레이가 없었습니다.
처음 4 개의 스프린트는 다음과 같습니다.
- 얻기 RTOS를 하고 실행할 수
- 네트워크 및 직렬 드라이버 작성 작업 작성
- 버튼, 통신 등에 대한 인터럽트 루틴 작성
- 기본 데이터베이스 클래스 및 메소드 작성
- 직렬 디버그 메뉴 작성
이러한 작업의 대부분은 사용자 스토리에 적합하지 않습니다. 실제로 전체 시스템에 대한 유일한 인터페이스는 스프린트 3에 내장 된 직렬 디버그 메뉴 였으므로 스프린트의 끝에는 설명 할 것이 없습니다. 직렬 메뉴조차도 최종 사용자가 아닌 내부 용이었습니다. 그럼에도 불구하고 저는 여전히 Scrum을 통해 이러한 개발 활동을 추적하고 관리하고 싶습니다.
우리는 "개발자로서 ..."와 같은 "사용자 스토리"문구를 작성했습니다. 저는 만족스럽지 않지만 Target Process (www.targetprocess.com)를 사용할 때는 백 로그 항목에 대한 개념이 없습니다. 작업이나 집안일.
둘째, 릴리스 및 테스트를 어떻게 처리합니까? 테스터들에게 하드웨어 디버거가 없기 때문에 우리에게는 정말 고통 스럽습니다. 따라서 우리는 코드의 플래시 버전을 빌드하고 개발 보드에서 테스트하여 테스트해야합니다. 테스터는 기술적으로 개발자만큼 선명하지 않으며 초기 단계 (보드 재설정, 직렬 통신 연결 등)에서 작업을 수행하거나 출력을 이해하는 데 많은 지원을 필요로합니다.
마지막으로 완료의 정의와 관련하여 모든 스토리가 완료 될 때까지 스프린트를 완료 할 수 없습니다. 테스터가 검증 할 때까지 모든 스토리는 완료되지 않습니다. 테스터들에게 "강도적인"개발자 시간을 피하는 방법은 없습니다. 다시 말해, 스프린트에서 마지막 3 개의 사용자 스토리를 테스트하는 데 5 일이 걸리는 경우 스프린트가 끝나기 5 일 전에 코드를 작성하고 단위 테스트를 수행해야합니다. 개발자는 무엇을해야합니까? 그만 일해?
나는 뻔뻔 스럽지만 규칙을 준수하는 것은 진짜 문제입니다. 자, 나는 규칙을 구부릴 수는 있지만 문제는 테스트 할 때까지 수행 된 작업을 표시 할 수 없다면 모든 번 다운 메트릭을 망쳐 놓는 것입니다.
다른 사람들이 이러한 상황을 어떻게 처리했는지 듣고 싶습니다.