1
/
5

「人月ビジネスへの不満から芽生えた生産性向上の決意」技術選定から開発に至るまで生産性を重視する想いと仕組み

「目先の利益を優先するシステム会社と取引をして嫌な思いをして、Veogleに切り替えたお客様もいます。同じ思いをして欲しくない。」そう語るのはアーキテクトの齋田です。

前職のSIerで、生産性が低くても成り立つ環境に問題意識を持ち、Veogleでは常に生産性を重視する姿勢を持っていることが感じられました。

今回は齋田にVeogleのアーキテクチャに関する思想から、開発の生産性を上げる方法、そしてより良い組織を築くための取り組みについて聞きました。


技術選定では多数ある選択肢の中から、”生産性を高める”ことを重視

ーまずは簡単に自己紹介をお願いいたします。

コンピューターが好きでプログラミングを仕事にしたく2008年に新卒でSIerに入社しました。入社後はシステムエンジニアの肩書きで主に金融機関向けのシステム開発に従事していました。。その中でVeogle代表・小松と出会い、一緒に仕事をしました。小松がVeogleを創業するにあたり誘いを受ける形でVeogleに入社しました。

小松は豊富な知識や経験を積んでおり、一緒に仕事ができたらいいなと思いVeogleへの入社を決めました。小松とは師弟のような関係です。

ー現在担当している業務を教えてください。

Veogleではソフトウェアアーキテクトやシステムアーキテクトを担当しています。

お客様向けに担当している業務は大きく3種類あります。

1つ目は、新規でシステム構築を希望するお客様へのコンサルタント業務です。内製エンジニアが不在でシステムに詳しくないお客様に対して、ビジネスの内容や予算に合わせたシステム構築を提案しています。

弊社のサービスである受託アジャイル開発において、技術面でシステム構築の中核的な働きを私が担当しています。

2つ目は、技術的な負債の調査分析や問題解決に向けたアプローチを提案する業務です。内製エンジニアを抱えており、稼働するシステムや技術的な負債が溜まるなどの悩みを抱えるお客様の相談に乗っています。

3つ目は、生産性の上がらない開発チームの悩みを解決するコンサルタント業務です。エンジニアリングのアドバイスや共通のライブラリ作成といった生産性向上のための仕組みづくりをサポートしています。

ーアーキテクトとして最も重視していることを教えてください。


私はアーキテクトとして、生産性を高めることを1番大事にしています。システムを構築する際は技術選定をする必要があります。一般的に、技術選定は、その時の流行りの言語や技術、アーキテクトの好みや経験、開発チームメンバーのスキル、またお客様の予算など、どのような技術を用いるかは様々な観点で決めていくかと思います。

我々の場合は、多数ある選択肢の中から、生産性を高めることに重点をおいて技術選定をしています。

以前SIerで働いていたときには、生産性が低い状態であっても収益を確保できる構造になっていました。SIerはいわゆる人月ビジネスで、成果が人の投入時間に比例することが前提になっていたため生産性の低い仕事をしても成り立ってしまっていたんです。その状況にお客様への価値提供だけでなく、自分自身の仕事に対してもフラストレーションを感じることが少なくなく、そこを変えたいという想いが募っていました。

そのような想いから、Veogleでは生産性を高めてスピード感を持ったシステム開発を意識するようにしています。生産性を高める姿勢は、弊社の強みにもなっていますね。

ー生産性を重視していると伺いましたが、なぜそこまで生産性を大事にしているのですか?

今お話ししたSIerで働いていた時の不満が生産性を高める意識に繋がっています。単に要望通りのシステムをつくるだけでなく、お客様の限られた予算を無駄にせず価値提供をして、長期的にVeogleと仕事ができる関係になれたらと思っています。代表の小松はお客様に価値を提供することを「お客様を勝たせる」と表現していますが、会社全体としてもそのカルチャーが根付いています。

また、目先の利益を優先するシステム会社と取引をして嫌な思いをして、Veogleに切り替えたお客様もいます。同じ思いをして欲しくないので、生産性を高めて満足して欲しいと思っています。

ナレッジを蓄積、ドキュメントの整理で効率的に開発ができる仕組みを構築


ー生産性を高めるために、具体的にどのような取り組みをしてるのか教えてください。

これまで仕事をした経験や知識をナレッジ化して、社内で共有しています。新しくサービスを開発するときや課題に直面した時には、蓄積したナレッジから過去の情報を確認します。

今はインターネット上に様々な有益な情報が共有されていますが、真偽が定かでないものや自身の問題解決には繋がらない情報なども多数あります。最も有益なのは自らが実体験として得た経験や知識だと思います。

こうした実体験として得た経験や知識の積み重ねを、効率よく次の挑戦や課題に直面した際に活用できるかが、生産性を向上させるためには重要だと考えています。

そして、個人で得られる経験や知識の量は限られるため、社内でも共有をしています。

例えば、弊社のエンジニアチームではJavaの経験者が1番多いので、フレームワークとしてSpring bootを選ぶことが多いですが、複数のプロジェクトで同じようなコーディングをする場面がありました。毎回同じようなコーディングをするのであれば、次からは同じようなコーディングをしなくてよいようにと社内ライブラリを作成して活用するようにしました。

同じような例はコーディングだけではなく、プロジェクトを超えて、開発ガイドの整備やテンプレートドキュメントの作成などをしています。

多種多様のプログラミング言語やフレームワークを選択できる中で、新しい技術にチャレンジすることもあります。

技術的なチャレンジをする中で、蓄積したナレッジを使用して新しい壁にぶつかるリスクを減らしていますね。

ナレッジを使用して自分たちの生産性を向上させ、お客様へはテンプレートの作成や開発プロセス変更などの提案に役立てています。

ーその他、生産性を上げるために心がけていることはありますか?

疑問点や自分で解決できない問題があるときに、質問しやすい環境を整えています。例えば、朝会を開催して、前日の作業内容と今日の作業予定、現在困っていることをメンバーで共有しています。お客様先のチームを支援するときにも、従来の慣習に囚われず、コミュニケーションの機会を増やすための提案を行い、メンバー間での対話の時間を確保できるように努めています。

エンジニアが抱えている問題を気軽に話せるようにし、問題の解決策をアドバイスしています。

開発中にでてくる疑問点はあらかじめドキュメントにまとめておき、エンジニアが検索で悩む時間をなくすよう努力しています。

また、開発中は早めにレビューをする仕組みを整えて、手戻りが発生しないよう効率的に仕事が進むようにしています。

またミーティングは良い相談の機会になる一方で、非効率なミーティングは生産性を下げるので、非効率なミーティングはなくすように心がけていますね。例えば、多くのエンジニアが参加している会議で1人だけ長時間話している状態などはありがちな例かと思います。

ーアーキテクチャ設計の過程でお客様とのコミュニケーションが頻繁に発生すると思いますが、その際に特に意識している点はありますか? 

お客様には、システムの詳細な部分までお伝えして、お客様ご自身で選択していただくようにしています。私達が提案するシステムをそのまま採用してもらうのではなく、お客様自身が納得をしてから決断していただく提案や進め方を心がけていますね。

我々の提案とお客様の頭の中にあるイメージを煮詰めていった結果、我々も予想していない結果にたどり着く場合もありました。何度もお客様とミーティングを行い、より良いシステムを提案しています。

「風通しがよく、エンジニア同士が尊重し合える関係」積極的に改善を促し生産性が高まる組織に


ー開発組織をより良くするために、大事にしていることを教えてください。

理想の組織は、メンバー同士で会話がしやすく風通しが良い開発組織であることだと思います。またエンジニア同士がお互いに尊重し合える関係性も大事なので重要視しています。今のメンバーは気心知れたメンバーが集まっているので阿吽の呼吸で働けています。

他社のエンジニアチームの支援に参加する場合は、既存の文化を尊重しつつ、問題があれば積極的に改善策を提案しています。

私のSIer時代、すでに文化が醸成されている開発チームへ参加したときに、仕事のやり方に不満があってもそれを言えない状態がありました。そのような人たちをたくさん見てきましたし、そのままでは仕事の生産性は上がらないと思ったので、今は改善できることであれば積極的に提案しています。

ー最後に、どのような価値観を持った方がVeogleにマッチすると思いますか?

開発組織は生産性を上げることを大事にしているので、そこに共感できる人かなと思います。ダラダラと仕事をせずに、お客様に喜んでもらうシステムを作ることに共感するエンジニアはマッチしますね。

Veogleはシステム開発会社なので、さまざまな業種のお客様と仕事を行います。業種ごとに多種多様な悩みや解決したい問題があるので、新しいチャレンジにやりがいを感じて仕事を楽しめる人に働いて欲しいです。




株式会社Veogleでは一緒に働く仲間を募集しています
同じタグの記事
今週のランキング