エンジニア開発環境

【Pick Up!】所属エンジニアによるブログ記事でもお仕事について詳しくお伝えしております。

ユーザー満足度を高めるのはカスタマーサポートだけではない。

ユーザー満足度を高めるのはカスタマーサポートだけではない。

大規模なインターネットコンテンツを運営する中で、日々膨大なユーザー様からのご意見・クレームが寄せられます。過去の我々は顧客満足度はカスタマーサポート部署により高めていくという発想でした。当然それも大切な考えで徹底しなければなりませんが、ユーザーが疑問に思ったり、不快に思ったりする事の発端は技術的な不具合や、不親切な導線設計にも大きく起因しています。開発を通じてエンジニアも顧客満足度を高められる存在で、エンジニアこの運営の中心人物です。

■開発環境

OS:主にはMacOSでの開発を推奨しており、入社後MacbookAirかiMacにて開発に着手頂きます。WindowsOSを希望される方も対応しております。

モニター:開発効率を高める為複数モニターでの開発を推奨しております。縦モニターにすることでソースを俯瞰的に見ながら開発するスタッフもいます。

img_engineers-environment01

構成、ツール、技術スタック
・環境構築、構成管理:Vagrant、Chef
・CI・デプロイ: Jenkins, Deployer
・コラボレーション: Slack
・バージョン管理: Git/Bitbucket
・テスト:PHPUnit, Codeception, PHPSpec, Selenium
・監視:New Relic, zabbix, Cacti
・開発手法:スクラム開発、TDD/BDD

運営しているサービスが15年経過しており過去のソースの負債が残っている箇所もあり、「誰が書いたソースか分からないが重要なソースで触りにくい」というような事は弊社でもあります。長寿運営のサービスにつきものの”あるある”の話ではありますが、今後の入社するエンジニアの方が少しでも開発・保守がしやすいように開発環境のモダン化を進めております。

■開発プロセス

株式会社リアズは運営コンテンツ毎に複数の開発チームが同時進行しておりますが、スクラム開発(アジャイル開発手法の一つ)を重んじており、自社開発だからこそできる柔軟な開発思想にのっとり日々チームでPDCAを回しております。

・毎朝のデイリースクラム
出社後すぐに15分間のスタンディングのミーティングを行います。

IMG_8570

3つの質問

▼昨日したこと
チームが短期目標を達成するために、私が昨日したことは何か?

▼今日すること
チームが短期目標を達成するために、私が今日することは何か?

▼気になる事・モヤモヤ・懸念点
チームが目標を達成するために、自分とメンバーの障害となるものはあるか?

開発状況を同期し、次の24時間を計画していきます。この日々の小さなミーティングが大きなズレの防ぎ、結果として開発能率を高め、チーム全体が一丸となって難易度の高い長期的な開発に取り組めます。現在、全開発ラインがこのスクラムを導入しているわけではありませんが、導入しているチームでは効果が現れており、順次その領域を広げていく予定です。

・スケジュールミーティング
毎週月曜日に当該の週のスケジュールを組みます。事業方針や優先順位に基づき着手すべきタスクを精査してスケジュールを組んでいきます。短期サイクルでスケジュールをすることで業界の早い変化に対応し、柔軟な運営を開発現場が支援できます。例えば「週末のイベントで発生した過負荷に対する対応」などは、即時優先順位が上げられプライオリティ高く扱いますので、修正等の対応が機敏になります。

・振り返りミーティング
デイリースクラムと対になる形で行っている振り返りミーティング。その週の開発進捗状況をメンバー同士で1時間ほど協議します。そこでもホワイトボードの「カンバン」を利用して可視化しながら齟齬が発生しないよう丁寧に分析していきます。「K(Keep:良かったこと・続けたいこと)」「P(Problem:問題点・改善したいこと)」「T(Try:試したいこと)」をそれぞれ出し合い、問題認識あらたに挑戦したい分野など様々な角度で意見交換を行う貴重な時間です。

■エンジニアランチ

隔週の金曜日にエンジニア全員でお昼ご飯を食べる「エンジニアランチ」を開催しています。昼食代は会社が全額負担になっており、日々の業務で知り合えた新しいトレンドや、セキュリティ対策、その他便利なツールなどを情報交換します。別の開発チームに属しているが、共通の問題を抱えていたりする場合は、このようなチームを横断する場において、情報が共有され問題解決の近道になるケースもあります。弊社ではそういった偶発的なコミュニケーションによる業務改善を重視しており、「サイコロランチ」など開発者以外とも昼食に行くような仕組みを導入し、コミュニケーションの質と量のバランスをとり、組織力向上を図っております。