Fujitsu Standard Toolossforum.jp/jossfiles/JOSSPF-2015-3-3.pdf2015/03/03  ·...

28
FUJITSU CONFIDENTIAL OSS活用と、プロジェクトの進め方のご紹介 浪江町タブレットを利用したきずな 再生・強化事業への取り組み Copyright 2015 FUJITSU SOFTWARE TECHNOLOGIES LTD

Transcript of Fujitsu Standard Toolossforum.jp/jossfiles/JOSSPF-2015-3-3.pdf2015/03/03  ·...

Page 1: Fujitsu Standard Toolossforum.jp/jossfiles/JOSSPF-2015-3-3.pdf2015/03/03  · Backbone.jsを利用するアプリのテンプレート アプリのプロジェクト構成のひな形

FUJITSU CONFIDENTIAL

OSS活用と、プロジェクトの進め方のご紹介

浪江町タブレットを利用したきずな再生・強化事業への取り組み

Copyright 2015 FUJITSU SOFTWARE TECHNOLOGIES LTD

Page 2: Fujitsu Standard Toolossforum.jp/jossfiles/JOSSPF-2015-3-3.pdf2015/03/03  · Backbone.jsを利用するアプリのテンプレート アプリのプロジェクト構成のひな形

FUJITSU CONFIDENTIAL

プロフィール

Copyright 2015 FUJITSU SOFTWARE TECHNOLOGIES LTD 1

阪口 学 富士通ソフトウェアテクノロジーズ株式会社

浪江町タブレットアプリの開発リーダーです!

最近はHTML5を利用したフロントエンドのアプリ開発が多いです

2012年 2013年 2014年

2012/2 iPad向けのHTML5アプリ開発を開始

2012/7 Android対応。

PhoneGap,RequireJSを導入

2014/4 iPhone対応 Bowerを導入

Bower

RequireJS

Page 3: Fujitsu Standard Toolossforum.jp/jossfiles/JOSSPF-2015-3-3.pdf2015/03/03  · Backbone.jsを利用するアプリのテンプレート アプリのプロジェクト構成のひな形

FUJITSU CONFIDENTIAL 2

浪江町タブレットアプリ ご紹介

Copyright 2015 FUJITSU SOFTWARE TECHNOLOGIES LTD

Page 4: Fujitsu Standard Toolossforum.jp/jossfiles/JOSSPF-2015-3-3.pdf2015/03/03  · Backbone.jsを利用するアプリのテンプレート アプリのプロジェクト構成のひな形

FUJITSU CONFIDENTIAL 3

なみえタブレットアプリ紹介

Copyright 2015 FUJITSU SOFTWARE TECHNOLOGIES LTD

なみえ新聞

浪江町

復興支援員ブログ

なみえ写真投稿 Facebook API

YouTube API

RSS

Webスクレイピング

浪江町民を、タブレットを通じてつなげます

Page 5: Fujitsu Standard Toolossforum.jp/jossfiles/JOSSPF-2015-3-3.pdf2015/03/03  · Backbone.jsを利用するアプリのテンプレート アプリのプロジェクト構成のひな形

FUJITSU CONFIDENTIAL

クライアントアプリ アーキテクチャ

4 Copyright 2015 Fujitsu Software Technologies Limited

ハイブリッドアプリ

Android + Cordova + HTML5

Single-page Application(SPA)

バックエンド

HTTP Request

Applicaton Data

- 単一のHTMLのみをもつ - DOM要素の操作でページを切り替える

レスポンスが軽快

HTML5による表現力豊かなUIを実現

デバイスのネイティブ機能が利用可能

スライドショー

ギャラリー画像

Page 6: Fujitsu Standard Toolossforum.jp/jossfiles/JOSSPF-2015-3-3.pdf2015/03/03  · Backbone.jsを利用するアプリのテンプレート アプリのプロジェクト構成のひな形

FUJITSU CONFIDENTIAL

バックエンドはオープンソースBaaS

5

バックエンド

クライアント (Android)

Copyright 2015 FUJITSU SOFTWARE TECHNOLOGIES LTD

CloudFormation

CloudFormationとAnsibleを 使用してプロビジョニング を自動化

- Rest API - OData - OAuth2

OData / OAuth2.0 / WebDAV 認証/ユーザー管理/CRUD

アクセス制御/検索/共通ロジック …

サーバ側を汎用API化 クライアント側はアプリ開発に集中

Page 7: Fujitsu Standard Toolossforum.jp/jossfiles/JOSSPF-2015-3-3.pdf2015/03/03  · Backbone.jsを利用するアプリのテンプレート アプリのプロジェクト構成のひな形

FUJITSU CONFIDENTIAL 6

利用OSS

Copyright 2015 FUJITSU SOFTWARE TECHNOLOGIES LTD

浪江タブレットアプリは、将来OSSとして公開する予定です! そのため、フレームワーク、ライブラリは、全てOSSを利用しています。一部を紹介します!

Page 8: Fujitsu Standard Toolossforum.jp/jossfiles/JOSSPF-2015-3-3.pdf2015/03/03  · Backbone.jsを利用するアプリのテンプレート アプリのプロジェクト構成のひな形

FUJITSU CONFIDENTIAL

浪江タブレットアプリで利用している主なOSS

7

MVCフレームワーク

Copyright 2015 FUJITSU SOFTWARE TECHNOLOGIES LTD

「HTML5 + ハイブリッド」 「Single-page Application(SPA)」 を実現するためのOSSを利用

テンプレートエンジン

Lo-Dash UIフレームワーク

Foundation 5

ハイブリッド化

Cordova モジュール分割

RequireJS

Page 9: Fujitsu Standard Toolossforum.jp/jossfiles/JOSSPF-2015-3-3.pdf2015/03/03  · Backbone.jsを利用するアプリのテンプレート アプリのプロジェクト構成のひな形

FUJITSU CONFIDENTIAL

アプリ基盤にBackbone-Boilerplateを利用

8 Copyright 2015 Fujitsu Software Technologies Limited

https://github.com/backbone-boilerplate/backbone-boilerplate

Backbone.jsを利用するアプリのテンプレート

アプリのプロジェクト構成のひな形

Backboneアプリを利用したサンプルアプリを含む

ビルドツールや、開発中に利用できるツールも提供

フォルダ構成や、Backboneに関連するOSSの組み合わせの一例を知ることができる

・Boilerplateを利用することで、先人の知恵を得ることができる

・早く開発を立ち上げられる

Page 10: Fujitsu Standard Toolossforum.jp/jossfiles/JOSSPF-2015-3-3.pdf2015/03/03  · Backbone.jsを利用するアプリのテンプレート アプリのプロジェクト構成のひな形

FUJITSU CONFIDENTIAL

CI環境

9 Copyright 2015 FUJITSU SOFTWARE TECHNOLOGIES LTD

単体テスト

カバレッジ測定

テストフレームワーク

アサーションライブラリ

テストランナー

istanbul

ドキュメント JsDoc3

静的解析 JsHint

継続的インテグレーションの各タスクでもOSSを利用

Boilerplateのビルドサンプルを利用

EC2

Page 11: Fujitsu Standard Toolossforum.jp/jossfiles/JOSSPF-2015-3-3.pdf2015/03/03  · Backbone.jsを利用するアプリのテンプレート アプリのプロジェクト構成のひな形

FUJITSU CONFIDENTIAL

どのOSSを選定すべき?

10 Copyright 2015 FUJITSU SOFTWARE TECHNOLOGIES LTD

HTML5 関連のOSSは進化のスピードが速すぎる!

Foundation 5

弊社のエンジニアが慣れているOSSを採用

常に新しい技術に関心をもたなければならない

エンジニアの意識を向上する仕組みが必要

今どき、こっちなんじゃないの・・・?

Page 12: Fujitsu Standard Toolossforum.jp/jossfiles/JOSSPF-2015-3-3.pdf2015/03/03  · Backbone.jsを利用するアプリのテンプレート アプリのプロジェクト構成のひな形

FUJITSU CONFIDENTIAL

OSSの品質は?

11 Copyright 2015 Fujitsu Software Technologies Limited

品質問題にはほとんど遭遇しない

問題があっても、他のOSSで代替して回避

backbone-boilerplate/ grunt-bbb-server

gruntjs/ grunt-contrib-connect

jockmac22/ foundation_calendar_date_time_picker

bevacqua/rome

HTML5のライブラリは非常に多いため、代替しやすい

バグがあっても、Javascriptであればソース修正して即適用できる

一部のhtmlを正しく読み込んでくれない!

スタイルをカスタマイズしにくい!

Grunt serverタスクが・・

カレンダーライブラリが・・

Page 13: Fujitsu Standard Toolossforum.jp/jossfiles/JOSSPF-2015-3-3.pdf2015/03/03  · Backbone.jsを利用するアプリのテンプレート アプリのプロジェクト構成のひな形

FUJITSU CONFIDENTIAL 12

プロジェクト進め方の紹介

Copyright 2015 FUJITSU SOFTWARE TECHNOLOGIES LTD

浪江タブレットアプリは、スクラムを用いたアジャイル開発を実践しています。

Page 14: Fujitsu Standard Toolossforum.jp/jossfiles/JOSSPF-2015-3-3.pdf2015/03/03  · Backbone.jsを利用するアプリのテンプレート アプリのプロジェクト構成のひな形

FUJITSU CONFIDENTIAL 13

朝会 / 夕会 リモートミーティング (Skype) ペアプログラミング リーダーレビュー プロダクトオーナーレビュー

フィードバック

前スプリント レビュー ふりかえり スプリント計画

追加機能を記述 優先順位付け

2週間のスプリントを複数回繰り返し

成果物の公開 町民への説明会

スプリント計画 開発 リリース

プロダクトバックログ

スプリント (2週間)

・・・ スプリントn スプリント0 (立ち上げ)

スプリント1 スプリント2 スプリント3 スプリント4

Copyright 2015 FUJITSU SOFTWARE TECHNOLOGIES LTD

開発プロセス

Page 15: Fujitsu Standard Toolossforum.jp/jossfiles/JOSSPF-2015-3-3.pdf2015/03/03  · Backbone.jsを利用するアプリのテンプレート アプリのプロジェクト構成のひな形

FUJITSU CONFIDENTIAL 14 Copyright 2015 Fujitsu Software Technologies Limited

Eyes, JAPAN

・リーダ ・開発メンバ

新横浜 静岡

・リーダ ・デザイナ ・開発メンバ

富士通/FST

・サブリーダ ・開発メンバ

福島 会津若松

福島 二本松

浪江町役場様

・プロダクトオーナー

・新横浜⇒会津若松 3時間30分程度 ・新横浜⇒二本松 2時間30分程度 ・会津若松⇒二本松 車で1時間程度

気軽に会って打ち合わせとかできない・・

遠隔地での開発

課題

• 朝会・夕会

• 場の共有

• 情報の共有

• コミュニケーションツール

Page 16: Fujitsu Standard Toolossforum.jp/jossfiles/JOSSPF-2015-3-3.pdf2015/03/03  · Backbone.jsを利用するアプリのテンプレート アプリのプロジェクト構成のひな形

FUJITSU CONFIDENTIAL 15 Copyright 2015 FUJITSU SOFTWARE TECHNOLOGIES LTD

Skype通話での朝会/夕会

Eyes, JAPAN(福島 会津若松)と FST(新横浜)でSkype朝会・夕会

Page 17: Fujitsu Standard Toolossforum.jp/jossfiles/JOSSPF-2015-3-3.pdf2015/03/03  · Backbone.jsを利用するアプリのテンプレート アプリのプロジェクト構成のひな形

FUJITSU CONFIDENTIAL

Skypeでの常時接続

16 Copyright 2015 Fujitsu Software Technologies Limited

Eyes, JAPAN(福島 会津若松)と FST(新横浜)で常時接続

Page 18: Fujitsu Standard Toolossforum.jp/jossfiles/JOSSPF-2015-3-3.pdf2015/03/03  · Backbone.jsを利用するアプリのテンプレート アプリのプロジェクト構成のひな形

FUJITSU CONFIDENTIAL 17

バーンダウン

スクラムボード

Copyright 2015 FUJITSU SOFTWARE TECHNOLOGIES LTD

アトラシアン JIRA Agile

コミュニケーションツール

Page 19: Fujitsu Standard Toolossforum.jp/jossfiles/JOSSPF-2015-3-3.pdf2015/03/03  · Backbone.jsを利用するアプリのテンプレート アプリのプロジェクト構成のひな形

FUJITSU CONFIDENTIAL 18 Copyright 2015 Fujitsu Software Technologies Limited

チャットツールとしてslackを利用

コミュニケーションツール

Page 20: Fujitsu Standard Toolossforum.jp/jossfiles/JOSSPF-2015-3-3.pdf2015/03/03  · Backbone.jsを利用するアプリのテンプレート アプリのプロジェクト構成のひな形

FUJITSU CONFIDENTIAL

アナログも活用

19 Copyright 2015 Fujitsu Software Technologies Limited

チームで共有すべき情報は、 壁やホワイトボードを活用

Page 21: Fujitsu Standard Toolossforum.jp/jossfiles/JOSSPF-2015-3-3.pdf2015/03/03  · Backbone.jsを利用するアプリのテンプレート アプリのプロジェクト構成のひな形

FUJITSU CONFIDENTIAL 20

朝会 / 夕会 リモートミーティング (Skype) ペアプログラミング リーダーレビュー プロダクトオーナーレビュー

フィードバック

前スプリント レビュー ふりかえり スプリント計画

追加機能を記述 優先順位付け

2週間のスプリントを複数回繰り返し

成果物の公開 町民への説明会

スプリント計画 開発 リリース

プロダクトバックログ

スプリント (2週間)

・・・ スプリントn スプリント0 (立ち上げ)

スプリント1 スプリント2 スプリント3 スプリント4

Copyright 2015 FUJITSU SOFTWARE TECHNOLOGIES LTD

全員でやるべきところ

これは全員が集まってやってます

Page 22: Fujitsu Standard Toolossforum.jp/jossfiles/JOSSPF-2015-3-3.pdf2015/03/03  · Backbone.jsを利用するアプリのテンプレート アプリのプロジェクト構成のひな形

FUJITSU CONFIDENTIAL 21 Copyright 2015 FUJITSU SOFTWARE TECHNOLOGIES LTD

スケジュール確認 タスク洗い出し、 工数見積もり

方式設計 作業内容の合意

全員が集まって計画を立てる

スプリント計画

Page 23: Fujitsu Standard Toolossforum.jp/jossfiles/JOSSPF-2015-3-3.pdf2015/03/03  · Backbone.jsを利用するアプリのテンプレート アプリのプロジェクト構成のひな形

FUJITSU CONFIDENTIAL

ふりかえり

22 Copyright 2015 Fujitsu Software Technologies Limited

浪江町役場様、開発、デザインチーム 合同でふりかえり

Page 24: Fujitsu Standard Toolossforum.jp/jossfiles/JOSSPF-2015-3-3.pdf2015/03/03  · Backbone.jsを利用するアプリのテンプレート アプリのプロジェクト構成のひな形

FUJITSU CONFIDENTIAL Copyright 2015 FUJITSU SOFTWARE TECHNOLOGIES LTD. 23

参考)2014/12/24 スプリント6計画 •開催日時

2014/12/24 •場所

浪江町二本松事務所 •参加者

浪江町役場)吉永、小俣 CodeforJapan) Eyes, JAPAN) 行田、北澤、八幡 FST) 阪口、増田、滝田、黒澤、伊藤、藤田 FJ)山口、近藤(記)

予定 実績 作業内容

10:30 - 11:00 10:30 - 10:45 Eyes, JAPAN スプリントレビュー

スプリント5レビュー (デザイン)

11:00 - 11:30 10:45 - 11:35 FST スプリントレビュー

スプリント5 レビュー (開発)

11:30 - 11:40 11:35 - 11:45 ふりかえり 前回のTry確認

11:40 - 12:20 11:47 - 12:27 ふりかえり

浪江町役場

FST

Eyes,JAPAN

12:20 - 12:35 12:27 - 12:45 ふりかえり発表

13:40 - 14:40 13:45 - 15:35 スプリント6 要件確認

14:40 - 17:10 15:35 - 19:00 タスクあげ、工数見積もり

17:10 - 17:30 19:00 - 19:40 スプリント6 作業内容確認・合意

Page 25: Fujitsu Standard Toolossforum.jp/jossfiles/JOSSPF-2015-3-3.pdf2015/03/03  · Backbone.jsを利用するアプリのテンプレート アプリのプロジェクト構成のひな形

FUJITSU CONFIDENTIAL

参考:十日市祭でのタブレット説明会

24 Copyright 2014 FUJITSU SOFTWARE TECHNOLOGIES LTD.

Page 26: Fujitsu Standard Toolossforum.jp/jossfiles/JOSSPF-2015-3-3.pdf2015/03/03  · Backbone.jsを利用するアプリのテンプレート アプリのプロジェクト構成のひな形

FUJITSU CONFIDENTIAL

今回のプロジェクトを通して

苦労しているところ

遠隔での開発だと、やはり、お互いの状況がすぐに伝わらない時がある

•逼迫感というか、空気感が伝わらない

•ただ、当初思っていたよりもうまくやれている

高齢者にも使いやすいUIの模索

•ユーザーテストのたびに、UIを作り直し。すでに3回、UIを変更してます

•どうやったら、機能があることに気づいてもらえるか

•アプリケーションを起動するまでの導線をどうするか

楽しいところ、いいところ

役場の方とも一緒に取り組めている

Eyes, JAPANの若いエンジニアに刺激をうけている

•新しいことに興味を持っていて、OSSも詳しい!

Copyright 2015 Fujitsu Software Technologies Limited 25

Page 27: Fujitsu Standard Toolossforum.jp/jossfiles/JOSSPF-2015-3-3.pdf2015/03/03  · Backbone.jsを利用するアプリのテンプレート アプリのプロジェクト構成のひな形

FUJITSU CONFIDENTIAL

最後に

26 Copyright 2015 FUJITSU SOFTWARE TECHNOLOGIES LTD

これまでのSI案件は、開発完了したらそれで終わりでした。

でも、今回は違います。

浪江町タブレットアプリは、オープンソースとして公開されます。

個人として、このアプリケーションに貢献することができるのです。

このような取り組みが、今後のSI開発を変えると考えています。

浪江町二本松役場から撮影

Page 28: Fujitsu Standard Toolossforum.jp/jossfiles/JOSSPF-2015-3-3.pdf2015/03/03  · Backbone.jsを利用するアプリのテンプレート アプリのプロジェクト構成のひな形

FUJITSU CONFIDENTIAL Copyright 2010 FUJITSU LIMITED 27