diff --git a/posts/2021/getting-real.mdx b/posts/2021/getting-real.mdx new file mode 100644 index 0000000..400df11 --- /dev/null +++ b/posts/2021/getting-real.mdx @@ -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 \ No newline at end of file