give IT a try

プログラミング、リモートワーク、田舎暮らし、音楽、etc.

自宅のリフォームとソニックガーデンの「納品のない受託開発」

伊藤さんの近況報告

1ヶ月ぐらいブログの更新が空いてしまいました。
子どもの卒業式・入学式や町内会の役員仕事やら、あれこれ用事が重なってゆっくりブログを書く時間がない今日この頃です。

ブログを書く時間がない理由のひとつに、家のリフォームがあります。
ふと思い立って、伊藤さんちでは現在、自宅の風呂、洗面所、トイレ、キッチンと、水回りを一通りリフォームしてしまおう!という計画が進んでいます。

今住んでいる自宅は築13年ですが、現状、特にどこか具合が悪くなった部分があるわけではありません。
じゃあなんでリフォームするのか?というと、理由は大きく分けて3つあって、

  • 新築当時は予算がなくて、水回りは平凡な風呂やトイレしか選べなかった
  • 家の設計をしていた当時は妻が長女を妊娠していた時期に重なっていて、つわりのせいで打ち合わせにあまり参加できず、妻のこだわりを十分反映できなかった
  • 長男が高校生になり、あと3年ぐらいしたら大学進学で家を出て行く可能性があるので、子どもたちが家にいる間にリフォームをしておきたい

・・・といった理由で、「家族全員が楽しめる間に、こだわりのリフォームを!」という運びになりました。

というわけで、2月ぐらいから急ピッチでキッチンメーカーのショールームを訪れたり、ハウスメーカーさんに図面を書いてもらったりしています。
で、僕の方はできあがった図面や見積もりを細かくチェックしたり、カタログを穴が空くぐらい眺めて、今回のリフォームに取り入れるべきオプションがないか、等々の確認をしています。
何か気になる点が見つかると担当者さんにメールを送ったりする必要もあり、なんだかんだであっという間に時間が溶けていきます・・・。

現時点では図面や見積もりが9割方固まった段階で、これから5月から6月にかけて順次工事を進めていく予定です。

f:id:JunichiIto:20210423111214j:plain
現在の我が家のキッチン。ここからさらにこだわりのキッチンにリフォームします

家のリフォームはウォーターフォール開発

で、当たり前といえば当たり前なんですが、家のリフォームは「THE☆ウォーターフォール開発」で進むんですよねー。
つまり、最初に全部仕様をかっちり決めて、見積もりと納期を出してもらって、互いに合意が取れたら契約して着工、というスタイルなわけです。

しかし、システム開発も家のリフォームも、ウォーターフォール開発はあまり嬉しくないです。
いかんともしがたいのはわかっているものの、どうリフォームするかを考えていると「実際に使ってみないとわからない」というポイントがたくさん出てきます。
カタログを見たり、ショールームに行ったりすることである程度想像しやすくなる部分はありますが、それでも限界があります。

たとえば「次回の打ち合わせまでにトイレや洗面所のクロスの色や柄を選んでください」とお願いされても、クロスのサンプルを眺めるだけじゃどういう組み合わせでどういうふうに見えるのか、正直よくわからないんですよねえ。

しかも、ウン百万もする大きな買い物なので、絶対失敗したくない。
でも、やってみないとわからない部分がたくさんあるので失敗しそう。
というジレンマ。

失敗はしたくないけど、かといって「試しにやってみて、ダメだったら作り直す」というオプションの選択はまず不可能なので、仕方なく図面やカタログとにらめっこしながら、脳内イマジネーションをフル稼働させる作業をずっと続けております。

システム開発もウォーターフォール開発はつらい

で、ここからシステム開発の話に移ります。
システム開発もウォーターフォール開発になるとこれとほぼ同じ問題が出てきますよね。
ウォーターフォール開発は仕様書を書いて、見積もりと納期を出して、合意を取れたら開発開始、というスタイルなので。
でも、システムだって使ってみなきゃわからない部分がたくさんあるわけです。
というか、システムには形がないので、家のリフォーム以上に「実際に使ったらどうなるか」を想像しにくいと思います。

僕はシステムを作る側の人間ですが、今回のリフォームでお客さんの立場に立つことで、あらためて「やっぱりウォーターフォール開発はあかんなー。絶対お客さんもつらいと思うわ」と強く思いました。

ハードの開発スタイルにソフトの開発スタイルを合わせる必要はない

ただ、システムは「形がないので想像しにくい」という弱点がある一方で、「建築物に比べるとはるかに作り直しやすい」という強みがあります。
「画面の色はどうしよう」とか「文字の大きさはどれくらいがいいかな」みたいな話であれば、その場でぱっぱっと変更することができます。
それだけでなく、もっと大きなレベルで「あとからCSVエクスポート機能を付ける」なんてことも、ソフトウェアであれば比較的簡単に実現可能です。

であれば、ウォーターフォール開発をやめたらいいんですよね。
ある程度大まかな要件を決めたら、実際に開発してみる。
そして、「実際に使ってみて、しっくりこない部分があれば作り直す」というスタイルにしちゃえばいいんです。
建築物はハードですが、システムはソフトなので、そもそものモノが違います。
なのでハードの開発スタイルに合わせてソフトを開発する必要はないわけです。
(何十年も前のソフトウェア開発だとコンピュータ資源の制約があってハードウェアと同じぐらい作り直しにくかったと思いますが、それは昔の話です)

システム開発をサブスクとして提供する「納品のない受託開発」

しかし、「何度でも作り直せばいいやん!」と思ってもその次に問題になるのが、「そのスタイルでどうやって商売するか」というビジネスモデルの問題です。
「事前に見積もりや納期を出す方式」で商売をすると、「何度でも作り直す方式」と相性の悪い部分がたくさん出てきます。

この問題を解決するために、僕が勤めている株式会社ソニックガーデンでは「納品のない受託開発」というビジネスモデルを採用しています。
これは文字通り、納品をなくして継続的に開発を続けるというビジネスモデルです。
今どきの言葉で雑にまとめると「システム開発のサブスク」ですね。
毎月定額料金で開発をし続ける、定額料金を払っている間はいくらでも作り直し可能、というスタイルで開発を進めます。(めちゃくちゃ雑なまとめですが)

「納品のない受託開発」は楽しい

僕はかれこれ10年近くこの「納品のない受託開発」でシステム開発を続けていますが、とても良い開発スタイル&ビジネスモデルだと思っています。
特にお客さんが新規事業を始める場合は「システムがどう出来上がるか想像しづらい」という問題以上に「お客さん自身のビジネスがどう転ぶかわからない」という問題の方が大きいです。
「納品のない受託開発」であれば、お客さんのビジネスの進化に合わせて継続的かつ柔軟にシステムを変更していく、ということが可能です。

なので、システムを作る側も、開発をお願いする側も、ウォーターフォール開発に比べると圧倒的にストレスが少ない開発スタイルだと思います。
まさに「win-winの関係」ってやつですね。

それにウォーターフォール開発だと、使うかどうかわからない機能も事前に作るかどうか決定しなければなりませんが、「納品のない受託開発」であれば「最初はその機能無しでリリースする。本当に必要になったらそのタイミングで機能追加する」という選択肢が採れるので、開発コストの節約にもなります。

今回、自宅のリフォームで「THE☆ウォーターフォール開発」に巻き込まれながら、「あ〜、家のリフォームも『納品のない受託開発』スタイルでできたらいいのにな〜」と何度も思った次第です。

まとめ(と、We're hiring!)

前述の通り、「納品のない受託開発」は発注者側だけでなく、開発者にとってもメリットがあります。
お客さんと直接やりとりをしながら、二人三脚でシステムを開発していくのはとても楽しい作業です。
バリバリコードを書きたいけど、ウォーターフォール開発だとなんかすごくストレスが溜まる……と考えている開発者のみなさんは、「納品のない受託開発」プログラマになると幸せな開発者体験が待っているかもしれません。

興味がある方はぜひソニックガーデンのホームページを覗いてみてください😘
www.sonicgarden.jp

あわせて読みたい

「納品のない受託開発」について詳しく知りたい方は社長の倉貫さんが書いたこちらの書籍もどうぞ。
現在では変わった点もいろいろありますが、基本的な考えは大きく変わっていません。

「納品」をなくせばうまくいく

「納品」をなくせばうまくいく

  • 作者:倉貫義人
  • 発売日: 2014/07/18
  • メディア: Kindle版

Chromeの画面通知が出ないときの確認ポイント & M1 Macを仕事で使ってみた感想

最近M1 Macを買いました。というか会社に買ってもらいました。(感謝🙏)

開発環境を旧マシンから移行していってるんですが、会社で使っているチャットツール(Remotty)のChrome通知の動きがおかしかったので、確認ポイントと解決策をメモしておきます。

発生していた問題

チャットツールで新しいコメントやメンションがあったときのChromeのブラウザ通知が、音だけ聞こえて画面上の通知(下記画像)が出ない。

f:id:JunichiIto:20210323192925p:plain:w300

確認したポイント

サイト設定(問題なし)

URL入力欄の鍵マークをクリック→Site settingsを開く→Permissions > NotificationsがAllowになっているか?(なっていた)

f:id:JunichiIto:20210323173458p:plain:w300

あ、ちなみに僕は英語モードでMacを使っています。

Do Not Disturb設定(問題なし)

System Preferences > Notifications > Do Not Disturbで、通知を出さないような設定になっていないか?(なってないので問題なかった)
f:id:JunichiIto:20210323185858p:plain

今回の解決策 = System Preferences上のChromeの通知許可を許可する

System Preferences > Notifications > Google Chromeで、通知が不許可になっていないか?→なっていたので通知を許可した(解決!)
f:id:JunichiIto:20210323190133p:plain

これでめでたく通知が表示されるようになりました🎉

Special thanks

このエラーの解決策を一緒に探してくれた弊社ソニックガーデンのメンバーに感謝!🙏

おまけ:M1 Mac、どう?

速くて熱くならない=期待どおりのパフォーマンス

まだ使い始めて数日なので最終的な結論は出せないですが、おおむね良いです。
今まで使ってたMacBook Pro(Intel Mac)は2コアでM1 Macは8コアなので、コア数が多いぶん全体的に処理に余裕を感じます。
動きもIntel Macに比べるとキビキビ動きます。
キーボードの入力も反応が速くなったように思います。
(というか、Intel 2コアが遅すぎた)

今まではちょっと大きなRailsプロジェクトをRubyMineで開いたり、ビデオ会議で画面共有したりするとすぐにMacが熱くなってファンがうなりを上げていましたが、M1 Macでは今のところそういう現象が起きていません。
本体を触ってもほんのりぬくもりを感じる程度です。

そもそもなぜ僕がM1 Macに買い換えようと思ったのかというと、「これからだんだん暑くなってくる季節に、このIntel Macじゃもう乗り切れん!」と思ったからです。
RubyMineの動きもだんだん重くなってきたので、Intel Macじゃ開発効率が悪い、というか今のご時世に2コアじゃ全然足りない!と思いました。

というわけで、今のところ重たい処理も涼しい顔でこなしてくれるし、8コアでマルチタスクも効率良く処理してくれるので、M1 Macはとっても快適!という感想です。

開発環境としてはやや不安あり(でも現状はなんとかなってる)

その一方で、RubyやRailsの開発環境としてはまだちょっと不安が残る感じです。
Intel Macでは遭遇しなかったようなエラーがたまに発生するので、「えっ、もしかしてこのライブラリはM1 Macにはインストールできない?」とか思って焦ります💦

変なエラーが起きたときは、

  • ググって解決策を見つける(8割ぐらいは解決策や回避策が見つかる印象)
  • ググっても解決策がない(Issueは報告されているが誰も解決していない)ときは、そのツールを捨てる方向で動く

という対処方法でなんとか乗り切っています。
でもそのうちどうしても乗り越えられないエラーが出てくるんじゃないか?と少しビクビクしています。。

あ、ちなみに僕は開発環境構築にDockerは使っていません。
あと、Virtual BoxみたいにM1 Macに対応していないミドルウェアは最初からM1 Macに移行するのを諦めています。

自分が使っているアプリやツールがM1 Macに対応しているかどうかは、下のサイトでチェックすると便利です。
isapplesiliconready.com

すべてのツールがM1対応するまで、もうしばらくIntel Macは手放せないですね。

あわせて読みたい

前回、Intel Macを買ったときのブログ記事です。
買ったときから「あんまり速くないな〜、このマシン・・・」という印象だったんですよねえ😑
blog.jnito.com

災害時の停電に備えてポータブル電源を買った

はじめに

以前から「いざというときに備えて何か買っておかなければ」と思いながら、ずっと後回しにし続けていたポータブル電源をようやく買いました。
Amazonで見つけたNEXPOWというポータブル電源です。

f:id:JunichiIto:20210307114856j:plain

MacBook ProはUSB-Cで直接つなげます。

f:id:JunichiIto:20210307115013j:plain

ふつうにコンセントを差すこともできます。(この写真はちょっと無理矢理感がありますが💦)

f:id:JunichiIto:20210307115523j:plain

容量は48000mAhで、iPhoneなら10回ぐらい充電できる容量があるみたいです。
価格はAmazonで1万3000円ぐらいでした。

なぜ買ったのか

もし地震や台風で停電になったときに、最低限スマホぐらいは使えるようにしたかったからです。
何も備えがないと「ヤバい、ここでスマホの充電が切れたら何も状況がわからん!!」とヒヤヒヤしそうですが、ポータブル電源があれば「とりあえずスマホの電池だけはしばらく何とかなる」と安心できそうな気がします。

というか、2018年にもたまたま大阪のホテルに一人で泊まっていたときに大地震に遭遇したのですが、このときも「スマホの電源が切れたら家族に連絡が取れなくなるのでマズい!」と思ってヨドバシカメラで小さなバッテリーを買いました。
blog.jnito.com
サバイバル状態になったときにまず何を確保したい?って聞かれたら、僕は「スマホとスマホ用の電源」と答えるかもしれません。
情報収集さえできれば次の一手をいろいろ検討できますが、何もインプットがないと自分の勘以外頼るものがなくなってしまうからです。

あれこれ考えた選択肢

もちろん、スマホに限らず生活する上で電気は必要不可欠なので、他にもいろいろ選択肢を考えました。

太陽光発電+蓄電池?

家中の電化製品をほぼ不自由なく使おうと思ったら太陽光発電システムと蓄電池が必要になりそうです。
とりあえず見積もってもらおうということで、ハウスメーカーのセキスイハイムに見積もりを頼んだところ、「4kWでウン百万円」と言われ、「いつ使うかわからないもののために○百万円はちょっとなあ・・・」という気持ちになりました😅
もちろん、売電できたりするメリットはあるんでしょうけど、ちょっとハードルが高すぎます。

Solar panels on stable / shed

電気自動車 or ハイブリッド車?

電気自動車やハイブリッド車も災害時は緊急電源として役立つみたいですね。
とはいえ、特にわざわざ乗り換えたいと思うような電気自動車もないので、「災害時に役立つから」という理由だけで車を買い換えるのはやはりハードルが高いです。
Toyota Prius

小型ガソリン発電機?

燃料にガソリンを使う発電機も売っています。これだと10万円を切るぐらいの価格なので太陽光発電や電気自動車に比べればまだ現実的な選択肢になってきます。

ただ、ガソリン発電機ってガソリンの長期保存が問題になるみたいですね。
ガソリンは半年から1年ぐらいで使えなくなるんだとか。

半年ごとにガソリンを買い換えるの?いやー、絶対面倒くさくなって放置してしまうわー。
それに扱いを間違えたら大事故になっちゃうし、ちょっと怖い。
というわけで、ガソリン発電機もNG。

カセットガスボンベ式発電機?

カセットガスボンベで発電する発電機もあるみたいですね。これは今まで知らなかった!
ガスボンベなら6〜7年保存が利く上に、ガソリンほど神経を使わなくても良さそうです。(それでも事故が起きたら怖いですが)

イワタニ カセットガス 専用ボックス入り 12本組 CB-250-OR-12BOX

イワタニ カセットガス 専用ボックス入り 12本組 CB-250-OR-12BOX

  • 発売日: 2017/10/06
  • メディア: ホーム&キッチン

「へ〜、いいじゃん」と思ったのですが、それでもちょっといいやつはやっぱり10万近いお値段がします。

それに災害のときに備えてカセットボンベを備蓄するのもなんだかな〜という気がしました。
我が家にはカセットコンロがないので、カセットボンベを買っても他に使い道がないんですよね〜。

悪くはなさそうだけど、かといって「よっしゃあ!」とすぐに飛びつく気持ちにはなれませんでした。

ポータブル電源(のいいやつ)?

となると、あとはポータブル電源かなあ、となってきます。
しかし、これが結構ピンキリというか、容量が大きいものは4〜5万円します。

災害が起きたときは容量が大きいほど安心できるし、スマホの充電以外にお湯を沸かしたりする用途にも使えるかもしれない・・・とは思うものの、それはあくまで「もし災害が起きて停電したら」という条件付きになります。
日常生活を送る上ではわざわざポータブル電源を使う機会はまったくありません。

え?キャンプで使えばいいじゃん、って?
やだなあ、超インドア人間の僕がキャンプになんて行くわけないじゃないですか〜。(真顔)

僕の結論:上を見るとキリがないので、下を見ることにした

というわけで、いろいろ考えた結果わかったことは「安心を求めて上を見ると、キリがなくなる」ということです。

太陽光発電と蓄電池を付ければ安心という面では最強ですが、お金がかかりすぎます。
ポータブル電源も容量を大きくすればするほど安心ですが、価格が上がります。
そして価格を上げていって「良かった、いいやつ買っといて大正解!」と思えるのは大停電が起きたときだけです。
何も起きなければムダ金(言い過ぎ?)になってしまいます。

というわけで、作戦を変えました。
一番下から上に上がっていき、自分の中で「これぐらいのレベルなら必要最低限のニーズは満たせるかな」と思えるラインの商品を探すことにしたのです。
今回はその作戦で安いポータブル電源から順に見て行き、「まあこれがあればスマホの充電は数日心配しなくても良さそうだな」と思える商品を選びました。
それが冒頭で紹介したNEXPOWのポータブル電源です。

1万3000円程度なら出費としても痛くないし、それで万一の不安が軽減できるならコスパ的には十分だと思います。
もちろん何が起きるかわからないので、災害の規模によっては「こんな小さなポータブル電源じゃ全然役に立たんかったわー!!」と嘆く可能性も大いにあります。
ですが、そこは「わからない未来の話」なので、そのときはそのときです。

そういう「もしかしたら」という思いに負けて「やっぱりもうちょっといいやつを・・・」と上を見始めると、元の木阿弥になってしまうので、「今回はこれで十分!!」と自分に言い聞かせることにしました。

ついでにポータブルラジオも買いました

さっきは「停電してもスマホさえあれば安心できる」みたいな話を書きましたが、災害の規模によってはもしかするとスマホの電波すらつながらない状況に陥るかもしれません。
そういった最悪の状況も考えて、ポータブル電源と一緒にポータブルラジオも買いました。

f:id:JunichiIto:20210307143534j:plain

これはAmazonで1700円ちょっとでした。
ポータブル電源と合わせて約1万5000円也。
「買ってもいつ使うかわからない。でも全く何もないのも心配」という心の不安を打ち消すには、十分なコスパのお守りなんじゃないでしょうか?

ちなみに、バッテリーもラジオも半年に一回程度、充電と動作確認をしようと考えています。
なので、Googleカレンダーに繰り返し予定をセットしておきました。

まとめ

というわけで、今回のエントリでは災害時の停電に備えてポータブル電源(とポータブルラジオ)を買った話を書いてみました。

何がベストな選択肢になるのかは災害が起きたとき次第、それは神のみぞ知る、といった感じですが、僕と同じように「何か買っておきたいけど、いったい何を買えばいいんだろう?」と考えている人の参考になれば幸いです😄

パナソニック FM/AM 2バンドレシーバー (シルバー) RF-P155-S

パナソニック FM/AM 2バンドレシーバー (シルバー) RF-P155-S

  • 発売日: 2016/11/25
  • メディア: エレクトロニクス