Workflow & Iterative Plan - tj0vtj0v/KI-B-4-Software_Engineering GitHub Wiki
The development workflow is structured in two main phases:
Advance Planning (Rough Design) takes place prior to the first sprint and focuses on defining the project's architectural foundation, setting up the development environment, and establishing standards and guidelines. Iterative Execution (Agile Sprints) follows, consisting of structured development cycles that deliver functional software in small, validated increments.
1. Advance Planning (Rough Design)
This preliminary phase lays the groundwork for a maintainable, well-documented system aligned with clean development principles.
Architecture and Requirements are defined, detailing system components and interactions while capturing and prioritizing both functional and non-functional requirements.
Development Environment and Structure are selected and organized, including tools, CI/CD pipelines, repository setup, and coding standards to ensure consistent and testable output.
Project Guidelines are formalized, covering coding conventions and style rules to support code clarity and team alignment.
This phase concludes with a comprehensive architectural outline that guides all future implementation efforts.
2. Iterative Execution (Agile Sprints)
Each development cycle delivers specific backlog items that contribute to the core feature set and ensure testability. The sprint cycle includes:
Requirement Selection: The top-priority user story or feature is selected from the backlog.
Detailed Design: Feature-specific design work is performed, including diagrams and documentation of applicable design patterns.
Definition of Done (DoD): Exit criteria are clearly defined—code review completion, test coverage (≥90%), and fulfillment of acceptance criteria.
Test-Driven Development (TDD): Tests are written upfront based on the DoD, validated to fail initially, then used to verify implementation.
Implementation: Development proceeds in small, testable steps, integrated with automated CI checks.
Documentation and Traceability: Artifacts such as the Traceability Matrix are updated to ensure alignment between requirements and implementation.
Lessons Learned and Improvement: After each sprint, review outcomes and challenges are captured and translated into actionable improvements for subsequent iterations.
Iteration Deliverable: After each iteration, a version of the codebase is frozen as a release to ensure traceability.
3. Iteration Artifacts
At the end of each sprint, the following deliverables are produced:
-
Sprint Report
Begins with core metadata like sprint duration, ID, and linked issue identifiers. The report then includes:
- Selected Requirements
- Detailed Design Notes
- DoD Checklist & Test Objective
- Implementation Summary (e.g., commits, pull requests)
- Updated Traceability Matrix
- Lessons Learned
- Improvement Plan
-
Working Demo
A functioning version of the software is provided, showcasing newly implemented features for feedback and validation.
Workflow Summary
Requirement → Detailed Design → Design Pattern Selection → Definition of Done → Creation of Tests (TDD) → Implementation → Traceability Matrix Update → Lessons Learned → Improvement Concept