Skip to content
This repository was archived by the owner on Oct 4, 2023. It is now read-only.

Files

Latest commit

060dc07 · Aug 6, 2014

History

History
79 lines (49 loc) · 2.41 KB

start-a-new-project.md

File metadata and controls

79 lines (49 loc) · 2.41 KB

How to start new projects (Workflow)

This describes what steps you need to take to start a new project. This is meant as a guideline.

1. Requirements

Before you start any coding, it starts with requirements. What you do here is writing down all things your new program should do. You write it down in normal text without any code related things. To achieve the best results, you describe the features/requirements from the user's perspective. For each requirement, you create an Issue in your project's repository.

What is a requirement?

A requirement describes what you expect the new program to do.

"I expect ataru to test my documentation"

This is an requirement, but it is very abstract and not very specific.

"I expect ataru to read code examples from markdown files"

This here is already more concrete. With this requirement you're able to infer concrete tasks:

  • Read a file
  • The file must be Markdown
  • Get all code examples from Markdown

Examples

Each requirement here is a separate issue.

Requirement 1:

"As a user, I want to run ataru from the command line and pass a markdown file as parameter"

Example:

$ ataru readme.md

Requirement 2:

"As a user, I want to see how many examples where run and how many failed"

Example:

$ ataru readme.md
Ran examples: 5 Failed: 1

2. Select features for the first version of your program

When you collected all requirements you need to prioritize which features should be part of the first version. What requirements should be picked? Pick all requirements which are necessary to build a very basic but working version.

3. Start development

General Notes

Pull Request (PR)

In the description of the PR you describe shortly what you did. Also add a reference to the GitHub Issue. When the PR was created, ask you pair for review. When your pair approved it, it can be merged. Also make sure you delete the branch you worked on.

Commit

Before you create a new commit, make sure that all tests pass and none of them fail.

Branch naming scheme

<issue number> - <branch name>

Example:

5-Extract-Code-Examples-From-File

Workflow

The development workflow looks like this:

  1. Pick an issue from the list and assign it to you
  2. Create a new branch (Called feature branch)
  3. Start development on feature branch
  4. When you're finished, create a pull request.
  5. Review (done by pair)
  6. Merge Pull Request when everything is fine