【ソフト開発 アンチパターン】Golden Hammer

どんな問題?

  • ソフト開発チームがある特定の解決法やベンダー製品に親しみすぎると,
    • どんな場面にもお馴染みの手法で解決しようとしてしまう
    • 大抵の場合,問題に対してミスマッチな手法である
    • 代替手段を探そうとしなくなる

f:id:yusuke_ujitoko:20161206224635p:plain:w300

症状と結果

  • 多様な製品に対して,同じツールや製品を使ってしまう
  • その解決法は悪いパフォーマンス,スケーラビリティ.
  • システムアーキテクチャが特定の製品,アプリ,ベンダツールに依存している
  • 開発者が業界から孤立する.その結果,代替手段に関する知識と経験の無さを露呈する
  • 既存の投資を軽減しようとして,要件が完全には満たされない
  • 既存製品が,設計やシステムアーキテクチャを規定する

原因

  • 特定のアプローチで何度か成功している
  • 技術の経験を積むために大きく投資している
  • 業界内の他の企業からの距離が遠い
  • 自分の占有商品に対して信頼をおいている

どう解決する?

以下の3つが重要

  • 技術移転を可能にするには,ソフトウェアの境界をはっきりさせるべき
    • ソフトコンポーネントの可換性を向上させる
    • システムから実装の詳細を隠蔽させる

  • 管理側の仕事としては,
    • 柔軟なシステムとアーキテクチャにするべき
      • 初期段階は高価
      • 長期的には還元される
    • 他の分野・背景をもつ人を雇うべき

yusuke-ujitoko.hatenablog.com