-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
1 changed file
with
320 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,320 @@ | ||
--- | ||
title: 'Getting Real 📔' | ||
date: '2021-12-16' | ||
--- | ||
|
||
[Getting real](https://basecamp.com/gettingreal) is a book by the team at [37Signals](https://37signals.com/) about building software faster. | ||
|
||
It has about 14 chapters and is around 171 pages long. | ||
|
||
### 1 starting line | ||
|
||
> defensive companies can’t think ahead; they can only think behind. They don't lead, they follow. | ||
build for yourself | ||
|
||
fund yourself | ||
|
||
- constraints force creativity | ||
|
||
fix time + budget, flex scope | ||
|
||
- pull back scope | ||
- prioritization, reality, flexibility | ||
|
||
have an enemy | ||
|
||
- microsoft project 👹 vs basecamp 🧗 | ||
- (Godin - be a better liar) [🔗](https://money.cnn.com/magazines/fsb/fsb_archive/2005/05/01/8259747/index.htm) | ||
|
||
it shouldn’t be a chore | ||
|
||
### 2 stay lean | ||
|
||
less mass | ||
|
||
- mass is ^ by thick process, lock-ins, closed data formats, office politics etc. | ||
- mass is v by JIT thinking, less software/less code, less features, simplicity, pared-down interface, OSS, open data formats, open culture | ||
|
||
they can change their minds 🧠 | ||
|
||
lower your cost of change | ||
|
||
- emergence | ||
- emergent properties happen as a dynamic result of a system | ||
|
||
the 3 musketeers | ||
|
||
- use a team of 3 for v1 | ||
|
||
embrace constraints | ||
|
||
be yourself | ||
|
||
### 3 priorities | ||
|
||
what’s the big idea | ||
|
||
ignore details early onw | ||
|
||
it’s a problem when it’s a problem | ||
|
||
hire the right customers | ||
|
||
scale later | ||
|
||
### 4 feature selection | ||
|
||
build half a product | ||
|
||
it just doesn’t matter | ||
|
||
start with no | ||
|
||
hidden costs | ||
|
||
can you handle it | ||
|
||
forget feature requests | ||
|
||
- read them then throw away | ||
|
||
hold the mayo | ||
|
||
### 5 process | ||
|
||
race to running software | ||
|
||
- get something up and running quickly | ||
|
||
rinse + repeat | ||
|
||
- work in iterations | ||
- don’t expect to get it perfect the first time; let it morph + evolve 🦎 | ||
|
||
from idea to implementation | ||
|
||
- brainstorm 🧠⛈️ → sketches → HTML → coding | ||
|
||
avoid preferences | ||
|
||
- preferences are evil as they create more softwar | ||
- more options require more code | ||
- make the call | ||
|
||
done! | ||
|
||
- decisions are temporary so make the call and move on | ||
- ideas are just multipliers (max double digits) times execution (worth millions) | ||
- test in the wild | ||
|
||
shrink your time | ||
|
||
- are you facing a Big problem? | ||
- break it down into smaller pieces | ||
|
||
### 6 the organization | ||
|
||
unity | ||
|
||
- don’t split into silos | ||
|
||
alone time | ||
|
||
- get 💩 done | ||
|
||
meetings are toxic | ||
|
||
- set a timer | ||
- invite as few people as possible | ||
- have a clear agenda | ||
|
||
seek and celebrate small victories | ||
|
||
- the most important thing in SD is motivation | ||
- 4-hour quick wins (builds morale, ^ motivation, reaffirms team is → right direction) | ||
|
||
### 7 staffing | ||
|
||
hire less and hire later | ||
|
||
Brooks’ law | ||
|
||
> Adding people to a late software project makes it later (Fred Brooks) | ||
> | ||
kick the tires 🚗 | ||
|
||
- take potential new team members on a test drive | ||
|
||
actions, not words | ||
|
||
- judge hires on OSS contributions | ||
- quality of work | ||
- cultural perspective | ||
- level of passion | ||
- completion percentage | ||
- social match | ||
- If you want something done, ask the busiest person you know | ||
|
||
get well rounded individuals | ||
|
||
u can’t fake enthusiasm | ||
|
||
- happy + average > frustrated + great | ||
|
||
wordsmiths | ||
|
||
- hire good writers (when deciding over a designer, programmer, marketer, salesperson, etc.) | ||
- good writers know how to communicate | ||
|
||
|
||
### 8 interface design | ||
|
||
interface first | ||
|
||
- design interface before you start programming | ||
- interface is your product | ||
|
||
epicenter design | ||
|
||
- start from core + build outward | ||
|
||
3 state solution | ||
|
||
- regular 💚 blank 🤍 error 🔴 | ||
|
||
first impressions are important | ||
|
||
get defensive | ||
|
||
- when things go wrong | ||
|
||
context over consistency | ||
|
||
copy-wrighting is interface design | ||
|
||
### 9 code | ||
|
||
less software | ||
|
||
- each time you increase code, your software grows *exponentially* more complicated | ||
- keep code as simple as possible (KISS) | ||
- big ball of mud 🟤 | ||
- solving 80% of the problem for 20% of the effort is a major win | ||
- search for detours around writing more software | ||
- complexity doesn’t scale linearly with size (ganssle group) | ||
|
||
optimize for happiness | ||
|
||
code speaks | ||
|
||
manage debt | ||
|
||
open doors | ||
|
||
- don’t seal in data, let it run wild | ||
- RSS feeds, APIs | ||
|
||
### 10 words | ||
|
||
there’s nothing functional about a functional spec | ||
|
||
- don’t write them | ||
|
||
> A “spec” is close to useless. I have never seen a spec that was both big enough to be useful and accurate. - Linus Torvalds (from Linux: Linus On Specifications) | ||
> | ||
don’t do dead docs | ||
|
||
tell me a quick story 🧙♂️ | ||
|
||
use real words | ||
|
||
- use real words, not lorem ipsum | ||
|
||
personify your product | ||
|
||
### 11 pricing and signup | ||
|
||
free samples | ||
|
||
easy on, easy off | ||
|
||
- easy signup, easy cancellation | ||
|
||
### 12 promotion | ||
|
||
hollywood launch ⭐ | ||
|
||
- teaser → preview → launch | ||
|
||
ride the blog wave | ||
|
||
- can be more effective than advertising, and it’s cheaper | ||
|
||
track your logs | ||
|
||
- leave comments on blogs | ||
- thank people for posting links | ||
- create ‘buzz’ page on site | ||
|
||
inline upsell | ||
|
||
name hook | ||
|
||
- short, catchy, memorable and run with it | ||
|
||
### 13 support | ||
|
||
feel the pain | ||
|
||
- DIY | ||
|
||
answer quick | ||
|
||
tough love | ||
|
||
- decided not to support IE5 (7% of market) | ||
- customer is right | customer isn’t always right | ||
|
||
in fine forum | ||
|
||
- people help one another | ||
|
||
publicize your screwups | ||
|
||
### 14 post launch | ||
|
||
1 month tuneup | ||
|
||
- issue major update 30 d after launch | ||
|
||
keep the posts coming | ||
|
||
- blog shows app is alive and makes your company seem more human ⛹️♀️ | ||
|
||
all bugs are not created equal | ||
|
||
- some bugs are more important | ||
|
||
beware the bloat monster 👻 | ||
|
||
go with the flow | ||
|
||
- be open to change | ||
|
||
### 15 conclusion | ||
|
||
### conclusion | ||
|
||
This is the 3rd book I’ve read from team 37signals ([remote](https://basecamp.com/books/remote), [rework](https://basecamp.com/books/rework)). I really like their philosophy, which is to keep it simple and move fast. | ||
|
||
Amazon has a culture called [Day 1](https://aws.amazon.com/executive-insights/content/how-amazon-defines-and-operationalizes-a-day-1-culture/) which includes tactics like having a 2 pizza team, and [customer obsession](https://www.amazon.jobs/content/en/our-workplace/leadership-principles). | ||
|
||
Overall I’d give it a ★★★★☆. | ||
|
||
### additional reading | ||
|
||
- the pragmatic programmer - hunt | ||
- seth godin |