1. 7 Key Principles of Lean Software Development
2. Fundamentals
2.1. Agile and Lean Values and Principles
2.1.1. Agile Manifesto
2.1.1.1. Manifesto
2.1.1.2. 12 Principles of Agile Software
2.1.2. Declaration of Interdependency (DOI)
2.1.3. Use physical boards in small teams
2.2. Tool Support
2.2.1. Use electronical tools in large and distributed projects
2.2.1.1. Pivotal Tracker
2.2.1.2. Target Process
2.2.1.3. Jira / Greenhopper
2.2.1.4. Version One
2.2.1.5. Rally
2.2.1.6. etc..
2.2.1.7. Rational Team Concert
2.3. Self-Organisation
3. Agile Specification
3.1. Single Product Owner for Development Team
3.2. Structure Complex Products by Themes
3.3. Determine Business Value on Themes and Epics
3.4. Prioritize Backlog
3.5. Breakdown High Priority User Stories
3.6. Estimate High Priority User Stories
3.7. Specify Aceptance Criteria of User Stories if PO is not full time available
3.8. Specify Non Functional Requirements to minimize technical debt
3.9. New node
4. High-Performance Teams
4.1. Team norming
4.1.1. Build Cross-Functional Teams
4.1.2. Limit Teams to 7 (+-2) Persons
4.1.3. Evolve Team Rules
4.1.4. Set Purpose of the Team
4.2. Stand-up Communication
4.2.1. Faciliate Communication between Team Members
4.2.2. Focus on Impediments and Team Issues
4.2.3. ScrumMaster is responsible for effectivness
4.3. Work environment
4.3.1. Give team members space to learn
4.4. Mentor new Team Members
5. Huhu!!!! Was'n das hier???
6. Strive for Technical Excellence
6.1. Avoid technical debt and maintain non-functional requirements
6.2. Use continuous integration and continuous staging to avoid late integration failures
6.3. Use test driven development to enable regression tests
7. New idea for SCRUM
7.1. yes
8. Continuous Learning / Improvement (Kaizen)
8.1. Control if last action items have been implemented
8.2. Retrospectives
8.2.1. Retrospect in short cycles (4-6 Weeks)
8.2.2. Inspect Development Process and Deliverables
8.2.3. Focus on identifying 3 action items for next development period
8.2.4. Ask team if time is well invested
8.2.4.1. Method: ROTI
8.2.5. Vary methods of investigation
8.3. Process Improvement
8.3.1. Balancing idealism and pragmatism
8.3.2. Use WIP-Limits to identify process weaknesses
8.4. Peer work
8.4.1. Pursue peer design
8.4.2. Pursue peer programming
8.4.3. Pursue peer reviews
9. Integrated Quality
9.1. Maintain Integrity
9.2. Specify and control Non-Functional Requirements
9.2.1. Performance Tests
9.2.2. Code Reviews
9.3. Continuous Refactoring
9.4. Perform Regression-Tests
9.5. Continuous Integration and Staging
9.6. Run code inspections and peer reviews
9.7. Use collective code ownership
10. Waste Aversion
10.1. Avoid or prepare Meetings
10.2. Keep Managers away from development team
10.3. Avoid Task Switching
10.3.1. Assign People to single Projects
10.3.2. Use WIP-Limits