The Scrum Framework
The rules of Scrum, according to the Scrum Guide from the point of view of the Development Team, along with some common approaches and patterns to working within the framework.
The Development Team’s responsibilities and activities during each type of planning.
Product Backlog Refinement
What the Development Team needs to know in order to assist the Product Owner in creating, clarifying, and estimating items in the Product Backlog.
Application Lifecycle Management (ALM)
What a Scrum Development Team must know about ALM, without regard to any particular tool or technology.
What the Development Team needs to know about the various types of testing, such as when it occurs, who performs it, and what are the objectives of those tests.
The Contemporary software development coding practices used by high-performance Scrum Development Teams.
The healthy habits and behaviors of high-performance Scrum Development Teams including the ability to identify (smell) dysfunctional and wasteful practices.
Understanding and mitigating the common challenges and dysfunctions affecting a Scrum Development Team.
Technical approaches to developing software architecture and design that a Development Team must do in order to deliver business value in the form of working software every Sprint.
Agile Architecture and Design
Study of architecture, design, focusing primarily on the principles that better enable testability and ease refactoring. Lean and Agile architecture and design are about focus and discipline, supported by common-sense arguments
- Principles of architecture in an agile environment
- Design practices on an agile team
- Principles that enable testability and ease refactoring
- Secure coding | Design patterns | Coding standards
- SOLID Principles
An in-depth look at the way agile teams work together. We learn deep collaboration among all stakeholders, who come from different professional backgrounds and organizational cultures and may even have competing priorities
- Working together as one team
- Including the customer in the process
- Pair programming | lean developer
- Scaling Agile
- Agile Application Life Cycle Management (ALM)
An introduction to the practice of refactoring for better code without changing the external behavior.
- When to refactor
- Refactoring maintainability
- Refactoring to patterns
Test Driven Development
Study of test-first and test-driven development technique for building system incrementally without gold-plating behavior.
- Concept of agile testing
- The testing quadrants
- Test drive development (TDD) as a design approach
- Red-green-refactor cycle
- Unit testing principles and practices
- What makes good tests/measuring test effectiveness
- Acceptance & Behavioral test driven development (ATTD & BTDD)
Continuous Integration & Delivery
A software development practices that a developer integrates software frequently, at least daily. An introduction to the key practices of continuous delivery software into a production environment. A paradigm shift of running a software-dependent business.
- Single command build
- Fast automated build & testing
- The importance of a single source repository
- Increasing visibility & automating deployment
- Continuous integration | continuous delivery | DevOps