ユニファ開発者ブログ

ユニファ株式会社プロダクトデベロップメント本部メンバーによるブログです。

七転び八起き。

こんにちは。 ユニファの開発エンジニアのマネージャーをしている田渕です。

年が明け、新型コロナに関しての状況が急激に変わってきました。 気づけば新型コロナの情報を日常的に耳にするようになってから丸二年ほど経とうとしています。

私はこちらのブログの中でこれまで、新型コロナに関しての記事を何度か書いて来ましたが、この二年の間に色々な試行錯誤がありました。 今日は、その試行錯誤と現在の状況について、改めてまとめていきたいと思います。

続きを読む

ユニファプロダクトの主要技術スタック

皆様あけましておめでとうございます、CTOの赤沼です。

昨年は多くの方に開発者ブログをご覧いただき、誠にありがとうございました。 今年もがんばって更新していきたいと思いますので、皆様引き続きよろしくお願いいたします。

さて、昨年最後の記事に引き続いてで何を書こうかと思ったのですが、総括的なことはすでに書いたので、今回は改めてユニファの主要な技術スタックを簡単にご紹介させていただこうと思います。 特に何か珍しいものがあるわけでもないのですが、保育をハックするためのICTサービスがどのような技術スタックで提供されているのかご興味お持ちいただけると幸いです。

続きを読む

チームメンバーに感謝しつつ新たなメンバーとの出会いに想いを馳せる

この記事はユニファAdvent Calendar 2021の25日目の記事です。

adventar.org

皆様メリークリスマス。ユニファでCTOをしてます赤沼です。 昨年の Advent Calendar は最終日当日のギリギリまで記事を書いていた気がしますが、この記事をご覧いただいているということは今年のユニファ Advent Calendar も無事完走できたということだと思いますので、まずは忙しい業務の合間で毎日のブログを書いてくれたチームのメンバーと、そしてお読みいただいている皆様に大感謝です。

Advent Calendar の最終日であり、かつ立場上どうしても一年の総括という空気なので、大人しく今年を振り返る感じの記事にしたいと思います。

続きを読む

決め方の数理3:挑戦の数理

いらっしゃいませ、本日のご注文は豚ロース?鶏ロース?それとも牛ロース?

これがほんとの三択ロース。

…というわけで、ユニファ 西川が開発者ブログ Advent Calendar 2021の24日目をお送りします。

暖まってまいりました。メリークリスマス🎅

adventar.org

続きを読む

GoogleのMLKitを使って画像のテキストを認識してみる

こんにちは。iOSエンジニアのキムです。

2021年ももうすぐ終わりますね。みなさんは今年はどんな一年だったでしょうか?私は仕事でとても忙しい一年でした。忙しい毎日でしたが、なんとかサービスへ貢献できて充実した一年だったと思えば、まだまだ力が足りないところがたくさんあるなと思う一年でした。大変だった時もありましたが、仲間たちと協力し合ってなんとかやり切って無事に年末を迎えることができました。

続きを読む

未経験から2ヶ月でAndroidエンジニアをやって悩んだことのメモ

この記事は、ユニファ Advent Calendar 2021の22日目の記事です。 adventar.org

こんにちは。人間中心設計(HCD)専門家のやまぐち(@hiro93n)です。主にプロダクトマネージャーやQAエンジニアを抱える部署のマネージャーをやっています。最近の主な悩みはイヤイヤ期への対応です。ひとつでもフラグを間違えるとゲームオーバーします。

さて本題ですが、少し前にAndroidエンジニアの一員として開発する機会がありました。今回はその時に感じたことのメモをご紹介します。新たにAndroidエンジニアになるぞ!と思った人が今後少しでも前に進みやすくなるきっかけになれば嬉しいです。

記事は長いので、先に求人募集を貼っておきます。ユニファでのお仕事やサービスにご興味があれば、募集フォームからでもDMからでもぜひカジュアル面談含めぜひご連絡ください。 unifa-e.com

続きを読む

プロジェクト管理で助けられている2つのツールと1つの想い

この記事はユニファ開発者ブログ Advent Calendar 2021 の 21日目の記事となります。

adventar.org

こんにちは、プロダクトマネジメント部の太田です。
私が現在のサービスに関わるようになって半年ぐらいでしょうか。 あっという間に時が過ぎ去ってしまう為、自身の振り返りも含めて、現在プロジェクト管理で役立っている2つのツールのご紹介と、プロジェクトを推進するチカラとなっている想いについてご紹介したいと思います。

まずは、プロジェクト管理・推進する単位を「毎日」と「週イチ」の時間軸で切って、それぞれで活用しているツール群の説明を進めていきますね。

1.「毎日」の場で役立っているツール:超絶基本「Jiraボード」様。

私が担当しているサービスは、新規開発の進行と共に、運用案件も同じエンジニアメンバーで遂行しています。

運用タスクは、毎日のように依頼が来て積み上がるなか、平行して新規開発タスクも同時に進めないといけない為、情報集約や取得に関しては気を配ります。
安易に運用と新規案件など複数ボードを作ってしまうと情報取得する為のコストがかかりすぎてしまうのを避ける為、とにかくここに来れば(ボードさえ見れば)「様々な側面での情報」に辿りつける。という場を作っています。

様々な側面の情報とは?

  1. 週次リリースするタスク
  2. 直近2スプリント分のタスク
  3. 運用タスク
  4. 新規開発タスク

上記のような観点で、情報整理をしています。

具体的なボードで見ていきましょう。(ぼかし多いな。一応ね)

f:id:unifa_tech:20211220144055p:plain

  1. 【週次リリースするチケット】毎週水曜日を定期リリースの日としている為、4週間分ほどの先が見通せるように、4つの週次チケット用のフィルターを常時。
  2. 【直近2スプリント分のチケット】1スプリント1週間で回しているので、直近2週間分の予定タスクを可視化。
  3. 【運用チケット】運用タスクを見失わない用に、直ぐ終わらせなくちゃあかんやつ用にフィルターで管理。
  4. 【新規開発チケット】そして最後に新規案件用のフィルター。案件は3~4個常に動いているので、毎にEpic設定しているのでその情報でフィルタリングしています。

毎日の朝会は、下記のような流れで進行しています。

  • 各人より。昨日やったこと今日の予定。合わせて相談したい事の頭出し。
  • 運用タスクとして新規に依頼されているチケットの確認
  • 今週リリースするチケットの確認
  • その他、あの炎上スレッドは今どうなったんだ?確認など。

毎朝たった30分の朝会ですが、

  • 新鮮な情報をギュッとまとめて扱える。
  • 拾えてないチケットあっても誰かが気付ける。
  • 各メンバーの多忙具合で、作業の割り振りをメンバー同士でフォローし合える。

私的にはめちゃくちゃ大切な時間です。 心の拠り所となっています。

2.週イチの場で役立っているツール
Googleスプレットシートのアドオン「Jira Cloud for Sheets」

毎日の朝会とは別に、週一回スプリントレビュー&プランニングの場でのお役立ちツール&意識している事をご紹介します。

毎週実施するスプリントレビュー&プランニングの1時間も、朝会と共にとても貴重な時間です。

実績集計や進捗把握の為だけに時間を掛けるのではなく、次の1週間になにをすべきかだったり、迷っている事を解決して次アクションへ進める為の時間にしたいので、実績や進捗把握の為の情報取得は、いかにコストをかけずに行えるか。を意識しています。

実績把握と視認性は「秒で」を意識する。

上段の1章でお話にあげた通り、我々が扱わないといけないチケットは多岐に渡る為、各エンジニアが担当しているチケットのステータス情報を手作業で取得していくと、スプリントレビューがある日は実績集計作業だけて何時間もかかるような事になりかねません。

そんな時は、Googleスプレットシートのアドオン「Jira Cloud for Sheets」がおススメです。 アドオンDLや初期設定は、@ymzk-jpさんの記事が分かりやすかったので参照してみて下さい! qiita.com

上記のアドオンを使えば、毎週のレビュー&プランニングのMTGの前に、実績把握をする為に自分がする作業は、何百枚とあるチケットを対象としてもポチっとボタンを更新するだけ!

実績集計は、秒で完結します。

秒で集計した情報を、複数走っている案件をまとめて網羅性をもって確認しやすくする為に、以下の環境整備をしていきましょう。ここからはスプレットシートで新規シートを作成した後の作業です。
上記の「Jira Cloud for Sheets」でダウンロードしてきたチケット一覧のシートとは別に、新しいシートを作成して作業していきます。

まず、利用する情報は、

  • EpicLinkのキー番号
  • Jiraのワークフローで利用しているステータス情報

の2つのみです。

この2つの情報をスプレットシートに記載して、情報を取得する枠組みを整えます。 f:id:unifa_tech:20211220155841p:plain

次の工程として、この2つの文字列を元に
「Jira Cloud for Sheets」でダウンロードしてきたチケット一覧シートから情報を引っ張ってきます。 f:id:unifa_tech:20211220155134p:plain

  • SUMIFS関数で、EpicNameが同じ名前のチケットのStory Pointsを合算
  • SUMIFS関数で、B列EpicNameが同じ名前かつ1行目D-1(I-1,J-1…)のステータスと文字列が同じチケット数をカウント
  • SPARKLINE関数で、エピック毎に進捗率を可視化(charttypeは"bar"を利用)

ダウンロードした各チケットから、SUMIFS関数を利用して情報を引っ張ってきているだけです。 難しいことは全然しておりませぬ。これで完成です。
※上記の各数字はダミーです。

案件単位での「着地ヨミ」はバーンダウンチャートを利用していますが、今現在、どのぐらいのチケットが完了していて、レビュー中や作業中のチケットはどのぐらいなんだっけ?など、情報を構造化する際にはとても便利です。
JiraのEpicを複数ならべてもよいのですが、同じ1画面に、他の様々な文字情報も入ってきてしまうので、進捗確認もこれを見る人が「秒で視認」出来るように、アウトプットも意識して成形しています。

3.プロジェクト推進を後押ししてくれる「想い」について

私が今担当しているサービスのPdMとして参画させて頂いてから半年あまりですが、
現在のプロジェクトメンバーが素晴らしく感謝の一言につきます。

ありきたりすぎて、もっとかっこいい言葉はないかと考えましたが、皆が能動的に考えてくれるし、他のメンバーが困っていたら助け合う雰囲気がとてもあって、周りの皆さんには感謝しまくりの私なのですが、「感謝が多発する=みんなの為に頑張ろう」と思う感情が自然と沸いてくる状況なので、これこそが、プロジェクトを推進する原動力になってくれていると思っています。

感謝を連発する人って何かアレじゃない?と普段は斜めに見る私ですが、毎日関わっている身近な人達が「自らキャッチしてくれて動いてくれて涙モノ」だったり「鋭いツッコミ入れてくれてめっちゃ助かった!」だったり「訳わからん私に懇切丁寧に教えてくれて有難うゴザイマス」だったり、このような環境だとみんなの為に自分も頑張らなくては!と自らはっぱをかけられるし、絶対やりぬくぞ!と強いキモチが沸いてくるので、その結果、プロジェクトの推進力を高めたり自走の維持が可能になってくるのかと思います。

ここまで読んで頂いた奇遇なあなたへ。大切な時間を有難うございます。

上記で紹介したような最高のメンバーがUnifaでは待っています。そんなメンバーと一緒に、未来に向けたモノ作りを一緒に推進しませんか?
ちょっとでも気になった方は、門を叩いてみてください!

ユニファでは新たな仲間を積極採用中です。

詳細についてはこちらからご確認ください。

unifa-e.com