CS10 Summer 2016: �The Beauty and Joy �of Computing
Git / Agile Development
Instructor: Ian Birnam
1
Security experts have cloned all seven TSA master keys
“The TSA, offers a set of screener-friendly locks. These locks use one of seven master keys that only the TSA can use — until 2014. Last week, security researchers released the final 3D printed key.”
7/28/2016
CS10 Su16 - Lecture 22
Administrivia
2
7/28/2016
CS10 Su16 - Lecture 22
Lecture Outline
3
7/28/2016
CS10 Su16 - Lecture 22
WHAT IS GIT?
4
7/28/2016
CS10 Su16 - Lecture 22
What is Git?
Git is a popular form of source control
5
7/28/2016
CS10 Su16 - Lecture 22
Disclosure on Git
Git is an incredibly powerful tool, and can get complex
Thankfully, the basics can get you through 90% of the use cases you’ll need in your day-to-day
We’ll cover enough to make you dangerous
6
7/28/2016
CS10 Su16 - Lecture 22
HOW TO USE GIT
7
7/28/2016
CS10 Su16 - Lecture 22
Terminology - repo(sitory)
repo(sitory) - where the project (code) lives
Not this simple, next slides detail these arrows:
8
7/28/2016
CS10 Su16 - Lecture 22
Terminology - branch
branch - a working copy of the code in the repository (can be multiple)
Repository
branches
9
7/28/2016
CS10 Su16 - Lecture 22
Terminology - branch - master/remote/local
master
Local (ian’s branch)
remote
remote
remote
Local (alex’s branch)
Local (lara’s branch)
10
7/28/2016
CS10 Su16 - Lecture 22
Commands
11
7/28/2016
CS10 Su16 - Lecture 22
Flow of Commands
12
7/28/2016
CS10 Su16 - Lecture 22
13
7/28/2016
CS10 Su16 - Lecture 22
WHAT IS AGILE DEVELOPMENT?
14
7/28/2016
CS10 Su16 - Lecture 22
What’s Agile - Preface
15
7/28/2016
CS10 Su16 - Lecture 22
What’s NOT Agile?
“The waterfall model is a sequential design process, used in software development processes, in which progress is seen as flowing steadily downwards (like a waterfall) through the phases of conception, initiation, analysis, design, construction, testing, production/implementation and maintenance.”
16
7/28/2016
CS10 Su16 - Lecture 22
What’s NOT Agile? - Waterfall
17
7/28/2016
CS10 Su16 - Lecture 22
What’s NOT Agile? - Waterfall
18
7/28/2016
CS10 Su16 - Lecture 22
What’s Agile?
“Agile software development is a group of software development methods in which solutions evolve through collaboration between self-organizing, cross-functional teams. It promotes adaptive planning, evolutionary development, early delivery, continuous improvement, and encourages rapid and flexible response to change.”
– Wikipedia
19
7/28/2016
CS10 Su16 - Lecture 22
What’s Agile?
20
7/28/2016
CS10 Su16 - Lecture 22
What’s Agile? - Standups
21
7/28/2016
CS10 Su16 - Lecture 22
What’s Agile? - Sprints
22
7/28/2016
CS10 Su16 - Lecture 22
What’s Agile? - Sprints
23
Credit: http://www.dgc.co.uk/
7/28/2016
CS10 Su16 - Lecture 22
Summary
24
7/28/2016
CS10 Su16 - Lecture 22
Post-Summary
How do we manage the website?
HTML/CSS/JS/Ruby/Tons of APIs...
and GIT!!!!
25
7/28/2016
CS10 Su16 - Lecture 22