Importance to create a sense of team & effective cooperation
Practices (bring accountability to values)
Primary Practices
Sit together
Whole Team
Informative workspace
Charts
Stories or story cards on walls
Categorised in Done, This week, This release, To be estimated, Future, etc
Energized work
Work only as many hours as you can be productive
InSight comes to the prepared, retested and relaxed mind
Incremental improvements in work hours
Manage time better
Pair programming
Stories
Give stories short names and a short prose or graphical description
Write them on index cards
Put them on a frequently passed wall
Weekly cycle
Quarter cycle
Slack
Ten minute build
Continuous Integration
Integrate & test changes after no more than a couple of hours
The longer you wait to integrate, the more it costs and the more unpredictable to cost becomes
Test-first programming
Incremental Design
Invest in the design of system every day
Corollary Practices
Real customer involvement
Incremental deployment
Team continuity
Shrinking teams
Root cause analysis
Shared code
Code and tests
Single code base
Daily deployment
Negotiated Scope contract
Pay per use
Principles (domain specific guidelines)
Techniques to translate values into practices
Traceability
(for development safely-critical systems)
Humanity
Economics
Solving highest priority business need first maximises the project value
Time value of money, i.e. a dollar today is worth more than a dollar tomorrow
S/w development is more valuables when it earns money sooner and spends money later
Value of software as options for the future
Mutual Benefit
Every activity should benefit all concerned
Follow TDD/BDD rather than documentation
Solve more problems than you create
Search for practices that benefit me now, later and the customer as well
Self-Similarity
Improvement
Best is the enemy of good enough
(Mediocrity is preferable to waiting)
Do not wait for prefection in order to begin
Start an activity right away but refine the results over time
Incremental design
Reflection
Don't try to hide mistakes but expose them & learn from them
Diversity
Teams need to bring together a variety of skills,
attitudes & perspectives to see problems and multiple ways of solving them
Two ideas about a design or problem present an opportunity not a problem
Flow
Continuous flow of activities rather than discrete phases
Opportunity
Turn problems into opportunities for learning & improvement, not just survival
Redundancy
Failure
Fail to learn something valuable
Try all options
Failure isn't waste if it impacts knowledge
Quality
Baby steps
Accepted Responsibility
Main Idea
Stay aware
Change
Adapt
Whole Team
Testers
Interaction designers
Architects
Project managers
Product managers
Executives
Technical writers
Users
Programmers
Human resources
Roles
Theory of Constraints
If any system there is on constraint at a time
(occasionally two). To improve overall system
throughput first find the constraint; make sure
it is working full speed; then find ways of either
increasing some of the work onto non-constraints
or eliminating the constraints entirely.