Software Development Methods and Tools—CSCI-3308

Requirements

Download the slides.

We discussed types of software project requirements and how to elicit them from users. And we talked about the importance of listening to user needs and designing product features to satisfy them.

These are the product design values we developed at GitHub to guide turning requirements into coherent features that work well together. They are coded into the product, so they are literally baked right into everything we ship.

> GitHub.zen
Responsive is better than fast.
It's not fully shipped until it's fast.
Anything added dilutes everything else.
Practicality beats purity.
Approachable is better than simple.
Mind your words, they are important.
Speak like a human.
Half measures are as bad as nothing at all.
Encourage flow.
Non-blocking is better than blocking.
Favor focus over features.
Avoid administrative distraction.
Design for failure.
Keep it logically awesome.
=> "GitHub"