Agile Software Development with Scrum
“Don’t mistake knowing for understanding and understanding for wisdom.”
The essence of this insightful Tibetan proverb is that knowledge is about facts, understanding is about principles/reasons behind those facts and wisdom is about the ability to apply and take action based on the understanding. Wisdom is the realm of a practitioner. This is a practitioner driven program specifically tailored to get students up and running working in agile software development environments.
This three-day course is fully approved by the Scrum Alliance as the main component of the Certified Scrum Developer® certification. This is a practitioner driven program specifically tailored to get students up and running working in agile software development environments.
While this is great class for a Development team member to excel in an agile working environment, this uniquely designed and delivered class provides a great value to your roles as Scrum Master and Product Owner as well. As a Scrum Master, this class will build your strength as a connector to ask right questions, provide tailored feedback, and help scrum team members make a connection to a colleague who can help them. As a Product Owner, this class will provide you insights to better at managing expectations and priorities of items on backlog.
We will take a first principles approach understanding the Agile software principles and its application with the Scrum process framework. You will get both the conceptual and hands-on understanding of how to be an effective software developer working in Scrum teams. While the class is not intended to be prescriptive, you will learn some of the core extreme programming (XP) skills to succeed with Scrum including:
- Unit Testing
- Test Driven Development (TDD)
- Pair Programming
- Incremental and Iterative development
- Acceptance Test Driven Development (ATDD)
- Behavior Driven Development (BDD)
- Automated code reviews
- Code coverage analysis
- Static code analysis
- Software Architecture Principles
- Software Design Patterns
- Refactoring to Design Patterns
- Automated Testing Frameworks and Patterns
- Continuous Integration / Continuous Delivery (CI/CD) process.
Experience working in a team environment building software products (Instructor will be using Java to illustrate concepts but this is a programming language and scrum role agnostic class). If you can install Eclipse and build an application then you can take this class.
We will be providing you with the course specific guides and labs with the class.
- Custom course guide to serve a reference material
- Custom labs to support the course guide
|Session 1||Origins||History, scientific management, plan-driven model, Waterfall model for software development.|
|Session 2||Agile Manifesto||Identifying user stories, Writing Junit test cases, Incremental development with Cucumber, prioritizing software development.|
|Session 3||Scrum framework||Workflow, process theory, values, team, sprint events, and artifacts such as product and sprint backlogs.|
|Session 4||Building blocks||Iterative development with TDD, Pair programming, Extreme programming, Refactoring, Test automation with Selenium, working with static code analyzer with PMD and FindBugs, CI/CD pipeline and automation for continuous deployment.|
|Session 5||Architectural considerations||Computer systems, programming considerations for modular, OOP, web services and SOA, Data flow considerations for SQL and NoSQL systems, OS-level considerations|
|Session 6||Building reliable systems||Design Patterns, testing patterns, refactoring patterns and continuous improvement of software systems.|
No Reviews found for this course.