大は小を兼ねない〜丁度良いソフトウェア開発〜(SonicGardenアドベントカレンダー2日目)

big buddy

SonicGardenアドベントカレンダー、伊藤さんの1日目の記事を空振りで終わらせることなく、次につなげてみたいと思います。20日からはじめたら25日までに最後まで回らないじゃん・・・ということで、20日のうちにこの記事も公開してしまいます。SonicGardenアドベントカレンダー2日目の記事です。

「なんかソニックガーデンらしいことを書け」ということなので、結構悩んだのですが、そういえば「徹底的にシンプルにする」という原則があるなーということを思い出しました。

  • 誰でも開発できるように、シンプルな実装をする
  • 誰でも運用できるように、シンプルな構成にする
  • 誰でも復旧できるように、シンプルなインフラにする

といったように、「誰でも◯◯できる」ということを重要視しています。少人数で複数のサービスをまわしているので、あまりに凝ったことをしていると、何かが起こった時に復旧が遅れてしまい、サービス品質が下がってしまうのです・・・。なので、システム構成はあくまでもシンプルを貫きます。

「やらない」ということ

何か問題が起こった時、ほとんどの場合「手順が足りなかった」「確認が不足していた」等と考えると思います。そうやってどんどん手順を増やしていくと、「この手順は何のためにあったんだっけ・・・?」「手順が多すぎるので自動化しました!(キリッ」と、本来の問題とは別の方向へ向かって行きます。意図を忘れられた自動化は、一見良いように見えて最悪の結果を引き起こすことすらあります(たまーにそういう事件がありますよね・・・)。

重要なのは起こりうる問題に対してピンポイントに効かせる事です。無駄な手順はやらない。そもそもその問題を引き起こしている原因そのものが、そのシステムにとって最適なのか?

「そもそも」というキーワードは仕事中何回も出てきます。「そもそも原因は何なのか?」「そもそも必要なのか?」・・・何よりも本質を掴むということに注力している気がします。一日の間に「そもそも」と「本質」は数回耳にするキーワードです。

大は小を兼ねない

やりすぎない、というのは重要です。大は小を兼ねません。運用で何とかなるなら、運用で何とかします。あんまりカッコ良くはないかも知れませんが、カッコ良さよりは本質を取ります。

ソニックガーデンの場合はこうした考え方がかなり徹底されていて、伊藤さんが入ってきたときも、伊藤さんが「え、それってどういうことですか?」と何度も聞いていたのを思い出します。そんな伊藤さんの研修期間の様子はこちらのエントリをご覧くださいー。

丁度良いソフトウェア開発をしよう

本来必要ないことをどんどんやって、その分の費用を請求するなんてプロの仕事じゃないですよね。丁度良いソフトウェア開発で最高のコストパフォーマンスを届けたいものです。

さて、次は国境なきプログラマ@maedana先生の番です! 1年以上更新のないブログはこちら。ザ・ストイックなmaedana先生はきっと面白い記事を書いてくれるに違いありません。果たしてこのアドベントカレンダーは続くのか、乞うご期待。

ライト、ついてますか―問題発見の人間学

【お知らせ】Keep int ouchグリーティングカードをリリースしました!

先日ソニックガーデンではネット上でお客様に年賀状が送れる「Keep in touchグリーティングカード」をリリースしました! 去年の合宿のあとにせっせと作った年賀状システムをKeep in touchというCRMにポーティングしたものです。

下記のページから簡単にユーザー登録ができるので、是非使ってみてくださいね。

ビジネスでもネットで年賀状を送ろう!〜もっと手軽に、もっと心を込めて〜Keep in touchグリーティングカード – SonicGarden 株式会社ソニックガーデン