0% found this document useful (0 votes)
34 views47 pages

Agile Scrum and Git Training Overview

Uploaded by

Priyanka Gupta
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
34 views47 pages

Agile Scrum and Git Training Overview

Uploaded by

Priyanka Gupta
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 47

Agile, Scrum, and Version Control System

You Already Know

Course(s):

1. Agile Scrum Foundation

1. Git Training Course


▪ Describe Agile manifesto
- Principles of Agile

▪ Distinguish between the Waterfall and Agile approaches


- Focus on consumers
- Customer involvement
- Multidisciplinary teams

▪ Describe Scrum and Scrum roles


- Scrum teams
- Sprints
- Events of a sprint
▪ Explain the events of the Sprint
- Stand-up meeting
- Sprint backlog
- Time-boxing

▪ Explain the fundamentals of Git


- Basic setup and configurations

▪ Explain the creation of a Git repository


- Git add
- Git commit
- Git push
A Day in the Life of a Test Engineer

Joe is hired as a Test Engineer in Abq Inc. They have decided to


restructure their website similar to Netflix’s so that the requests from the
clients to their servers can be minimized. Experts suggested that Angular
framework would be the best-fit to build such sites. Abq Inc. adopted
Scrum methodology to develop their product and release it
incrementally.

Joe has been assigned a few tasks during the sprint planning. Pushing
the Angular application to the GitHub repository is one of the tasks
assigned to him. At the daily stand-up meeting, he is asked to complete
this task with certain conditions so that the storage can be used
effectively.

In this lesson, we will learn how to solve this real-world scenario to help
Joe complete his task effectively and quickly.
Learning Objectives

By the end of this lesson, you will be able to:

Enumerate the scrum practices

Explain the workflow of agile and scrum practices

Structure your GitHub repositories

Interact with your GitHub via Git


Scrum Practices
Product Backlog

Product backlog is an ordered list of tasks to be done in the product.

{
Product
backlog
• It is a single source of requirements to be added to a product
• It is a living document
• Tasks are prioritized and ordered accordingly Sprint
• The product owner is responsible for the backlog
1……..n
User Stories

The purpose of a user story is to describe the task which will deliver a particular value to the customer.

User stories should include:

• An identifier and a name


• A description
• An estimated value
• An estimated effort
• Associated risks, dependencies, and
acceptance tests
Sprint Backlog

The sprint backlog is a list of tasks identified by the scrum team which has to be completed within the
estimated time, also know as a sprint. It is maintained by the development team.

Name of the
sprint
Duration of the
sprint
Start date of the
sprint
Estimated end date of
the
sprint
Sprint Backlog

Sprint
backlog

Product
backlog
Timeboxing

The goal of timeboxing is to define and limit the amount of time dedicated to a task.

Benefits:

Efficient development Less overheads High velocity for teams


process
Importance of Timeboxing

Establishes work-in-progress limit

Prioritizes the tasks

Tracks the progress

Improves predictability

Improves time management


Definition of Done

A checklist of things that must be verified before an item or a story is marked as completed. It evolves as
the scrum team matures. It can applied to:

• A user story
• A sprint
• A release
• A project

Task is
“Done”
Scrum Planning
Planning Layers and Product Roadmaps

Strategy Portfolio Produc


t
Executives define and The product offerings are Each scrum team sets a

govern the execution of established considering product vision and

the strategic goals. the vision of the outlines the roadmap for
executives. the projects.

Daily Sprin Releas


t e
The scrum team meets The scrum team The scrum teams group
every day for a status determines the user product backlog items into
update and makes a plan- stories that can be smaller releases.
of-action for the next completed within the
twenty-four hours. sprint.
Releases Supporting Product Roadmaps

A prioritized backlog of product features must match the product roadmap.

Release roadmap: Example:


Release 2.0v

• First version is available to all the


registered members
Release 1.6v
• Second version is available to
premium members only
• Third version is available to all the
members

Release 1.0v

V 🡪 version
Releases Supporting Product Roadmaps

Release 1.0v Release 1.6v Release 2.0v

Sprint 2
Sprint 1

Story 1 Story 2 Story 3

Task 1 Task 2 Task 3 Task 4


Sprint Planning and Objectives

Scrum projects can be accomplished through: Small Projects Large Projects


• Themes and epics
• Releases
Three to six sprints More than six sprints
• Sprints
• User stories
Six to twelve weeks More than six months

Sprint planning meeting is attended by the scrum


Single team Multiple teams
team which consists of:
• Scrum Master
• Product Owner Story level: Story level:
• Development team • Business area
• Release
• Theme or Epic
• End users and executives (Optional) • Sprint
• Features
Sprint Planning and Objectives

Each sprint planning is scheduled to last two hours for each week of the sprint’s duration.

2 Weeks

2 Weeks
Sprint 1

2 Weeks

Sprint 2

Product Backlog

Sprint 1
Sprint Planning Meeting

Inputs from Product owner Release plan followed by


stakeholders prioritizes the Sprint planning
product backlog
Scrum of Scrums

• Scrum of scrums is a scaling mechanism


Scrum of Scrums
• The scrum masters and developers need to

deliver the scrum of scrums collaborative

which is the Definition of Done. They meet


Scrum Master
and communicate to discuss: S

o The impediments

o Progress Scrum Master

o Cross-team coordination Developers Scrum Master


Agile Approach for QA
Agile in Software Testing

Agile testing is a software testing practice that follows the principles of agile software development. Agile
begins at the start of the project with continuous integration of testing and development.

Advantages

• Less documentation

• Regular feedback from the end user

• Daily meetings help determine the issues in


advance

Agile testing is continuous, not sequential.


Agile Testing

Sprint 1
Product
Sprint Backlog Test
Backlog Test Design Regression
Execution

Test Automation
User Stories

Sprint 2
Test Plan Sprint Backlog Test
Test Design Regression
Execution
Defects
Test Automation


Sprint n
Sprint Backlog Test
Test Design Regression
Execution
Defects
Test Automation
Agile Testing Quadrants
Agile testing quadrants separate testing processes and provide clarity on how agile testing is performed.

Automated and
Business Facing Manual testing
manual testing

Functional tests Explanatory


Story tests Usability
Support Programming Simulations UAT

Critique Product
Prototypes A/B testing
Q2 Q3

Q1 Q4

Unit tests Performance and


Component tests load testing

Automation Testing using


testing Technology Facing tools
Agile Testing Principles

Testing is not a phase, but a continuous process

Project is test-driven

Tests are performed by the whole team

Clean and simplified code

Reduce feedback response time

Reduce test documentation


QA: Things to Remember

Understand the agile QA process

Know the audience

Test early and test often

Document test cases

Attend daily stand-ups

Attend sprint planning sessions

Automate when feasible


Testing Lifecycle in Agile Projects

Designing user
stories

Automation testing Release planning

Test result reporting Sprint planning

Regression testing Continuous testing


upon sprint during sprint
completion execution
Agile Testing Strategy

Construction Release
Iteration

2 3
Iteration 0 1 4 Production

Perform initial setup tasks, including testing


1 tools installation and scheduling usability 3
testing Deploy the system into production

Carry out a set of iterations and build solutions


2 in increments; most tests are implemented in 4
this phase System goes live
Agile Test Plan

A test plan is written for each release in an agile model and is revised at every sprint planning.

Agile test plan includes:

• Scope
• New functionalities being tested
• Deliverables
• Types of testing based on the complexity of
features
• Load and performance testing
• Infrastructure consideration
• Risk or mitigation plan
• Resources
Testing and Agile Methodology

In agile methodology, tests are implemented in two ways: along with the development or with a lag of one
sprint.

Models Agile in testing

• Create parallel backlogs with the • Test fixed number of features in a sprint
development team • Push any additional features to backlog
• Integrate development and testing backlogs • In the succeeding sprint, along with the
• Launch tests during the backlog features to be tested for the sprint, test the
prioritization and project review phases features in the backlog as additional
features

Adopting agile in a testing environment introduces shift left approach to testing.


Overview of Git and Git Rebase
Popular Terminologies

Bare repository, tag, and


tree

Push and pull Status, add, and rebase

Git
Branch Terminologie Merge, master
s

Checkout Head, hook, and index

Commit, commit object


Git Workflow

1 3 5

git git push origin master


status

git git add <files> git rebase <parameters>


init git commit <files> git checkout <references>
git merge <references>

4
Git Rebase

Git rebase is one of the ways to integrate changes from one branch to another. It transfers the completed

task from one branch to another.

Before:

E—F feature

Commands used to achieve the result: A—B—C—D master

git rebase master

git rebase master feature After:


E’—F’ feature

A—B—C—D master
Set up and Create a Git Repository

Duration: 20 min.

Problem Statement:
You are given a project to demonstrate the initial set up and the uses of Git.
Assisted Practice: Guidelines

Steps to set up and create Git repository:

1. Download Git from the official site.

2. Install Git in the system.

3. Confirm the installation, and check the version installed.

4. Execute the basic commands to familiarize yourself with the use of terminal.

5. Generate random files and initialize the .git file.

6. Commit the files.


CRUD Operations in Git

Duration: 40 min.

Problem Statement:

You are given a project to demonstrate the following:


1. Reverting the earlier commits
2. Deleting and ignoring files in Git
3. Pulling the commits and collaborating between the local and remote repositories
Assisted Practice: Guidelines

Steps to perform CRUD operations in Git:

1. Navigate to the folder of early commits.

2. Execute the command to revert the commits.

3. Generate random files and add to the initialized Git repository.

4. Ignore few of the files while adding the rest to the .git file.

5. Delete the files added to the .git file.


Overview of GitHub
GitHub and Its Features

GitHub is a web-based hosting service for a version control system using Git.

Features: Developed Projects:

• Access Control • Atom: A free and open-source text and source code

• Bug Tracking editor

• Feature Requests • Electron: An open-source framework to use JavaScript-

• Task Management based websites as desktop applications


Set up and Configure GitHub Account

Duration: 40 min.

Problem Statement:
You are given a project to demonstrate the following:
1. Create your GitHub account
2. Connect from local Git repository to remote GitHub via SSH
3. Initiate the first push
Assisted Practice: Guidelines

Steps to set up and configure GitHub account:

1. Create an account with GitHub.

2. Set up an SSH connection with your GitHub account.

3. Navigate to the folder where the initial commits are made.

4. Add the remote origin.

5. Push the files to the GitHub account.


Key Takeaways

Scrum is an agile process that encourages us to deliver the highest business


values

Definition of Done (DoD) is a comprehensive collection of mandatory


value-added deliverables that focuses on quality of the product and
not the functionality of the product

Git is an open source version control system that supports


branching, merging, and rewriting repository history

GitHub is a web-based hosting service for a version control


system using Git
Create and Deploy Files to GitHub via Git
Duration: 30 min.
Problem Statement:

Create a directory which includes multiple files: index.js, index.html,


inherit.java, angularcli.json, and component.ts. Perform the following:

▪ Initialize the Git repository


▪ Commit the files: index.js, index.html, and inhert.java
▪ Ignore the files: angularcli.json and component.ts
▪ Create a folder in your GitHub account
▪ Push the committed files to the repository
Before the Next Class
Course: Core Java

You should be able to:


▪ Explain the fundamentals of Java language
▪ Set up Java and Eclipse on your machine
▪ Demonstrate initialization of a variable

▪ Explain data types and their declarations

▪ Demonstrate operators in Java

▪ Use conditional statements, loops, break statements, and

continue statements

▪ Explain classes and objects

▪ Demonstrate the uses of final, static, and this core keywords in Java

You might also like