Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Copyright (c) Atomitech Corporation. All rights reserved.Copyright (c) Atomitech Corporation. All rights reserved.
会議室を現場に...
Copyright (c) Atomitech Corporation. All rights reserved.
概要
● 得られる知見:プログラミング言語として強い制約のある
DSLでの開発のワークフローの考え方
● 前提:Googleドキ...
Copyright (c) Atomitech Corporation. All rights reserved.
詳細
日科技連ソフトウェア品質シンポジウム2014「【経験発表】高品質ノベルゲーム開発基盤の提案」では、CEDEC2013
「『...
Copyright (c) Atomitech Corporation. All rights reserved.
アトラスX改二
会議のアウトプットとしてノベルゲーム(のプロトタイ
プ)が得られる仕組みを実現している、リアルタイム
共同編集が...
Copyright (c) Atomitech Corporation. All rights reserved.
コードの共同所有
リポジトリ:開発者がローカル環境でリソースの編
集を行う際には、たいてい1人であり、編集中の状
態まで共同所有...
Copyright (c) Atomitech Corporation. All rights reserved.
イテレーションの速度
シナリオの分割単位であるシーン毎に文法エラー
を評価し、エラーを検出したシーンをダミーに置き
換えることで...
Copyright (c) Atomitech Corporation. All rights reserved.
CI
数十秒間隔でDSLを解析し、ほぼリアルタイムでシ
ナリオフロー図の更新と文法エラーの検出を行っ
ている
シナリオフロー図を...
Copyright (c) Atomitech Corporation. All rights reserved.
見える化
香盤表の情報も併せ持ったシナリオフロー図のほ
ぼリアルタイムな自動生成により、コードの状態を
把握可能としている
8
Copyright (c) Atomitech Corporation. All rights reserved.
「プルリク」「ペアプロ」「コミット駆動「CI」
「プルリク」では、共有不足をレビューで補う
「ペアプロ」では、共有の及ぶ範囲が限...
Copyright (c) Atomitech Corporation. All rights reserved.
● XP祭り2014:
俺の考えたイテレーションの未来!!(ワークショップ)
● ソフトウェア品質シンポジウム2014:
高品質...
Upcoming SlideShare
Loading in …5
×

会議室を現場にする! リアルタイム共同編集によるプロトタイピング

745 views

Published on

CEDEC2015

Published in: Engineering
  • Be the first to comment

会議室を現場にする! リアルタイム共同編集によるプロトタイピング

  1. 1. Copyright (c) Atomitech Corporation. All rights reserved.Copyright (c) Atomitech Corporation. All rights reserved. 会議室を現場にする! リアルタイム共同編集による プロトタイピング (株)アトミテック 研究開発室 室長 早稲田大学GEC非常勤講師 長久勝 1
  2. 2. Copyright (c) Atomitech Corporation. All rights reserved. 概要 ● 得られる知見:プログラミング言語として強い制約のある DSLでの開発のワークフローの考え方 ● 前提:Googleドキュメントの使用経験。チーム開発の経験 ● 内容:リアルタイム共同編集が可能なノベルゲームエンジン の体験展示を行います。元々は、プログラマを抜きに GameJamを行うためのツールとして作り始めましたが、 コードの共同所有、継続的インテグレーション、高速なイテ レーション、(状態遷移図による)見える化、といった、アジャ イル開発のプラクティスを取り込むことで、会議のアウトプッ トとしてノベルゲーム(のプロトタイプ)が得られる仕組みを実 現しています 2
  3. 3. Copyright (c) Atomitech Corporation. All rights reserved. 詳細 日科技連ソフトウェア品質シンポジウム2014「【経験発表】高品質ノベルゲーム開発基盤の提案」では、CEDEC2013 「『モデル検査』のススメ(ゲームシナリオ進行編)」の内容に加え、アジャイル開発のプラクティスを取り込んだノベルゲー ムエンジンについて報告した。 プログラミング言語として強い制約を課したDSLによる開発においては、会議などで合意が取られる概要設計が大きな 意味を占め、それに沿った個々の実装作業は(プログラミングとして見た場合)それほど大変な作業ではない。例えば、ノ ベルゲームでは、全体のシナリオ構成が決まると、個々の作業は各シーンの台詞や演出となり、プログラミングとしての 要素が薄くなる。現在、チームでプログラミングを行う際の代表的なワークフローは、分散リポジトリとプルリクエストによ るものだが、これは概要設計が決まった後に用いられるものなので、会議などで合意が取られる概要設計が大きな意味 を占める場合、大掛かり過ぎてあまり上手く機能しないと考えられ、会議の中でプロトタイピングまで行う方が効率が良 いと考えられる。 本体験展示では、会議の中でプロトタイピングを行う実例を示し、そこでの、コードの共同所有、継続的インテグレーショ ン、高速なイテレーション、(状態遷移図による)見える化、について示す。 コードの共同所有については、リポジトリやペアプログラミングが持つ問題点を、etherpad-liteで解消できることを示す。 継続的インテグレーションについては、数十秒間隔でDSLを解析し、ほぼリアルタイムで文法エラーの検出を行い、該当 部分を差し替える仕組みによって、コードを実行可能な状態に保つ。 高速なイテレーションについては、常にコードが実行可能な状態を保つことで、複数で同時作業していても、試行錯誤の 速度を維持できる。 (状態遷移図による)見える化については、香盤表の情報も併せ持ったシナリオフロー図のほぼリアルタイムな自動生成 により、コードの状態を把握可能としている。 本展示を体験することで、ワークフローの改善について、ヒントが得られるものと考える。 3
  4. 4. Copyright (c) Atomitech Corporation. All rights reserved. アトラスX改二 会議のアウトプットとしてノベルゲーム(のプロトタイ プ)が得られる仕組みを実現している、リアルタイム 共同編集が可能なノベルゲームエンジン ● コードの共同所有 ● 継続的インテグレーション ● 高速なイテレーション ● (状態遷移図による)見える化 4
  5. 5. Copyright (c) Atomitech Corporation. All rights reserved. コードの共同所有 リポジトリ:開発者がローカル環境でリソースの編 集を行う際には、たいてい1人であり、編集中の状 態まで共同所有してはいない ペアプログラミング:物理的に同じ場所にいないと 機能しない。3人以上だと成り立たない etherpad-lite:共同編集がリアルタイムで可能 5
  6. 6. Copyright (c) Atomitech Corporation. All rights reserved. イテレーションの速度 シナリオの分割単位であるシーン毎に文法エラー を評価し、エラーを検出したシーンをダミーに置き 換えることで、ゲームそのものは実行可能とした 作業中のシーンに含まれるバグの影響を限定し、 複数で同時作業していても、試行錯誤の速度が落 ちない 最新のDSLによる実行確認も、ゲームのリロード で可能であり、試行錯誤の速度が落ちない6
  7. 7. Copyright (c) Atomitech Corporation. All rights reserved. CI 数十秒間隔でDSLを解析し、ほぼリアルタイムでシ ナリオフロー図の更新と文法エラーの検出を行っ ている シナリオフロー図をワークショップ会場にプロジェク ションするなど、変化していく状態遷移図の状況を 共有することで、進捗や課題を簡単に共有できる 7
  8. 8. Copyright (c) Atomitech Corporation. All rights reserved. 見える化 香盤表の情報も併せ持ったシナリオフロー図のほ ぼリアルタイムな自動生成により、コードの状態を 把握可能としている 8
  9. 9. Copyright (c) Atomitech Corporation. All rights reserved. 「プルリク」「ペアプロ」「コミット駆動「CI」 「プルリク」では、共有不足をレビューで補う 「ペアプロ」では、共有の及ぶ範囲が限定的 コミット駆動「CI」では、変化に遅延する 殆どのコードはDSL化していく 3人ぐらいで書ける リアルタイム共同編集に適合する領域は 拡大していく 9
  10. 10. Copyright (c) Atomitech Corporation. All rights reserved. ● XP祭り2014: 俺の考えたイテレーションの未来!!(ワークショップ) ● ソフトウェア品質シンポジウム2014: 高品質ノベルゲーム開発基盤の提案(講演) ● GCS2015: リアルタイム共同編集によるプロトタイピング(講演) ● CEDEC2015: リアルタイム共同編集によるプロトタイピング(展示) ● ソフトウェア品質シンポジウム2015: 協働体験から、この先のプロセスを考えてみよう (ディスカッション) 既出情報 10

×