Skip to content

Instantly share code, notes, and snippets.

@bethsebian
Last active June 22, 2018 22:15
Show Gist options
  • Save bethsebian/3b5fba2bf62e7fbf10b503c3fd66d6c8 to your computer and use it in GitHub Desktop.
Save bethsebian/3b5fba2bf62e7fbf10b503c3fd66d6c8 to your computer and use it in GitHub Desktop.

Class 4: Project Kickoff

Class Overview

  • Introduction to Agile (10 min)
  • Project overview (10 min)
  • Sprint 1 (45 min)
  • Whiparound (5 min)
  • Break (5 min)
  • Sprint 2 (45 min)
  • Whiparound (5 min)
  • Break (5 min)
  • Sprint 3 (45 min)
  • Retro (5 min)

Review of principles

  • Gradual release of responsibility
  • Teaching to fish (use your resources, ask a peer, ask an instructor)
  • Emotional intelligence: managing the discomfort of not knowing
  • Technical strategy and communication

Introduction to Agile (10 min)

Agile is a methodology for developing software. It was formalized in 2001 with the publishing of the Agile Manifesto. The core tenets of agile software development are:

  • Individuals and interactions over processes and tools
  • Working software over comprehensive documentation
  • Customer collaboration over contract negotiation
  • Responding to change over following a plan

We will include an agile approach in our project work today by working in sprints to tackle incremental goals.

Project overview

The final two classes of this series will be dedicated to working on your project. The basic expectations include building a program in Ruby that does the following.

  1. Queries an external API for data.
  2. Uses enumerables to digest that data (preferably from an array)
  3. Writes content to an HTML file that can be previewed

This session, our goal is to tackle steps 1 and 2. We will address styling in the final class.

BEFORE YOU BEGIN WORKING ON YOUR PROJECT, you must first decide which API you'll use and what content you'll pull from it. Your idea will need to be approved by your instructor before you proceed. You can select an API from this list of open APIs.

Setup

  1. Set up a new git repository for this project.
  • Create folder for exercises and move all old files into this directory, including your hidden .git directory
  • Create new folder for this project
  • Use git init from that new folder to make it a git repository.
  • Follow directions from class one to create a remote repository for saving your work.
  • Don't forget to add and commit as you work.
  1. Set up a basic project structure. Within your project folder, start with a file titled api_requester.rb

Using Ruby to Query APIs

You can use the following code block to capture an API response in your Ruby file.

require 'net/http'
require 'json'

endpoint = [INSERT ENDPOINT HERE IN QUOTATIONS]
uri = URI(endpoint)
response = Net::HTTP.get(uri) 

puts JSON.parse(response)

Sprints

We will work in 3 45-min sprints today. At the beginning of each sprint, you will identify the most immediate 2-3 tasks you hope to accomplish in that time. If a task is too big to accomplish in that time-box, figure out how to split it up.

Whiparounds

At the end of every sprint, we will debrief quickly as a group: what did we accomplish, and what are our next steps?

Pomodoro Break

Pomodoro is a technique for managing time, used widely in the software development industry. We will work in cycles of 50 minutes on, 5 minutes off through our session today. Read more about the Pomodoro technique.

Retro

What should we keep doing? What should we do differently?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment