Skip to content

Instantly share code, notes, and snippets.

@irohiroki
Last active December 29, 2015 07:28
Show Gist options
  • Save irohiroki/7635929 to your computer and use it in GitHub Desktop.
Save irohiroki/7635929 to your computer and use it in GitHub Desktop.
実現したい機能に対してリソース(時間)が足りないときの開発ポリシー

緊急時の開発

本文書は、実現したい機能に対してリソース(時間)が足りないときの開発ポリシーをまとめたものである。これらのポリシーを一律にプロジェクトに適用するのが難しい場合は、機能毎に個別に適用を検討する。各項目には、機能実現の代償となるものも書き添える。

ファンシーな作り込みをしない

機能の実現に直接関係ない実装をしない。例えば、ページ遷移せずにJavaScriptでデータや画面を操作するなど。工数の少ない代替案がある場合は、開発者が仕様を提案する。

代償

UIの反応速度、意匠性など。

軽微なバグ/制限事項/開発中の課題を許容する

バグや制限事項を以下の基準で分類する。分類した上で、trivialやminorを許容する。実装中に許容される課題だけが残った場合、デリバーしてよい。

重度(major)

  • 主要な機能やデータに影響がある
  • 代替手段がないか、あっても簡単でない

軽度(minor)

  • 副次的な機能やデータに影響することがある
  • 不便を感じることがある
  • 簡単な代替手段がある

軽微(trivial)

  • 機能やデータに影響はない
  • 不便を感じることはない
  • 代替手段の必要すらない
  • 例: 画面内に不自然な余白がある
代償

完成度が低く見える場合がある。

特殊ケースをサポートしない

大多数のデータ/ユースケースで正常に動作する場合、残りの僅かなケースのための実装をしない。

代償

サポートしないケースで機能を使用できない。

新しいツール/ライブラリの導入や更新を避ける

開発環境の整備は長期的には価値が高いが、短期的にはコストになるので避ける。また、機能の実装の際も、新しい(または未経験の)ライブラリなどの使用を避け、素朴で既知の方法を選択する。

代償

継続すると開発環境やコードが陳腐化する。

リファクタリングをしない

テストコードは書くが、リファクタリングはしない。

代償

開発速度が徐々に低下する。また、開発者のストレスを増大させる。

© 2013 @irohiroki

クリエイティブ・コモンズ・ライセンス
この文書はクリエイティブ・コモンズ 表示 3.0 非移植 ライセンスの下に提供されています。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment