1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

[alexa day 2019 参加レポート]Backlog for Amazon Alexa enhance を 全部見せます

Posted at

概要

登壇者: 伊東 知治さん
スライド: https://speakerdeck.com/haruharuharuby/backlog-for-amazon-alexa-enhance
ターゲット: Alexa Skill の開発の経験があるかた、もしくは、興味のあるかた

プロジェクト管理ツール Backlog とリンクすることのできる Alexa Skill version 2のエンハンスの中身全部見せます。
全ての機能をどのようにエンハンスしていったか。会話設計から各APIの実装、テストまで全部見せます。

引用: https://alexaday2019.aajug.jp/session/168/

導入

  • Backlog for Amazon Alexaというスキルがあり、今回v2の開発において...な話
  • v1の設計は主に以下から構成していた
    • communicationレイヤー
      • ユーザーとの会話を豊かにするレイヤー
    • workflowレイヤー
      • 発話内容から意図を汲み取り、処理するレイヤー
    • repositoryレイヤー
      • backlogAPI叩いたりしてデータを扱うレイヤー

Be a adviser

  • ボイスアシスタントは機能ではなくノウハウを実装すべき(アドバイザーであるべき)
  • プロジェクトマネジメントにおけるボイスアシスタントの役割はなにか考える
    • プロジェクトマネージャーは普段どうしてるのか考えてみる
    • インプット -> 分析/判断 -> 決定 じゃね?
    • つまり、アシスタントからは意思決定のための情報が欲しい
    • backlogの全機能をalexaから使える事ではない
  • backlogとユーザーをつなぐ部分にボイスアシスタントが一手間加える感じ

それを踏まえて新しい設計/実装

  • v1の設計をベースに、以下を追加
    • analyticsレイヤー
      • backlogから取得したデータを分析するレイヤー
  • aws codeStarおすすめ
  • codeStarは裏でcloudformationのデプロイが走る
    • ASK-CLIより遅い
    • エディタがcloud9はちょいネック
  • プロジェクト作成後、即デプロイすること
    • パイプラインを確立させておく
    • その後変更を加えていくのが安パイ
  • interactionModelを作ってあとからcodeStar経由でのデプロイは不可能
    • 注意書きにもそうあるっぽい
  • スライドではi18n/localizationなことにも触れてるので、多言語対応するなら参考になる
  • communicationレイヤーでは Talkクラス を作って、会話を構成してる
  • workflowレイヤーはハンドリングするだけなのでとてもシンプルに

感想

設計論的な話がメインで、アプリケーション設計とか勉強している身としてはとても面白かった。

  • 関心事はなにか
  • ボイスアシスタントはなにをすればいいのか
  • オブジェクト指向
  • DRY
    などなどを考えた結果、こんな感じになったのかーととても心打たれた。

あと、codeStarおすすめは繰り返しおっしゃっていたので使ってみたい。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?