図書館のデジタルアーカイブCMS開発・運用保守

OVERVIEW

課外活動として、図書館のデジタルアーカイブCMS開発・運用保守のプロジェクトにリーダーとして参加。図書館職員の方とのヒアリングを通じて、少しずつシステムを形にしながら何度も打ち合わせを行った結果、満足度の高いシステムを提供することができました。

YEAR 2013 - 2016

概要

課外活動として、図書館のデジタルアーカイブCMS開発・運用保守のプロジェクトにリーダーとして参加していました。

システム自体はすでに構築されており、バージョンが古くなったシステムのアップデートや、不具合改善、新規機能開発がメインのプロジェクトでした。

使用技術・ツールなど

  • Cake PHP(当時1.3)
  • MongoDB
  • Zoomify
  • imagemagick
  • Python
  • Redmine
  • Slack
  • GitHub

ユーザーへのヒアリング

このプロジェクトは何年も引き継がれて運用されているのですが、ある時既存システムの改善をする際に、従来の仕様の意図がわからず、適切な改善案が検討できないという問題がありました。そこで、私は図書館職員の方に、実際の業務を見学させて頂くよう提案しました。その結果、こちらが認識していた業務の内容と異なるところが明らかになり、おかげで本当にユーザが必要としている機能を検討・開発をすることができました。的確に物事を分析し、ユーザーとの認識の齟齬が無く、その改善策の方針を定めることができました。

保守性の高いシステムやドキュメント整備の重要性

このプロジェクトは何年も引き継がれてきた、継続的なプロジェクトなのですが、メンバーへの引き継ぎをする際に、業務知識の文書化しておくことの重要性や、各機能の仕様だけではなく「なぜこの機能が開発されたのか」という経緯を残しておくことの重要性について学びました。そのため、自分が担当した機能においてはできるだけチケットや議事録に残しておくことを意識するようにしました。また、開発においては保守性の高いシステムの設計やソースコードを書くことの重要性を学びました。わかりやすい変数名やコードの書き方について「リーダブルコード」などの本を読み学習し、メンバー間でのコードレビューも積極的に実施するようにしました。