ツールの使い方に関するノウハウをデザインパターンにまとめる事例
DataSpiderというパッケージ製品の記事を見ていたら、ツールの使い方に関するノウハウをデザインパターンにまとめる事例があったのでメモ。
RedmineのチケットをExcel形式でレポートしてみたコメントを投稿する |DataSpider Technical Network
あるソフトウェア製品を使いこなしていくと、それに関するノウハウが色々溜まってくる。そのノウハウは、ある利用シーンに対する効果的な使い方もあるし、製品の制約によって、こういう使い方しかできない、という場合もある。そんな時に、製品のノウハウをパターンカタログで表現する、という方法は面白い。
実際、下記のような記事で紹介されている。
(引用開始)ソフトウェア開発・設計・運用の現場でよく話題となる「デザインパターン」と呼ばれるものがあります。デザインパターンとは、過去に発生してきた多種多様な課題、およびそれに対する解決方法を分類して抽象化し、他の現場でも再利用できる形で一覧化したものです。デザインパターンを知ることにより、システム開発の担当者は、より効率的に課題に対する解決策を発見することができます。
「DataSpiderデザインパターンβ」は、このような「デザインパターン」をDataSpiderにおいても作成し、今後のDataSpiderを使用した開発・システム設計・運用に役立つものを作ろうとする試みです。
これにより、DataSpiderを用いたデータ連携システム開発の効率化に役立てていただくと共に、DataSpider技術者同士のコミュニケーションの円滑化、また既に稼働しているシステムのより良い改善等に役立つものになれば、と考えています。
DataSpiderのベンダーであるアプレッソは、2001年6月にDataSpider 1.0をリリースしてから十数年の間、DataSpider自体の開発はもちろん、多くのDataSpiderの開発・利用シーンを提案・支援してきた実績があります。そこでまずは、これまでの経験を下敷きに、叩き台として「DataSpider デザインパターン β」を提示しようと思います。(引用終了)
(引用開始)DataSpiderを使ったデータ連携システムの開発の中でも、さまざまなフェーズで何がベストプラクティスなのか悩むことがあると思います。例えば、Mapperの効率的な使用方法といったスクリプト開発の時点や、既存システムとDataSpiderをどう連繋させるかといったアーキテクチャのレイヤー、またテスト環境から本番環境への移行をどのように行うかという運用のフェーズなど、さまざまな場面においてデザインパターンを考えることができます。(引用終了)
(引用開始)また、1つ1つのパターンの中では、以下の項目でパターンを提示していく予定です。
1 課題パターンによって解決しようとしている課題を表します。
2 解決方法解決の方法を示します。
3 説明具体的な使用方法を説明します。
4 メリットこのパターンを使うことによって享受できるメリットを説明します。
5 注意点パターンを使用するにあたってデメリットや注意することがある場合、ここに示します。
6 関連事項他のパターンと密接な関係を持っている場合や、参考ドキュメントがある場合など、関連する事項をここに記述します。(引用終了)
パターンで表現する最大のメリットは、分かりやすいことだ。
どんなシーンで、パターンが有効なのか?パターンを使うと、どんな効果が出て、その効果が得られる範囲はどこまでなのか?そういうことが一目で分かる点は良い。
逆にデメリットは、パターンカタログで全てを網羅できているか不安であること、重複したり粒度にばらつきが出たりする場合があることだろう。そして、パターンを作っていく時に迷ってしまうのは、パターンを一つのストーリーにまとめることができるかどうか、にかかっている点だろうと思う。
パターン地図、ナビゲーションマップみたいに、パターンの関係を一つのストーリーや地図にまとめて、体系づけて理解したい。そうすれば、パターンをより一層深く理解できるはず。
たとえば、上記の記事では、製品の使い方や設計のパターンを「スクリプト開発パターン」「連携システム設計パターン」「運用パターン」にまとめている。おそらく、スクリプトで開発した→システム連携のモデルに当てはめる→実際に運用してみる、みたいな流れになるのかな、と想像する。
そういう事例を見ると、Redmineでも同様のパターンカタログを作ってみたくなってくる。以前、@akahane92さんが、ITSガイドラインを作ってみたいね、とツイートされていたが、その心は、Redmineの利用に関するパターンカタログを作ってみたいことに行き着くと思う。
この辺りの発想もまとめてみたいと思う。
| 固定リンク
「ソフトウェア」カテゴリの記事
- 「RedmineのUbuntu+Docker構築への移行」の感想 #redmineT(2024.11.24)
- Javaのモジュールシステムの考え方をまとめてみた(2022.10.21)
- Javaのenum型はシングルトンクラスみたいだ(2022.06.20)
- テスラが従来の自動車メーカーと異なるところは工場までソフトウェア化すること(2022.02.09)
- 「RubyやRailsは終わった」という記事のリンク(2022.01.09)
コメント