受発注機能をリニューアルしました

先週木曜日にMisocaの受発注機能のリニューアルをしました。受発注機能というのはMisocaで受注の業務を簡単にする機能です。(詳細:https://www.misoca.jp/ordering )

この機能はReactとReduxというMisocaに今まで使ってなかった技術(Javascriptライブラリやフレームワーク)を採用しました。今回はこのチャレンジについて書きたいと思います。

MisocaのようなWebアプリケーションの場合、開発をコードが動く場所で分けると、コードがサーバ上で動く「サーバサイド」と、ユーザーのブラウザ上で動く「フロントエンド」に分けられます。

このうちサーバサイドの方は言語としてRubyと、そのアプリケーションフレームワークとしてRuby on Railsを使っており、基本的に常に最新版を使うということをしています。

一言に「最新版を使う」と言っても、新しいバージョンに対応するときは様々なテストが必要になるし、使えなくなる機能も出てくるのでアプリケーションの規模が大きくなればなるほど大変になります。しかしこの新しいバージョンへの追従をサボると新しい機能は使えなくなりますし、メンテナンスされないライブラリ等を使うことになりセキュリティレベルも低くなっていきます。

ですので、それなりのコストをかけてでも最新版を使っていくというのはとても大切なことですし、それが当たり前になっている開発というのは自慢できることです。

一方フロントエンド側についてはあまり自慢できる状態ではありませんでした。基本は2011年に私とマツモトが不得手ながら頑張って作ったものがベースになっており、その後もなんとかしたいと思いつつも手をつけられていませんでした。今回導入したReact+Reduxというのはこの部分の改善のためのものです。

そして、今回のリリースでそんなモヤモヤを払拭できました。めでたし。めでたし。

と、ここで終われればいいのですが、今回のリリースまでにはいろいろなことがありました。特に一番大きかったのは受発注以外の部分もリニューアルをしていたのを中止したことです。長いあいだ取り組んできたのですが、予想以上に時間がかかったことから他の機能のリリース予定との兼ね合いで断念しました。

時間がかかったのは新しい技術の導入にもかかわらず、デザイン的な変更や機能的な変更も盛り込んでしまったためでした。私の経験不足・判断ミスだったと反省しています。

今回の開発ではその時の反省を活かして進められました。技術習得も進んでいたためスピードもアップしています。プロジェクト管理についても新しいチャレンジができてうまくいきました。

プロジェクトの中止は非常に残念で辛いものでしたが、その時の失敗を反省しチームで学びに変えられたと感じています。今回のリリースから新しくなったフロントエンド開発も活発にしていき、さらに良いサービスにしていきたいと思います。

プロジェクトを始める時にオススメのインセプションデッキの紹介

こんにちは、豊吉です。引き続き新しいプロジェクトに取り組んでいます。

Misocaでは必ずプロジェクトの開始時に「インセプションデッキ」というものを作るようにしています。インセプションデッキというのはプロジェクト開始時にしておくといい10個の質問とその回答のことで、「アジャイルサムライ」という書籍で詳しく紹介されています。

普通のプロジェクトのキックオフミーティングと大きな違いはありません。ただこの10個の質問が非常によく考えられていて鋭いので、新規プロジェクトにおける「やな予感」「悪い臭い」を察知できますし、その後も各自が自主的に動くための指針となります。

例えば悪いキックオフミーティングでこう思ったことはないでしょうか

・「なんのためにやるプロジェクトだっけ?」
・「社長が言ってるようなシステムはこの納期では絶対にできないけど・・・まいっか」
・「社長が言ってるシステムと、マネージャーが言ってるシステムは違うようだけど・・・まいっか」
・「リリース後にやる仕事が結構あるはずなんだけど・・まあ誰か考えてるよね」
・「機能Aの品質を上げるためなら機能Bについては最低限の機能提供だけでいいと思ってるけど、当然みんなもそう思ってるはずだよね?」

社会人の皆さんなら、こんな疑問があるまま進めてプロジェクトが失敗した経験が何度かあるんじゃないでしょうか。こういったことをできるだけ避けたいのであればインセプションデッキの質問について皆で考えるのはオススメです。

Misocaではプロジェクトのテンプレートとして下記のようなことについて考えるようにしています。

## 我われはなぜここにいるのか?

「なぜ」を明確にしよう!

何のために自分たちはチームを組むのか。自分たちの顧客は誰なのか。そ もそもこのプロジェクトが始まった理由は何なのか。こうしたことを再確 認する。

## エレベーターピッチを作る

30 秒以内に 2 センテンスでプロジェクトをアピールするとしたら、何を伝 えるべきだろうか?」」

## やらないことリストを作る

プロジェクトで実現したいことというのはかなり明確になっているもの だ。それと同じかそれ以上に、やらないこともはっきりさせよう。そして それをわかりやすく一覧にするんだ。

##「ご近所さん」を探せ

「プロジェクトの関係者」に含まれる範囲というものは、自分たちが思っているよりもずっと広いものだ。そうした「ご近所さん」を招いて、コーヒーでもごちそうしながら自己紹介ぐらいしてもいいんじゃないだろうか。

コアチームメンバー

プロジェクト関係者

これらを列挙しよう

## 解決案を描く

チーム全員の認識が揃っていることを確認するために、概要レベルのアー キテクチャ設計図を描こう。

## 夜も眠れなくなるような問題は何だろう?

プロジェクトで起きる問題のなかには、考えることすら恐ろしいものだってある。だが、あえてそうした心配事について話し合おう。どうすれば最 悪の事態を避けられるだろうか? 被害を最小限に食い止める方法はあるだ ろうか?

失敗するとしたらどんなことがあるか?

それを防ぐにはどうすればいいだろう?

## 期間を見極める

どれぐらいの期間が必要なプロジェクトだろうか? 3 ヶ月? 半年? それ とも 9 ヶ月?

ざっくりしたタイムラインはどうなっているだろうか

## 何を諦めるのかをはっきりさせる

プロジェクトにはいくつか操作可能な要素がある。期間、スコープ、予算、 それから品質。現時点で譲れない要素はどれだろう? 譲ることになるのも やむを得ない要素はどれだろう?

期間、スコープ、予算、品質に14の順番をつけよう

## 何がどれだけ必要なのか

期間はどれぐらいかかりそうか? コストは? どんなチームならプロジェ クトをやり遂げられるだろうか?

責任者

予算

いつ完了するか

決めよう

この中でも私が特に重要だと思うのは

・我われはなぜここにいるのか?
・夜も眠れなくなるような問題はなんだろう
・何を諦めるのかをはっきりさせる

の質問です。

我われはなぜここにいるのか?

当たり前のようで意外と一致してないのがこの質問です。たとえ「ユーザーの利便性向上のため」で一致していても「顧客のどの課題を解決するのか」ということは一致していないことが多いと思います。

夜も眠れなくなるような問題はなんだろう

これが出てこないということであれば、誰も考えていないか、言い出しにくい空気のあるプロジェクトだということです。プロジェクトが開始できる状態なのかどうかの良い指標になる質問だと思います。

何を諦めるのかをはっきりさせる

これを決めることで各自が自分の判断で動けるようになります。Misocaでいうと

「○は納期優先のプロジェクトなので実装をやめておきました」
「Xは品質優先なので納期を伸ばしたいです」

というような意見が上がり勝手に進んでいくことがあります。優先度についてしっかり話しておくことで誰かの判断を仰ぐことなく進めていけるわけです。

いかがでしたでしょうか。インセプションデッキは単なる質問ですので、今のプロジェクトにチームで導入できなくても自問自答してみるだけでもプロジェクトにいいことがあるかもしれませんね。

さらに詳しく知りたい人は書籍の方をどうぞ

アジャイルサムライ――達人開発者への道 | オーム社 eBook Store : https://estore.ohmsha.co.jp/titles/978427406856P

採用の選考でよく聞かれることを紹介します

こんにちは、選考プロセスでよく聞かれる質問をまとめました。これらのことはうまく発信できていないことだと思うので、ぜひ知っていただけたらと思います。

Misoca以外の事業もやっていますか?

MisocaとMisocaに関連する事業しかやっていません。受託開発などを過去にやっていましたが、現在はMisocaに集中するため関連事業のみとなっています。

どんな感じで開発をしていますか?

GithubやSlackやTrelloといったサービスを活用しながら開発をしています。開発のプロセスについてはMisoca開発ブログに詳しくまとめてあります。ぜひご覧ください。

Misoca開発プロセス2016年版

何人ぐらいでやっていますか?

役員含めると13人(2016年11月現在)です。社員のほとんどが開発者です。2倍、3倍と規模を大きくしていきたいと考えています。

小さな会社なので家族が不安に思ってます。

2016年2月まではなんの保証も支援もない会社でしたが、現在は親会社が弥生株式会社です。そして弥生株式会社の親会社はオリックス株式会社です。ですので資金的なリスクは非常に小さいと考えていただいてよいかと思います。当然事業は継続的に成長させていく必要がありますので、それは一緒に頑張りましょう。

リモートワークの場合、月に何日オフィスに出社するとかありますか?

特に決まりはありません。ただ、あまりにも会わないのは良くないので四半期に一度は名古屋のオフィスに来てもらって顔を合わせたりしています。入社時だけは2〜4週間ほど名古屋に来ていただいてチームに馴染んでもらう期間を作っています。

どうして採用をしているんですか?

「Misocaってもうやることないのでは?」と言われることがありますが全然そんなことはありません。

わかりやすいところでいうと、今のMisocaというのは元々私が使いたくて作ったものです。なのでシステム開発やWeb制作、各種自由業の方には充実してきています。しかし製造や卸、小売といった業種には足りない機能がまだまだあるので今後対応していきたいと考えています。

他にも未来にあるべき取引のプラットフォームという点で考えると、まだMisocaがカバーできる範囲というのはたくさんあると考えています。例えば今だとこういう事ってないでしょうか

・この新しい取引先って信用できるのだろうか。調べてみよう
・この取引について契約書を作らなきゃ。印刷しよう
・支払いが遅延しているな。連絡してみよう

こんな感じで、取引に関して不安だったり実作業が発生することがまだまだあります。こういったことも一つ一つMisocaで発生しなくしたり、自動化していけるんじゃないかと考えています。

Misocaのエンジニア採用プロセス2016秋(3)

Misocaのエンジニア採用プロセス2016秋(2)の続きです。今日は二次選考(以下ミニプロジェクト)について紹介します。

二次選考(ミニプロジェクト)

ミニプロジェクトは1日会社に来てもらいペアプロをしたり小さなプロジェクトに取り組んでもらう取り組みです。その中でコミュニケーション、設計、実装、自己管理力などを総合的に評価ことが目的です。

以前は「より実践的に」というのを優先して数日にわたるプロジェクトを有償/無償で遂行してもらうという試みもしていましたが、双方に負担が大きいので現在は1日で終わる内容でやるようになりました。

ミニプロジェクトは次のように進めます。

午前

全日の流れや社内の案内をしたあと、ちょっとしたプログラムの課題にMisocaのエンジニアとペアプロで取り組みます。ペアプロは45分×2セットで行います。

昼休憩

一緒にランチに行きます。

午後

3時間程度を目安に、あらかじめ用意しておいたMisocaに関係するプロジェクトに取り組んでもらいます。

この時名古屋勤務でない人については「擬似リモート勤務」ということで別室でプロジェクトに取り組んでもらいチャットやビデオ通話などでコミュニケーションをとり、実際にリモートワークになったらどうなるのか体験してもらいます。

この1日の流れで私が気に入っているのはペアプロの部分です。その人がどうやって考えるか、どのように問題を解決しようとしているかという過程が見れるので、単に書いたコードの何倍も応募者のことを知ることができます。また、逆に応募者の方もMisocaの人の考え方やレベル感というのがわかってもらえるのではないかと思います。

私は高専を卒業してどこにも就職しなかったのですが、就職活動が嫌だった理由の一つとして「誰と働くのかわからない」ということがありました。そういう意味でペアプロを通じてお互いがどういう人間なのか知れることはとてもいいことだと思っています。

最後に

これまで3回にわたってMisocaの採用プロセスについて書いてきました。まだまだ試行錯誤を続けていくので来月には全く別のプロセスになっているかもしれません。しかし「どんな人と働くのかお互いに知れる」といった大事にしていることは変わらないでしょう。

このエントリーを通じてMisocaの採用に対する考え方などが伝わればいいなと思ってます。

Misocaのエンジニア採用プロセス2016秋(2)

Misocaのエンジニア採用プロセス2016秋の続きです。今日は選考に入る前の会社見学と一次選考について紹介します

会社見学

必須プロセスには入っていませんが、Wantedly経由の場合や知人の紹介などの場合は会社見学に来てもらうことが多いです。会社見学は交通費支給にしています。

目的はオフィスの雰囲気、リモートワークの様子などを見てもらうこと、入社したらどんな人と働くことになるのか知ってもらうことです。

スケジュールとしてよくあるのは昼頃に来ていただき会社を見てもらい、開発者とランチに行くコースです。時間としては3時間程度、ランチがなければ1時間程度で終わります。

事前に本人の希望を聞いて、具体的に転職を考えているのであれば私と1:1で話す時間をとってMisocaについて詳しくお話しさせてもらったりもします。

転職を考えてなくても見学にくるだけの人もいます。私としてもMisocaを知っている人が増えることも採用活動の一環だと思うので気軽に参加してもらえたらと思います。

一次選考

一次選考はオンラインでGoogleハングアウトを使うことが多いです。オンラインでやる理由はまずはお互いに移動時間を節約できるからです。さらに副次的なメリットとして応募者の服装や振る舞いなど、仕事の能力と関係ないところを見ないで済むということもあります。

30分ぐらいの時間でお互いに自己紹介をして、残りの多くの時間を気になってることや質問に答える時間に使います。

工夫していることとして面談は採用担当者ではなく、私や一緒に働くことになるエンジニアが出席するというのがあります。Misocaのような小さな会社の場合は「どういう人と働くか」「共感できる考えを持った会社・経営者なのかどうか」ということが重視されるだろうと考えるからです。

そして「どういう人と働くか」というのは現メンバーにとって非常に大事なことです。ですので私がいい人だと言っても、開発者がNoと判断した場合は二次選考に進めることはありません。

今回は会社見学と一次選考について紹介しました。明日は二次選考のミニプロジェクトについて紹介します。ミニプロジェクトは会社に来てもらって入社体験してもらう特別な選考です。

豊吉隆一郎

株式会社Misoca代表取締役

2002年より名古屋にてフリーランスとしてWeb制作を始める。
2011年6月、株式会社Misoca(旧スタンドファーム株式会社)を設立。

趣味はマラソン、将棋、マニュアル化。
CSNagoya勉強会共催者、名古屋Ruby会議スタッフ、OSCNagoya2011実行委員長など

請求書サービスMisoca
やよいの青色申告オンライン

ビジネステンプレート

経理の教科書

便利な見積項目リスト

最新記事

カテゴリ