ポンコツPdM

プロフィール画像

独立系のSIerに務めるSE,PM。 仕事の上で得たIT関連やプロジェクト運営関連の知識を書きます。 使用技術:Java,ウェブ関連全般,データベース全般 (どれも広く浅く)

開発が遅れたら増員すればいい?『人月の神話』から考える判断材料

仕事・チーム開発

2026/9/8

開発が遅れたら増員すればいい?『人月の神話』から考える判断材料

開発が遅れると、「あと一人いれば」と考えたくなります。人手が有効な場面はありますが、人数の分だけ残り日数が減るとは限りません。 先に結論 何が止まっているかを先に分ける。作業量の不足と、仕様・環境・判断待ちでは必要な支援が違う。 渡して受け取れる仕事があるかを見る。引き継ぎ、受入条件、レビュー担当、残り期限まで確認する。 増員・範囲・期限を同じ前提で比べる。増員は必ず遅れを悪化させるものでも、解消するものでもない。 『人月の神話』を入口に、小さなチームの架空ケースで考えます。出版社・書誌の紹介情報に基づく ...

改修のテストはどこまでやる?単体・結合・手動の範囲を決める例

設計・テスト・レビュー

2026/9/8

改修のテストはどこまでやる?単体・結合・手動の範囲を決める例

「単体テストは通った。でも、画面やDBまで全部試すべき?」改修のたびに、どこまで確認すればよいか迷うことがあります。 先に結論 見つけたい失敗から、確認する範囲を選ぶ。変更した行数やケース数だけで決めない。 実物とモックを明記する。「単体・結合」は確認する範囲、「手動」は実施方法として分ける。 未確認のリスクも残す。省く確認は、判断する人と補う方法をセットで相談する。 この記事では、架空の問い合わせ管理を使い、入力・権限・検索の3つの改修からテスト範囲を考えます。確認を省くときの伝え方も、記入例で示します ...

AIが書いたコードをそのまま使っていい?提出前の確認チェックリスト

設計・テスト・レビュー

2026/9/8

AIが書いたコードをそのまま使っていい?提出前の確認チェックリスト

AIのコードで画面が動き、テストも通った。それでも、このまま仕事の成果物として提出してよいのか迷うことがあります。 先に結論 利用許可と、渡す情報を確認する。アカウント・用途・操作の範囲は、契約や設定と合わせる。 仕様は、許可・拒否・失敗の場面で照合する。正常に動いたことだけで判断しない。 確認済みと未確認を分けて採用を判断する。未確認がある相談用の成果は、その状態を明記する。 架空の問い合わせ管理を使い、提出前の判断材料を整理します。特定製品の性能や契約条件を比べる記事ではありません。所属先の規程と、採 ...

JavaのOptional.of(null)でNullPointerExceptionになる原因とofNullableとの違いを解説する記事のアイキャッチ。

実装・エラー解決

2026/9/6

JavaのOptional.of(null)でNullPointerExceptionになる原因|ofNullableとの違い

AIによる要約Optional.ofはnullではない値だけを受け取り、nullを渡すと生成時点でNullPointerExceptionになります。後ろにorElseを書いていても到達しません。nullを「値なし」として扱う仕様ならOptional.ofNullableを使うと、nullはOptional.emptyへ変換されます。ただし、必須値の欠落までofNullableで隠すのは危険です。ofとofNullableはNPEを避けるために機械的に選ぶのではなく、その値にnullを許可する契約かどうか ...

開発が納期に間に合わないときの報告|残作業と相談を伝える例文

仕事・チーム開発

2026/9/8

開発が納期に間に合わないときの報告|残作業と相談を伝える例文

約束した日に終わらないかもしれない。でも原因も完成日も、まだはっきりしない。そんな段階でも、いまの状態と必要な相談は先に共有できます。 先に結論 完了・残作業・期限への影響を伝える。完全な原因分析や回復時刻が出るまで待たない。 現状と、決めてほしいことを分ける。期限・範囲・支援のどこを調整したいか示す。 次に状況を返す時点を決める。完成の約束とは区別し、未確認でも続報する。 題材は、問い合わせ管理へ必須・1〜100文字の件名を追加する架空の改修です。以下の期限や時刻も説明用で、実際の予定や成果の報告ではあ ...

Javaでstatic contextから非staticメソッドを呼べないコンパイルエラーの原因と直し方を解説する記事のアイキャッチ。

実装・エラー解決

2026/9/6

Javaの「non-static method cannot be referenced from a static context」原因と直し方

AIによる要約non-static method cannot be referenced from a static contextは、staticメソッドなど現在のインスタンスが存在しない場所から、どのオブジェクトに対する処理かを指定せずにインスタンスメソッドを呼んだときのコンパイルエラーです。mainはstaticなので、非staticメソッドを呼ぶには対象オブジェクトを生成して変数経由で呼びます。メソッドがインスタンス状態やDIされた依存を一切使わない純粋な共通処理ならstatic化も候補ですが、 ...

開発の工数見積もりのやり方|実装以外の作業を含めた分解例

仕事・チーム開発

2026/9/8

開発の工数見積もりのやり方|実装以外の作業を含めた分解例

「半日くらい」と答えたのに、調査やテスト、レビュー修正が残って終わらない。見積もりでは、時間を当てる前に、見積もる作業を見えるようにします。 先に結論 実装以外も分けて見積もる。調査・テスト・レビュー対応・引き渡しまで、担当する終わりを揃える。 作業時間と待ち時間を区別する。合計時間だけで完成日を約束しない。 数字には前提と更新条件を添える。不明点は調査し、分かった時点で見積もり直す。 問い合わせ管理に、必須・1〜100文字の件名を追加する架空の改修を使います。以下の時間は説明用の仮置きで、実測値や業界標 ...

JavaのNo enum constantエラー原因とEnum.valueOfの安全な使い方を解説する記事のアイキャッチ。

実装・エラー解決

2026/9/6

Javaの「No enum constant」エラー原因|Enum.valueOfの安全な使い方

AIによる要約Enum.valueOfは、受け取った文字列を列挙定数名と大文字小文字まで含めて完全一致で探します。ACTIVEが定義されていてもactiveや末尾空白付きのACTIVEは一致せず、IllegalArgumentExceptionとNo enum constantが発生します。nullはNullPointerExceptionです。外部入力を無条件にvalueOfへ渡したり、すべて大文字へ直したりせず、APIや画面で受け付ける値を決め、必要なら業務用コードを持つfromValueメソッドで変 ...

JavaでListをループ中に削除するとConcurrentModificationExceptionになる原因と対処法を解説する記事のアイキャッチ。

実装・エラー解決

2026/9/6

JavaでConcurrentModificationExceptionになる原因|Listをループ中に削除する方法

AIによる要約ConcurrentModificationExceptionは、コレクションをIteratorで走査している途中に、そのIteratorが想定しない方法で要素の追加や削除が行われたときに発生する代表的な実行時例外です。名前にConcurrentとありますが、複数スレッドがなくても、拡張for文の中でList.removeを呼ぶだけで発生します。条件に合う要素を一括削除するならremoveIf、走査しながら現在要素を削除するならIterator.remove、元データを残して絞り込み結果を作 ...

Spring Bootの500 Internal Server Errorについて、ログとCaused byの確認順を解説する記事のアイキャッチ。

実装・エラー解決

2026/9/6

Spring Bootで500 Internal Server Errorになる原因|ログの確認順と対処法

AIによる要約Spring Bootの500 Internal Server Errorは、リクエスト処理中にサーバー側で未処理の例外が発生したときに返される代表的なステータスです。画面のWhitelabel Error Pageだけでは原因を特定できないため、発生時刻、URL、入力条件を記録し、サーバーログの例外型と最後のCaused by、自分たちのコードの行番号を確認します。NullPointerException、DB制約違反、SQL、テンプレート、JSON変換、外部APIなど原因は複数あります。 ...