23
アジャイル開発でよみがえった、プロダクト開発 20121212アクセラテクノロジ株式会社 取締役 技術開発部 部長 萩原純一

アジャイル開発でよみがえった、プロダクト開発 · ブラックボックス化しつつある過去の資産に、建て増し・建て増しはしない 既存バージョンの良い考え方、実装、外部仕様(互換性)は維持しつつ、

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: アジャイル開発でよみがえった、プロダクト開発 · ブラックボックス化しつつある過去の資産に、建て増し・建て増しはしない 既存バージョンの良い考え方、実装、外部仕様(互換性)は維持しつつ、

アジャイル開発でよみがえった、プロダクト開発

2012年12月12日

アクセラテクノロジ株式会社

取締役 技術開発部 部長

萩原純一

Page 2: アジャイル開発でよみがえった、プロダクト開発 · ブラックボックス化しつつある過去の資産に、建て増し・建て増しはしない 既存バージョンの良い考え方、実装、外部仕様(互換性)は維持しつつ、

All Rights Reserved © Accela Technology Corporation, 2001-2012 2

目次

アクセラテクノロジ概要

会社設立→新商品開発に集中のはずが…

アクセラ流プロダクト開発の取り組み

アジャイル開発手法の導入

ITツール化

まとめ

Page 3: アジャイル開発でよみがえった、プロダクト開発 · ブラックボックス化しつつある過去の資産に、建て増し・建て増しはしない 既存バージョンの良い考え方、実装、外部仕様(互換性)は維持しつつ、

All Rights Reserved © Accela Technology Corporation, 2001-2012 3

アクセラテクノロジ概要

設立

2001年7月 富士通(株)からのスピンオフにより創業

特徴

エンタープライズサーチ専業ベンダ

博士号を持つ社長を筆頭にとことん技術系

Page 4: アジャイル開発でよみがえった、プロダクト開発 · ブラックボックス化しつつある過去の資産に、建て増し・建て増しはしない 既存バージョンの良い考え方、実装、外部仕様(互換性)は維持しつつ、

All Rights Reserved © Accela Technology Corporation, 2001-2012 4

2001年設立以来、ウォーターフォール開発を推進

商品企画

基本設計

システムテスト

詳細設計

プログラミング

レビュー

ルートテスト

単体テスト

結合テスト

機能設計

・・・

機能モジュール毎の 高い専門性

開発者の強い「モジュール担当」意識

人のローテーションを あまり考えない

Page 5: アジャイル開発でよみがえった、プロダクト開発 · ブラックボックス化しつつある過去の資産に、建て増し・建て増しはしない 既存バージョンの良い考え方、実装、外部仕様(互換性)は維持しつつ、

All Rights Reserved © Accela Technology Corporation, 2001-2012 5

会社設立→新商品開発に集中のはずが

Page 6: アジャイル開発でよみがえった、プロダクト開発 · ブラックボックス化しつつある過去の資産に、建て増し・建て増しはしない 既存バージョンの良い考え方、実装、外部仕様(互換性)は維持しつつ、

All Rights Reserved © Accela Technology Corporation, 2001-2012 6

設立して遭遇した様々な困難

製品を世に出さねば、売れない とにかく迅速に製品を作り上げなければ、売上がない

モジュール=人に強くアサインされ、休めない

開発・サポート両面から担当者は疲弊していく。設立当初は勢いでいけるが、疲れはどんどん溜まる

人を増やすが失敗

転職市場にプロダクト開発経験者は希、ということに改めて気づかされる

Page 7: アジャイル開発でよみがえった、プロダクト開発 · ブラックボックス化しつつある過去の資産に、建て増し・建て増しはしない 既存バージョンの良い考え方、実装、外部仕様(互換性)は維持しつつ、

All Rights Reserved © Accela Technology Corporation, 2001-2012 7

「ソフトウェアプロダクト」開発会社として、理想の姿を再定義

再定義の背景

中途採用者はSIや派遣プログラマが多く、「ソフトウェアプロダクト」開

発経験者はほとんどいない

いないなら、作りだそう。新卒の社員を継続的に採用して、自分たち

の力で開発プロセスを確立しよう!

理想の開発チームとは

「担当モジュールのプログラマ」

→ 「製品開発者」

「○○さんがいないと分からない」

→ 「だれもが対応可能」

「一人が問題を抱える/風邪をひいても休めない」

→ 「皆で解決する/安心して休める」

Page 8: アジャイル開発でよみがえった、プロダクト開発 · ブラックボックス化しつつある過去の資産に、建て増し・建て増しはしない 既存バージョンの良い考え方、実装、外部仕様(互換性)は維持しつつ、

All Rights Reserved © Accela Technology Corporation, 2001-2012 8

解決すべき課題

新卒社員の技量の差をどう埋めるか? 成長してもらうか?

コミュニケーション能力の乏しさをどう上げていくか?

どのようにコードを複数人で共有化するか?

担当者への仕事の割り当てを、いかに実現するか? (効率よく、そして柔軟に)

仕事の割り当てやコードを共有する中で、どのように品質を確保するか?

アクセラ流プロダクト開発の構築開始

Page 9: アジャイル開発でよみがえった、プロダクト開発 · ブラックボックス化しつつある過去の資産に、建て増し・建て増しはしない 既存バージョンの良い考え方、実装、外部仕様(互換性)は維持しつつ、

All Rights Reserved © Accela Technology Corporation, 2001-2012 9

最初の成果: Accela BizSearch R4

Accela BizSearch(エンタープライズサーチ製品)の後継製品を開発

ブラックボックス化しつつある過去の資産に、建て増し・建て増しはしない

既存バージョンの良い考え方、実装、外部仕様(互換性)は維持しつつ、新しいチームで「自分たちが作った」と 自信と愛情を持てる製品を皆でつくり あげ、その中で成長する

Accela BizSearch R4 特徴

Accela BizSearch V3の上位互換

(外部仕様はそのまま継承)

C言語からJava言語へ

64ビットで動作。高性能・大容量

新規付加価値機能

(ドリルダウンナビ)の投入

Page 10: アジャイル開発でよみがえった、プロダクト開発 · ブラックボックス化しつつある過去の資産に、建て増し・建て増しはしない 既存バージョンの良い考え方、実装、外部仕様(互換性)は維持しつつ、

All Rights Reserved © Accela Technology Corporation, 2001-2012 10

お蔭様で1900*を超えるサーバ導入の実績

出荷検索サーバ数 1979サーバ(2012年8月現在)

富士通様 みずほ情報総研様

損保ジャパン様 中電技術コンサルタント様

コガネイ様 日本情報通信様

日経BP様 アイスタイル様

大塚商会様

図書館流通センター様

ぐるなび 様 NECパーソナルコンピュータ 様

大塚製薬工場様

パソナ様

札幌市役所様 NTTデータ様

三井物産様

Page 11: アジャイル開発でよみがえった、プロダクト開発 · ブラックボックス化しつつある過去の資産に、建て増し・建て増しはしない 既存バージョンの良い考え方、実装、外部仕様(互換性)は維持しつつ、

All Rights Reserved © Accela Technology Corporation, 2001-2012 11

アクセラ流プロダクト開発の取り組み

Page 12: アジャイル開発でよみがえった、プロダクト開発 · ブラックボックス化しつつある過去の資産に、建て増し・建て増しはしない 既存バージョンの良い考え方、実装、外部仕様(互換性)は維持しつつ、

All Rights Reserved © Accela Technology Corporation, 2001-2012 12

アクセラ流プロダクト開発のイメージ

完成

完成

<担当制の場合> <アクセラ流プロダクト開発>

Aさん Bさん Cさん

仕事

① ② ③ ④ ⑤ ⑥

Aさん

割り振り

Bさん

Bさん

終わったので

④をやります。

取りに行く

⑥ Bさん

終わったので

⑥をやります。

Cさん

Cさん

終わったので ⑤をやります。

Page 13: アジャイル開発でよみがえった、プロダクト開発 · ブラックボックス化しつつある過去の資産に、建て増し・建て増しはしない 既存バージョンの良い考え方、実装、外部仕様(互換性)は維持しつつ、

All Rights Reserved © Accela Technology Corporation, 2001-2012 13

アクセラ流プロダクト開発の実際

アジャイル開発手法の導入

毎朝のスタンドアップミーティング (朝会)

テスト駆動型開発

ペアプログラミング

ITツール化

個人の持つノウハウやコツを共有

手順書、チェックシートの整備

まず、まねる 次に、改善する

Page 14: アジャイル開発でよみがえった、プロダクト開発 · ブラックボックス化しつつある過去の資産に、建て増し・建て増しはしない 既存バージョンの良い考え方、実装、外部仕様(互換性)は維持しつつ、

All Rights Reserved © Accela Technology Corporation, 2001-2012 14

アジャイル開発とは

フィーチャー

ユーザーにとって

役に立つ機能 イテレーション1 イテレーション2 イテレーション …

:PDF検索機能

:検索ログ解析機能 朝会

ペアプログラミング

2~3週間 2~3週間 2~3週間

2~3ヶ月毎に完成品リリース

朝会

ペアプログラミング

朝会

ペアプログラミング

Page 15: アジャイル開発でよみがえった、プロダクト開発 · ブラックボックス化しつつある過去の資産に、建て増し・建て増しはしない 既存バージョンの良い考え方、実装、外部仕様(互換性)は維持しつつ、

All Rights Reserved © Accela Technology Corporation, 2001-2012 15

参考にしたアジャイル開発手法の代表例

種類 内容 効果

スタンドアップ ミーティング (朝会)

15分以内の定時ミーティングを毎日開催。やったこと、課題、これからやることを確認する。

課題の整理と抽出が確実に出来る。また、チームメンバ全員が個々の進捗・課題を理解し、一緒に考えるきっかけとなる。 (チェック&ヘルプ)

テスト駆動型開発 (TDD)

実装の前に、(自動化された)テストを作成する。実装はそのテストをパスすることを目標に行う。

抜け・漏れのないテストによる品質向上が期待出来る。

ペアプログラミング

2人1組で実装を行い、1人がコードを書き、もう1人はそれをチェックしながらナビゲートする。

チームメンバの開発スキルの均一化。課題のフローティングを助ける。

Page 16: アジャイル開発でよみがえった、プロダクト開発 · ブラックボックス化しつつある過去の資産に、建て増し・建て増しはしない 既存バージョンの良い考え方、実装、外部仕様(互換性)は維持しつつ、

All Rights Reserved © Accela Technology Corporation, 2001-2012 16

アジャイル開発のモデルケースを実践

スタンドアップミーティング(朝会)

昨日やったことは?

今日やることは?

進捗を妨げている問題点は何?

課題・障害管理の確認

実装

テスト駆動型開発(TDD)

ペアプログラミング

Page 17: アジャイル開発でよみがえった、プロダクト開発 · ブラックボックス化しつつある過去の資産に、建て増し・建て増しはしない 既存バージョンの良い考え方、実装、外部仕様(互換性)は維持しつつ、

All Rights Reserved © Accela Technology Corporation, 2001-2012 17

アクセラ流に改善するんです!

教科書のアジャイルではなく、独自のアジャイルを模索。

当社事情に積極的にアレンジ。

効率化 朝会では、1つの議題は5分以内 実装のペアには、設計者を入れる。ただし、設計者はコードを書かない

(設計者の意図をくみやすくするため) 朝会で“今日の帰宅予定時刻”を宣言し、日々の目標を明確化 仕様書もペアで作成し、ペアプロの良い点を取り込む

品質確保 ペアの片方にはプログラムのスキルが高い人を入れる

(初心者どうしのペアは実装が簡単でも障害が多く発生したため) Redmine(障害管理システム)を導入

(障害・課題管理をExcelで管理していると分かりづらい)

Page 18: アジャイル開発でよみがえった、プロダクト開発 · ブラックボックス化しつつある過去の資産に、建て増し・建て増しはしない 既存バージョンの良い考え方、実装、外部仕様(互換性)は維持しつつ、

All Rights Reserved © Accela Technology Corporation, 2001-2012 18

ITツール化

まねるヒントを皆でコレクションして活用する仕組み

見つけた情報、資料、アイデア、ノウハウをすぐに保存

なぜそれが良いと思ったか?どこの部分をまねするべきと思ったか?コメントを添付

保存内容は簡単に取り出せるようにしチームで共有

ツール化/資料化

テスト手順や仕様書構成/書き方は、手順書/チェックシートにして共有

1イテレーション完了時に振り返り会を開催。手順書/チェックシートを更新

Page 19: アジャイル開発でよみがえった、プロダクト開発 · ブラックボックス化しつつある過去の資産に、建て増し・建て増しはしない 既存バージョンの良い考え方、実装、外部仕様(互換性)は維持しつつ、

All Rights Reserved © Accela Technology Corporation, 2001-2012 19

検索+コメントによる超整理法型情報活用

メモも含めて 横断検索実現

RDBMS

ファイルサーバ

社内Web

Notes

業務で活用

All Rights Reserved © Accela Technology Corporation, 2001-2005 17

BizSearch 活用シーン3:カスタマサポート系モデル

狙い: 1.回答時間短縮による顧客満足度向上2.1次解決率向上による対応コスト削減3.顧客の声を商品開発にフィードバック

顧客

電話・E-mail

受付け/回答

コールトラッキングシステム

エージェント

問題解決ナレッジDB

製品開発部門ナレッジDBと対応履歴を検索し問題解決

Accela

BizSearch

WebによるFAQセルフサービス

Accela

BizSearch

顧客対応履歴

顧客対応履歴から得られるお客様の声を製品に反映

価値ある情報 を全文検索

企業内 業務サーバ群

BizAntenna

自身の記録や

仲間への共有のためメモを残す

BizSearch

Page 20: アジャイル開発でよみがえった、プロダクト開発 · ブラックボックス化しつつある過去の資産に、建て増し・建て増しはしない 既存バージョンの良い考え方、実装、外部仕様(互換性)は維持しつつ、

All Rights Reserved © Accela Technology Corporation, 2001-2012 20

ITツールとして実現: Accela BizAntenna

インターネット上のコンテンツ 企業内コンテンツ

WebでもOffice文書でもコメントを付けて一括管理

タグ:仕様書

メモ:これを雛形にする

タグ:手順書

メモ:21ページは間違っている。修正して

タグ:注目テクノロジー

メモ:うちでもやってみる

タグ:写真

メモ:他社の開発現場風景

タグ:開発ノウハウ

メモ:Ruby虎の巻

タグ:開発ノウハウ

メモ:Visual Studioが使いやすくなったらしい。次回開発から採用

タグ:開発ノウハウ

メモ:Java開発のノウハウ

タグ:議事録

メモ:修正点がありましたら

「コメント」でお願いします

タグ:手順書

メモ:2010年11月での最新版

タグ:注目テクノロジー

メモ:採用技術のヒントか

Page 21: アジャイル開発でよみがえった、プロダクト開発 · ブラックボックス化しつつある過去の資産に、建て増し・建て増しはしない 既存バージョンの良い考え方、実装、外部仕様(互換性)は維持しつつ、

All Rights Reserved © Accela Technology Corporation, 2001-2012 21

まねるヒントを皆でコレクションして活用する仕組み

技術系WebのURLを皆にお知らせ

技術セミナー/講習会資料をスキャンして保存

Webで見つけた開発ノウハウやコツとなる「お手本」をブックマーク

本で読んだり、セミナーで聞いたヒントはメモを共有化

ツール化/資料化

議事録の叩き台をまずBizAntennaで共有し、コメントに対するコメントで完成度をアップ。改版の背景も含めてコメントに残す

手順書/チェックシートの改善内容は、議論の背景も含めてコメントに残す。背景を残すことで将来の再利用性を高める

当社技術開発部門での利用シーン

Page 22: アジャイル開発でよみがえった、プロダクト開発 · ブラックボックス化しつつある過去の資産に、建て増し・建て増しはしない 既存バージョンの良い考え方、実装、外部仕様(互換性)は維持しつつ、

All Rights Reserved © Accela Technology Corporation, 2001-2012 22

まとめ

アクセラテクノロジ株式会社 2001年富士通のベンチャー起業制度で設立

エンタープライズサーチの専業ベンダー

失敗の経験から プロダクト開発のプロフェッショナルは転職市場には希

開発の結果が即売上に反映。この緊張感の中で開発もやる、サポートもやるエンジニアを確保しなければならない

→ 必要な人材は自分たちで育てるしかない

アクセラ流プロダクト開発 アジャイル開発手法を導入(まねる)。当社事情に合わせてアレンジ

(改善)

ITツール化を推進し、情報を積極的に共有 → Accela BizAntennaご紹介

Page 23: アジャイル開発でよみがえった、プロダクト開発 · ブラックボックス化しつつある過去の資産に、建て増し・建て増しはしない 既存バージョンの良い考え方、実装、外部仕様(互換性)は維持しつつ、