こちらから持ってきました
Google のソフトウェア・エンジニアリング
「書く」のは特別な道具
プロジェクトのタイトル
[例:作成するライブラリの名前は]
プロジェクトの目的
[何を実現するの?]
プロジェクトの背景
[どんな背景があるから実現するの?]
ハイレベルアーキテクチャ
[コードだけでは分からない作成物のアーキテクチャを画像などで]
プロジェクトの参加者
[連絡先が大切。誰が参加するのかを明らかにしよう]
仕様(とくに従うべき仕様がなければ飛ばす)
実装する仕様
[事前に仕様が決まっていたら]
既存のものとの相違点
[既存のものと何が違うのか、比較対象の仕様があれば言えるだろう。]
関連する仕様
[関連する仕様があれば]
各クラスの概要
[各クラスの概要を書く。]
実装
インターフェイス
[各クラスのインターフェイスの概要。hファイルや、javadocやpod形式かな。関数や構造体を定義するコードとコメント。]
処理フロー
[「どのように処理をおこなうか」を各関数内の処理フローを上記で説明したインターフェイスに基づき、自然言語で詳細に書く]
作成物の使用例
[おもにサンプルコード]
セキュリティやプライバシーについての考察
[考えられる問題と、それに対する対処方法]
既知でオープンな問題
[事前にわかっている様々な課題]
テスト計画、モニタープラン
[思いついたテストを思いついただけ書く] [テストケースの記述] [運用時の考慮。障害の発見方法や、復旧方法など]
参考文献
[参考文献を書く]
レポジトリ
[サーバのアドレスや位置]
Docの編集の履歴
[編集日、編集者、何をしたのか、の3つ組を書く]