Seven Pillars

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 2

simple

functional completeness easy to use/learn


Evolutionary Design overall coherence
Visualization and Presentation Techniques
Wireframe/Paper Prototyping clear problem domain
working directly with whole team
Product
JDUF-just enough design up front vision
explicit goals
managed scope
success metrics
measured progress
split testing
solves real/valuable problems

Minimally Marketable Features


underlying need what customer will pay for
scope negotiation
learning
Near Zero Cost of Failure Fail Fast
Set-based Design explore multiple options
welcome changes
Flow
Story Estimation
Architecture--simplest thing that
Story Splitting Stories
could possibly work
Story Writing KISS - Keep it simple, stupid!
One level of abstraction
Incremental
Delivering In Small Slices Evolutionary Iterative Development
Iterative
Refactoring to Framework
Sprint Backlog Product Backlog Emergent Design
Release Management Avoid Speculative Generality
frequent delivery
MVP / MVC Patterns
Cadence
Design Patterns Separation of Concerns
Limiting Work in Progress Business Value
Simple Design FCoI - Favour Composition
Optimize the whole Basic Throughput Accounting over Inheritance
Cycle Time CRC (class responsibility
Value Stream Mapping collaborator) cards
pull mentality validating
Modeling UML diagrams
Kanban
whiteboard discussions
Pomodoro
Coding by Intention
Getting Things Done Time management
Clean Code
Timeboxes Craftsmanship
Boy Scout Rule
split testing customer satisfaction
Source Code Conventions
Extra features
Don't Repeat Yourself
Heavy specs
Law of Demeter (Tell Don't Ask)
Handoffs Code Smells
Test Coverage
Waiting avoiding waste (muda)
Metrics Lines of Code (sphags)
Bugs
Cyclomatic Complexity
Multi-step analyze-dev-test-verify... Static Code Analysis Tools
Find Bugs Report
Re-creating knowledge
Single Responsibility Principle
Open Closed Principle
SOLID Liskov Substitution Principle
Interface Segregation Principle
Dependency Inversion Principle
Compose Method
Extract Method
Common Refactorings
Refactoring Inline Method
Rename
Shared Leadership testing databases
Technical Excellence Database Refactoring
Self-Organizing abstracting away from dbms
Mentoring Teaching Test Refactoring
Telling Modular Design
Leadership
Selling Unit Testing xUnit
Situational Leadership developer tests
Participating Design-for-Testability
Delegating TDD Cycle - Red, Green,
Servant Leadership Refactor
Test-Driven Development Which test next?
Engaging
TDD with GUIs
Story telling
test-first Tests Used for Design
Interactive
Domain-Driven Design
Ubiquitous Language Behavior-Driven Development
Communication StoryTest-Driven Development
Information Radiators / Visual
Kanban Management Collaboration Testing Acceptance Testing
Non-verbal Exploratory Testing
Concrete proposals customer tests Supporting Programming
high bandwidth Critiquing the Product
Testing Quadrants
Seeking help Technology Facing
business & dev teams work Business Facing
together
Test Doubles
Ping-Pong Pairing Test Automation Patterns
3A Pattern: Arrange, Act, Assert
Distributed Pairing Pair Programming Test Automation test seams
Pairing Patterns
Collective Ownership Test Harness for Legacy Code dependency breaking
Peer Feedback
Conflict management sprouts and strangling
win-win solutions
Performance / Response Time
Expedient Communication Standup Meetings
Load / Capacity
Scrum Rules Non-functional requirements
Robustness / Long Duration
regular evaluations
negotiating work and working relationships Robustness / Fault Tolerance
Five Whys Root cause analysis retrospectiives
continuous improvement
trust
helping teams gel
shared purpose
motivated individuals Teambuilding

autonomy

dissapointment
friction
diagnosis
disconnect
book discussions
Conflict management disagreement
online communities
Consent-based decision making
Reading
productive discussion Knowledge vs Information
Code Kata intentional practice
Facilitation
local user groups
Craftsmanship Manifesto
open source projects
Declaration of Interdependence
conferences
Agile Manifesto
Daily self reflection
growing trust
Self Management Seven Pillars 1 respect
individuals and interactions
Relational vs Hierarchical Thinking retroflection Self Improvement over processes and tools
Common Pitfalls give teams what they need &
trust them to get the job
Self Awareness
done
autonomy Nudging for Improvement Jiggling (Change Agent)
mastery Keeping Motivated Absence of Trust
purpose Fear of Conflict
Patrick Lencioni’s Five
work/ health/ friends balance Dysfunctions of a team Lack of Commitment
social captial (networking) Avoidance of Accountability
Supportive Culture
slack Inattention to Results
Knowing when you're blocked
Ask first, conclude later
help Active Listening
working software commitment
Mentoring
validated learning Definition of Done
Helping
Zero Bugs High Quality
Cross-functional teams
Storyboard
generalizing specialists
Informative Build
Confidence whole team attitude product focus
Burn-up/down charts
responsibility
open decision making
transparency autonomy
Plan Do Check Act continuous improvement
improves productivity
Reliable Cadence
Visibility permanent team attitude enhances commitment
Distributed
shared history
Optimistic vs Pessimistic Locking Using Version Control
slack
branching
accepting failure
CI Tools Space to learn
sustainable pace
automated deployment
risk taking
ten-minute build automated build Continuous Integration (CI)
automated deployment
frequent check-in
Notes
1) Seven Pillars
This is just a demo map that you can delete right away, if you feel like it...

You might also like