ソフトウェア聖戦はもういい!

Apr 29 2023
さあ、顧客を満足させ、さらには喜ばせる、実際に動作するソフトウェアを提供できるようになりましょう。キリスト教徒もユダヤ人もイスラム教徒も同じ神を崇拝していることが分かりました。

さあ、顧客を満足させ、さらには喜ばせる、実際に動作するソフトウェアを提供できるようになりましょう。

Unsplash の Lyman Hansel Gerona による写真

キリスト教徒もユダヤ人もイスラム教徒も同じ神を崇拝していることが分かりました。彼らの意見が異なるのは、その神が朝食に何を食べるか、そしてひげと祝日に関する神の方針がどのようなものであるかという詳細についてである。

「ソフトウェア職人」、「ソフトウェア エンジニア」、「アジャイル ソフトウェア開発者」もすべて同じ神を崇拝していることがわかります。私たちは、私たちが努力すべきだと皆が同意しているように見える結果とまったく同じ結果を達成することを、私たちの神が私たちにどのように期待しているのかという細かい点で意見が異なっているだけです。

私たちの共通の神の第一の戒めは、「顧客が望まないソフトウェアを書いてはならない」であることに異論はありません。

また、最も有用で使いやすいソフトウェアに収束するために反復が必要になるという点にも私たちは同意しません。

また、ネットをすり抜けたバグの修正に大部分の時間を無駄にしないためには、テストをできるだけ早く、できるだけ頻繁に行うべきであるという点にも私たちは同意しています。

実際、あらゆる重要な点において、私たちはすべてのことに同意します。(まあ、とにかく、意見が重要な人なら誰でも同意します。)

私たちの意見が異なるのは、それらを「ユースケース」と呼ぶべきか「ユーザーストーリー」と呼ぶべきか、そしてテストを最初に書くべきかコードの後に​​書くべきか、あるいはこれらのスキルを意図的に練習する時間を確保すべきか、それとも認定された専門機関に参加し、認定を受ける必要があります。等々。

根底にある信念、私たちが行うこととそれを行う理由の基盤は、何十年も変わっていません。ソフトウェア開発に関する旧約聖書は、それを上手に行う人の間で共有される宗教的なテキストです。

思い出していただく必要がある場合に備えて、ソフトウェア開発の十戒を以下に示します。

  1. 顧客が望まないソフトウェアを書いてはなりません
  2. 必要ならば、汝は解決策を無期限に反復しなければならない
  3. 早期かつ頻繁にテストを行うべきです
  4. 一人で作業している場合でも、ソフトウェアのバージョンと構成を管理する必要があります
  5. 設計を少しも考えていないのに、すぐにコードを書いてはいけません
  6. 変更が難しいコードを書いてはなりません
  7. 未テストのコードを統合したりリリースしたりしてはなりません
  8. 使いにくいユーザーインターフェイスを作成しないでください
  9. 機能要件と非機能要件を同等に扱うべきです
  10. 頻繁に繰り返されるタスクを自動化し、頻繁に繰り返されるコードを共有しましょう

私たちのそれぞれの戒めは、独自のスキルセット、独自の実践、独自の基準、独自の知識体系を備えた規律を暗示しています。それぞれの戒めにどのように従うべきかという詳細については意見が分かれるかもしれませんが、基本的に、その根底にあるのは、私たちは皆同じ神を崇拝しているということです。

ということで、聖戦はもう終わりです!さあ、顧客を満足させ、さらには喜ばせる、実際に動作するソフトウェアを提供できるようになりましょう。