When I do an assessment I like to use something like the Dreyfus Model, with these 5 distinct stages: Novice, Advanced Beginner, Competent, Proficient, Expert. Here's how that plays out in a couple areas:
- Expert - high levels of trust, communication and collaboration with a focus on meeting commitments. Whole is greater than the sum of the parts. Performing stage in Tuckman's model
- Proficient - all members engage in planning and estimation activities. Norming stage in Tuckman
- Competent - one or two members dominate planning, estimating and retrospective activities. Between Storming and Norming.
- Advanced Beginner - team has not worked together through more than one cycle. Toxic patterns may be evident. Forming to Storming
- Novice - Low levels of trust, communication and collaboration. Forming stage.
- Expert - Collective code ownership; code reviews and refactoring produce high quality code; extensive and informed use of unit tests; CI, CT, CD; TDD/ATDD; exploratory testing; regular Product Backlog refinement; focused and deliberate Sprint Planning and Daily Standup; Daily Review of Done Items by PO; lively and highly anticipated Sprint Review and Retrospective
- Proficient - Commitment to excellence in work provided to the customer; new feature delivery exceeds 60% of team effort; technical debt is tracked and managed; value flows through the system; activities and artifacts are key components of value delivery pipeline
- Competent - Velocity is stable; new feature delivery approaches 60% of team effort; technical debt is acknowledged and owned; silos have become semi-permeable; excuses made to forego various activities thereby depriving the team of tools to become proficient
- Advanced Beginner - Productivity is taxed by frequently broken builds; each release is sure to break existing features; degree of cruft is evidence of no shared ownership; product backlog is stale; sprint burndown shows lack of focus and too much WIP
- Novice - Daily standup is the most frequent of all activities but is sporadic and lackluster
The more time I can spend with teams and the more situations in which I can observe them, the better. In addition to being part of team activities, I like to observe the work area, evaluate artifacts like the product backlog and current sprint backlog, the team's history of sprint burndown reports and velocity reports.