Consultancy - Development

We will be using an Agile process during the development of this project. This will include:

  • Working in short 3 or 4 day “Sprints”
  • Using GitHub
  • Setting up Continuous Integration and Continuous Deployment
  • Using a project management tool such as Github Projects
  • Conducting Story Grooming meetings
  • Doing daily Stand Ups
  • Demoing your project to your Project Manager
  • Holding Team Retros

Sprints

In Agile processes, a sprint is a single cycle of development. The most common length of a sprint is two weeks. During this cycle, teams will assign features, develop those features, demo their work, get feedback, and retro.

Pairing Schedules

Your PM will present a pairing schedule every other day, and rotate you to different areas of the project. If you are mid-way through a story, you must figure out how to hand off that work to another pair.

Sprint 1: User Interface and Microservice Spike

  • Begin: Monday of Week 4
  • End: Thursday morning of Week 4

Day 1:

  • Your PM will split your team up to focus on each area of the project.
    • Front-end team
    • Back-end team
    • Microservice(s)
  • Each team will use a Miro board to brainstorm ideas
  • Each team member will set up GitHub co-author commits for each member on the team (minus their project manager)
  • Your PM may delegate people to set up a GitHub organization, add other members, and set up the initial repos in a way that each team member gets co-author contribution on all repo setups

  • Deliverables:
    • Wireframes of the User Interface
    • Rough implementation and testing of the front-end, mocking out responses from back-end; no authentication expected yet
    • Rough implementation and testing of back-end API, mocking requests from front-end
    • Initial structure of each microservice in Sinatra (not necessarily working API calls)
    • Travis-CI and Deployment to Heroku for both Rails repositories

Sprint 2: Primary Development

  • Begin: Thursday afternoon of Week 4
  • End: Monday morning of Week 5

  • Deliverables:
    • Rails front-end has Bootstrap in place, each wireframe is implemented in some amount, implements OAuth, can CRUD data with back-end
    • Rails back-end can CRUD resources based on front-end requests
    • Microservices successfully implement their respective API calls

Sprint 3: Final Product

  • Begin: Monday Afternoon Week 5
  • End: Friday Week 5
  • Deliverables:
    • Professional-looking front-end
    • MVP for each component is met
    • Fully working application stack is presentable

Project Check Ins

In addition to the End of Sprint Demos, you will also have some project check ins

  • Check In 1
    • Wednesday or Thursday of Week 4
    • During this meeting, you should be prepared to review the artifacts from your inception: MVP, wireframes, story board.
    • During this meeting, your team will draw out the architecture of your application
  • Check In 2
    • Monday Week 5
    • During this check in, you will discuss with your project manager what the expectations are for your final demo on Friday
    • You can also use this check in as an opportunity to ask any questions and get help for the final few days of the project.
  • Check In 3
    • Review of near-final work, check for MVP
    • Discuss presentation details

GitHub

  • Commit Frequently
  • Make branches and submit Pull Requests for each new feature.
    • DO NOT commit directly to main
    • Keep your PRs as small as possible (one feature / user story per PR)
    • Your PR should be reviewed by at least one team member before it is merged.
    • Tag your Project Manager if you have questions. DM your Project Manager letting them know you have tagged them.

Co-Author Commits

Teams are expected to utilize co-authored commits to give each other contribution for driver/navigator work.

Your instructors will provide a full co-author commit message to each team. When you implement it, be sure to remove your own name from the list (your commit message should not include yourself).

Continuous Integration

Continuous Deployment

  • Set up Travis-CI in such a way that it automatically deploys its code to Heroku when ‘main’ branch code is passing
  • Recommend setting up ENV variables for all service-layer hostnames to allow faster/easier deployment of services

Story Grooming

  • You should be using a project management tool to keep track of your stories.
  • When doing a “Story Grooming” you should:
    • Make sure that the project board is up to date
    • Look over the current backlog of stories and decide if you want to make any changes
      • Are there any stories that need to be updated?
      • Are there any stories that need to be added?
    • Assign stories to individual team members or pairs
      • Be clear on what it is that everyone should be doing
  • You should be Story Grooming every 1-2 days.

Daily Stand Ups

  • A Stand Up is a very brief (hence, physically standing up) meeting for the development team to keep in touch about what everyone is doing.
  • During the stand up, each member of the team will take 1 - 2 minutes to answer these questions:
    • What have you been working on?
    • What are you going to be working on?
    • Is anything blocking you?
  • Every weekday you should send your PM a summary of the day’s stand up.

Retros

  • End of Week 1
    • Students should discuss what went well, what didn’t go well, and what they would like to change for the second half of the project. Students should use their DTR as a guideline for this discussion and be willing to reaffirm or change any expectations that weren’t met in the first week.
  • End of Project
    • Students should discuss what went well, what didn’t go well, and what feedback they have for their team members using this template. Each group should make a copy of the template and submit to their instructors.

Lesson Search Results

Showing top 10 results