原則のひとつは、「APIの設計にあたっては、APIを使いやすくすることだけでなく、APIを誤って使うのを難しくすることを考慮すべき」です。これを「誤用耐性(misuse resistance)の原則」と呼びます。
このように、オブジェクトのクラスが何であろうとそのメソッドが呼び出せればよしとするプログラミングスタイルのことを「ダックタイピング(duck typing)」と呼びます。これは「もしもそれがアヒルのように歩き、アヒルのように鳴くなら、それはアヒルである」という言葉に由来するプログラミング用語です。
つまりアジャイル開発とは何か単一の開発手法を指すものではなく、似たような開発手法に共通した価値観と行動原理に名前がついたものであり、それを体現するさまざまな手法があるということです。主な手法にスクラム、エクストリーム・プログラミング(XP)、カンバンがあります。
「失敗型」のアプローチでとくに注目すべきは、成果そのものよりも、トップダウン方式を重視した従来の価値観に風穴を開けたことだ。「失敗型」アプローチをとるには、物事を素直に受け入れる気持ちと、根気強さが欠かせない。オンライン共有サービス(Dropbox)を開発したドリュー・ヒューストンもこのマインドセットを学んでいた。
プロダクトバックログをうまく整理するには、ふだんのスプリントのことはひとまず忘れて、広い視点で開発全体を考えてみよう。たとえば、インセプションデッキを見ながら、そもそもスクラムチームは何を達成しなければいけないのかを思い出しながら取り組んでみよう。
StrongParametersとは、Mass Assignment機能を利用する際に起こり得る脆弱性へ対抗する手段の1つです。Mass Assignmentとはモデルの生成や更新の際に、以下のようにRubyのハッシュを使って一括で属性を設定できる非常に便利な仕組みです。
素晴らしい企業文化では、問題や意見の相違が水面下に潜ることなくうまく解決される。社員はみなそれまで作ったことのないものを想像したり、実際に作ってみたりすることを楽しんでいる。それが組織の進化を支える。(中略)誰もが率直に発言できる環境を作り、透明性を徹底して、有意義な仕事、有意義な人間関係につなげることを常に目標にしている。