The law of the hammer or the golden hammer states that “If all you
have is a hammer, then you treat everything as if it were a nail”.
This cognitive bias of over-reliance on a familiar tool is the bane of
organizations trying to adopt Agile and Scrum software development
methodology. The goal of this class is to expose students to the most
important tools and techniques that need to be applied in order to
build good software in the iterative and incremental fashion that
Scrum requires. These ideas are central to the entire field of Agile
software development._ _
In this class we will be covering the critical skills in coding,
testing, refactoring, continuous integration, and other related topics
that are needed for successful team software development in the Scrum
style. 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.
This class will not only teach you hands-on skills to perform TDD,
ATDD, BDD, Code Reviews, refactoring, and static code analysis but
also to apply core architectural design principles and patterns with
the Continuous Integration / Continuous Delivery (CI/CD) process.
While this is a 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.
This class is open to all members of a Scrum team including Scrum
Masters and Product Owners with technical background. It is
important to have an experience working in a team environment building
software products for the context of this course (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.
Class Agenda
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.
business
courses
technology
art
education
177
Views
24/08/2018 Last update