skillup

技術ブログ

ドキュメント作成 プログラミング全般 プロジェクト管理

新しいプロジェクトに入った時にやること

投稿日:2020年6月9日 更新日:

新しいプロジェクトに入った時に最初にすべきことややっておくことなど

仕様理解編

基本ですが、見落としがないように紙の資料は必ず印刷して考えること。文房具として消すことのできる色ペンがあるとさらに便利。

ユーザーの行動遷移の理解

図を使ってアニメ絵で以下の情報のメモ。実務に近い人がベター。

  • 行動とそれに伴う時間軸
  • 総プレイヤー(処理に関わる人、モノ、サービス)の洗い出し
  • データ(必ず生きたデータ、具体的なデータを使う)のフロー
  • 作業時のTPO(時間、場所、状況)
  • 作業発生時のイライラ(修正ポイントや仕様変更ポイントになりやすい。)

キー系のデータの理解

キーになるデータ(主にコード系)はデータや行動遷移の鍵になる場合が多いので別色で確認。

特に商品に複数のコードがある場合、コード数=関連するプレイヤー数になることが多い。

データグルーピング

上記行動フローに伴う中での物理的なデータ(テーブル図)の関連の理解、また近いデータの組み合わせや連動するデータのグルーピング。

サンプルパターンの洗い出し

TDDに近いのかもしれませんが、実データでどんなパターンがありえるかの洗い出し。単体テスト仕様書などがあればベスト。

技術編

プロジェクトの全容がわからなくてもできることなどに関してメモします。

共通・汎用系処理の確認

全プロジェクトでよく出る共通処理の確認。なければ作っておきましょう。(だいたいどのプロジェクトでも似たようなものが出てくるので自分なりの頻出パターンをGitHubなどでまとめておくと良いです。)

バックエンド

  • バリデーションの処理パターンの抽象化
  • 親クラスで頻出処理(主にDBの頻出処理とテーブルの変数化、マスターのkey-value系の出力)
  • SQLヘルパー(特に検索系。イコールや、from,toパターンを1行でかけるように)
  • DBのリレーションパターンの記法(FW独自の書き方がある場合。1:N、N:1、N:Nのパターンでどのように書くか)
  • CSV、メール系、PDFなどの専用クラスの作成
  • 例外クラスの作成
  • 配列加工系(今だとCollectionでFWに搭載されているのでよく出る記法を調べておくと良いかも)
  • 日付(よく出るパターンをチートシート化しておくと良いかも・・・)
  • 文字列加工

フロントエンド

  • select,radio,checkなどのHTMLヘルパー(選択肢を渡して、1、2行で記述できるように。)
  • css 頻出パターンの省略記法
    ( margin-top:10pxmt10 や flex_fs_c justify-content:center,align-items:center )
  • JS頻出ライブラリ(例:ページャー、モーダルなど。また初見のものがないか調べておくべし)
  • 配列加工(ライブラリを使うのが吉。sugar.jsやlodashがおすすめ)
  • 文字列系(特に金額を扱う画面の場合は、数値をカンマ文字列、カンマ文字列を数値にする、などや半角全角汎用処理)

初見処理の洗い出し

  • JSのライブラリやミドルウェア、他新規サービスなどでハマりポイントになりそうな部分の確認

他作業系

主によくある処理の時間の短縮化です。

  • エディタの一気に入れるプラグインや設定
  • テストデータ入力装置(バックエンドではコマンド、フロントではJSONから一気に入力できるメソッドの開発など)
  • 主にデータ入力などで使えそうなWEBサービスのリスト化(CSVからインサート文の作成マクロなど)
  • 画面を通さない(あるいは省略化できる)テストデータの入力経路の確保
  • 大量データの変換処理(例:プルダウン項目が100近くあるもののyaml化処理など。プログラムを作るプログラム)
  • 他繰り返しそうな処理の工数短縮できないかの工夫(Excelマクロやフリーツールなど)

-ドキュメント作成, プログラミング全般, プロジェクト管理
-,

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

エディタatomについて

今までのエディタですが、 gvim eclipse をメインに使ってました(PHPでは)。 エディタとか一旦なれるとなかなか変えにくいのでずっと上記のままでいこうと思ったんですが、今の現場でatomを …

no image

ChatGPTやGitCopilotについて

エンジニア業界のみならず、2023年の世の中でもおそらく大きな話題であろうChatGPTやAIツール(GitCopilot)について。 Contents1 ChatGPT2 GitCopilot Ch …

no image

プロジェクトごとのフェーズでやっておいたほうが良いと思うこと

またプロジェクトの途中ではありますが、自分の中で要件定義〜外部結合の始まりまでのフェーズを経験して思ったことなど Contents1 全般2 要件定義3 基本設計4 詳細設計5 製造6 単体テスト〜内 …

no image

レビューについて

以前、コードレビューそのもののポイントについてはコードレビュー時のポイントでまとめましたが、レビュー自体の体制の注意点やそこでの気づきなど。 Contents1 目的2 定型的なものはチェックリストを …

no image

短いコードを書く

私が普段コードを書くときに考えていることは常にいかに短くかけるか、ということといかにバグを生み出さないかということです。 基本的にはできるだけ、短くシンプルに書くようにしています。 そうすることであと …

アーカイブ