Continuous Process
● Continuous Integration (frequently and regularly committing and integrating code)
● Design Improvement (re-factoring as a norm)
● Small Releases (frequently and regularly releasing
Shared Understanding
● Simple Design (practicing code simplicity and design pattern usage)
● System Metaphor (naming convention should describe functionality)
● Collective Code Ownership (having each and everyone responsible for the code)
● Coding Standards (agreeing on a set of coding standards)
Scrum
A very popular Agile framework, Scrum is a light, flexible framework used for product development done in iterations and increments. It is based on the empirical principles of transparency, inspection, and adaptation. Scrum prescribes teams on how to manage and control the development of the project through repeated activities. Unlike other frameworks, there are only three roles in Scrum:
● Product Owner – Owns and manages the product backlog and ensures everyone is on the same page in understanding the product vision and value.
● Team – Consists of five to eight individuals – usually developers, testers, analysts, and architects – with the necessary skills set to build the product.
● Scrum Master – Coaches the product owner, the team, and other stakeholders in how to carry out the project using the Scrum principles.
One of its practices is time-boxing, where the team agrees on time limits for each of their activities, and do them until the “timebox” expires. Sprints last for one to four weeks. Within a Sprint, a 15-minute daily standup is held every day, while at the end of each Sprint, the team holds a review, retrospective, and planning meetings. Known as “Sprint ceremonies”, these activities are needed in order to manage the user stories as well as the Sprint and Product backlogs of the project. It is important to note that Scrum does not allow changes in the Sprint backlog once the timebox has started.
Recommended Further Reading
The following materials may assist you in order to get the most out of this course:
Course Contents
Section 1: Agile Project Management
Section 2: Using the Agile Manifesto to Deliver Change
Section 3: The 12 Agile Principles
Section 4: The Agile Fundamentals
Section 5: The Declaration of Interdependence
Section 6: Agile Development Frameworks
Section 7: Introduction to Scrum
Section 8: Scrum Projects
Section 9: Scrum Project Roles
Section 10: Meet the Scrum Team
Section 11: Building the Scrum Team
Section 12: Scrum in Projects, Programs & Portfolios
Section 13: How to Manage an Agile Project
Section 14: Leadership Styles
Section 15: The Agile Project Life-cycle
Section 16: Business Justification with Agile
Section 17: Calculating the Benefits With Agile
Section 18: Quality in Agile
Section 19: Acceptance Criteria and the Prioritised Product Backlog
Section 20: Quality Management in Scrum
Section 21: Change in Scrum
Section 22: Integrating Change in Scrum
Section 23: Managing Change in Scrum
Section 24: Risk in Scrum
Section 25: Risk Assessment Techniques
Section 26: Initiating an Agile Project
Section 27: Forming the Scrum Team
Section 28: Epics and Personas
Section 29: Creating the Prioritised Product Backlog
Section 30: Conduct Release Planning
Section 31: The Project Business Case
Section 32: Planning in Scrum
Section 33: Scrum Boards
Section 34: Sprint Planning
Section 35: User Stories
Section 36: User Stories and Tasks
Section 37: The Sprint Backlog
Section 38: Implementation of Scrum
Section 39: The Daily Scrum
Section 40: The Product Backlog
Section 41: Scrum Charts
Section 42: Review and Retrospective
Section 43: Scrum of Scrums
Section 44: Validating a Sprint
Section 45: Retrospective Sprint
Section 46: Releasing the Product
Section 47: Project Retrospective
Section 48: The Communication Plan
Section 49: Formal Business Sign-off
Section 50: Scaling Scrum
Section 51: Stakeholders
Section 52: Programs and Portfolios