LANGUAGE TO DESCRIBE THE PROCESS: We always need a common language to describe the process. Find more about various attempts in . There are better options then reductionist description of the software process as a set “independent” (unrelated) practices and too generic state transitions of process fundamental aspects. Here are some basic ideas:
- The process fundamental aspects are inter-related: e.g. we cannot decide about requirements management approach without thinking also about the solution, quality or the life-cycle.
- The process state evolution is not simplistic and can be always seen as an Information Rolling Wave: we always aquire, craft and validate the information incrementally, no matter our beliefs.
- are important for the Lean aspect of the process because
PROCESS “ALPHABET” - We will need this information as basic elements that could be used to model the process:
- which life-cycles are used, definitions and selection criteria
- Core Agile Practices
- coverage and guidance to aquire core domain-level skills
- Adapt to context
- guidance about selecting practices in context and selection criteria
- Information Rolling Wave
- life-cycle, practices, context, value stream - all must fit together in our information rolling wave. Looking ahead and feedback dimensions should be both represented for all disciplines and all timing levels by appropriate practices
- Continuous Improvement
- should be an explicit goal with explicit guidance
Copyright © 2018 Valentin Tudor Mocanu
It is expected that any Agile/Lean method to address these aspects and also any process customization in a team, product, and business context.
PRACTICES SELECTION CRITERIA - Main criteria to build a guidance about the selection of practices:
- industry proven experience
- context (product, business milestones, team etc.)
- life-cycle used in the context (timing aspect)
INTER-DEPENDENCY - Life-cycle and practices are interdependent:
- The selected life-cycle become a context for practices selection Example: you cannot select as main options manual testing and comprehensive non-executable specification/documentation if your life-cycle selection is Continuous Delivery. In this case, specific timing must be reflected in the practices that realized that life-cycle. The feedback cycles for all kind of information must be much shorter.
- The team set of known practices it is a context for life-cycle selection. Example: you cannot select/perform Continuous Delivery approach if you do not have skills for the practices that make quick validation and testing as TDD, to fit in the short CD life-cycle.