スマートフォンアプリケーション開発演習で設定した4つの狙い
大学教員の業務は、大きく教育、研究、運営、社会貢献に分類されています。本ブログのエントリは、ほとんどが研究に関わる内容ですが、今回は教育に関するものを紹介してみたいと思います。
私が担当している演習でスマートフォンアプリケーションを開発しました。開発は2段階にわかれていて、最初は指定されたスペックのもの、その後、「利用者数を増やすことを目的とした機能を考えて実装してほしい」という要求に合わせてチームで考えて機能追加します。
日本IBMに協力いただいて、Worklightというスマートフォンアプリケーション開発のためのフレームワークを使いました。日本IBMの米持氏、大澤氏にご協力いただき座学で講義いただきました。また、RTCという構成管理や課題管理をはじめとする統合型の開発支援環境を活用し、分散非同期型の開発に挑戦しました。学生は3人または4人で1チームとし、そこに米持氏、大澤氏にも加わっていただきました。学生はRTCで米持氏、大澤氏に質問できます。
4つの狙いは必ずしもスマートフォンアプリケーションと密接な関わりがあるわけではありませんが、学生にとって今後必要になる点を意識しました。以下のとおりです。
演習の狙いの一つは、フレームワークを活用するにあたって、ドキュメントやWebから自分で調べて解決できるようになることでした。概要は座学で講義いただきましたが、具体的なコードは学生が自分で調べました。調べてプログラミングすることはエンジニアになってからは普通のことですが、必ずしも全ての演習で求められるわけではありません。フレームワークの設計思想や概念を理解して、使えるようにすることを本演習の狙いの一つとしました。
もう一つは、自分が面している問題の切り分け、整理した上で解決方法を求める質問をすることです。エンジニアとして働き始めると解決方法がわからなかったり、どうしていいかわからなかったりするときに、組織内外の有識者に聞いたり、フレームワーク、ミドルウェア、ツールのベンダに質問したりすることになります。そのときに自分が直面している問題は何で、どのように調べた結果わからないかを整理し、表現する必要があります。また、問題の切り分けのためにログをみたり、プログラムを変更し、その変更がどのように挙動に表れるかを確認したりします。
もう一つ、自分達にとって便利なアプリケーションの開発を通じて、「顧客の価値」がどのようなものであるかを体感することです。自分が利用者の立場にたって考え、アプリケーションは何を支援すべきでどうすればより便利になるか、それを小さいコストで開発するためにはどのあたりに注力し、どこを妥協するかを考えてもらうことができました。
最後に、チーム内で開発作業の透明性を上げることによって前進していることがわかったり、自分もがんばらなければという思いを持ったりすることを体験することも本演習の狙いです。他のチームメンバの活動は常に見えているわけではありません。今回はRTCを使い、ソースコードの更新やワークアイテムの更新によって、チームメンバの活動の透明性を上げることによる効果を体験してもらうことができました。ソーシャルネットワークサービスが日々の出来事を知らせてくれるような感覚で新鮮だったようです。
写真は演習の風景と開発したアプリケーションの画面写真です。自分のスマフォで自分の書いたコードが動くのは楽しく、苦労しながらもみんな楽しそうにしていました。
この演習の内容をIBM PROVISION誌 2013年No.76で紹介いただきました。開発したアプリケーションの画面写真や演習の風景等の写真があります。PROVISIONの目次はこちらから。記事のPDFはこちらから。同号にWorklightの解説もあります。
米持氏、大澤氏をはじめとしてご支援くださった日本IBMの方に、この場を借りて御礼申し上げます。貴重な経験をありがとうございます。