オブジェクト指向には、オブジェクトの他に、クラスとインスタンスという概念があります。
クラスは設計図のようなもので、クラスを実体化(インスタンス化)したものがインスタンスです。
オブジェクトは、クラスとインスタンスの総称です。
例え話で考えてみましょう。
クラス:車の設計図
車の色、大きさ、エンジン、タイヤの数など、車の一般的な特徴や動作を定義します。
インスタンス:実際に作られた一台一台の車
赤いセダン、青いSUV、白いスポーツカーなど、設計図に基づいて作られた個々の車です。
それぞれ、色や性能などが異なりますが、共通して「車」という特徴を持っています。
[0回]
PR
# 要素への処理 for 要素 in リスト if 条件式
ppap = ["Pen", "Pico", "Pico", "Pineapple", "Pico", "Apple", "Pen", "Pico"]
new_ppap = [p*2 for p in ppap if p != "Pico"]
print(new_ppap)
[0回]
手順が詳細にわかっているために、WBSの項目がその手順に
引きずられて細かくなってしまいがちですが、
これはよくあることですが、WBSの目的を見失いがちな点でもあります。
では、どのように修正すればいいのでしょうか。そのポイントを書き出してみます。
<WBSの目的とは?>
WBSの目的は、プロジェクト全体の作業を階層的に分解し、全体像を把握することです。
詳細な手順は、WBSの各項目に対して作成する作業計画書などに記述するのが一般的です。
WBSの粒度を調整するポイント
<作業の目的を見極める>
各作業の目的は何ですか?
その目的を達成するために、どのようなアウトプットが必要ですか?
アウトプットを達成するために必要な最小限の作業は何か?
<管理の視点で考える>
この作業を誰が担当しますか?
進捗をどのように確認しますか?
問題が発生した場合、どこで対応しますか?
<8/80ルールを参考に>
1つの作業にかかる時間が、8時間以上80時間以下になるように
調整すると、粒度が適切になることが多いです。
<詳細な手順は別途管理>
WBSでは、作業の目的とアウトプットを明確にし、
詳細な手順は作業計画書などに記述します。
具体的にどのように調整するか?
例えば、「資料作成」という作業が非常に細かく分かれているとします。
現状:
資料作成
→資料構成を考える
→資料の骨組みを作成
→資料のデザインを決める
→資料を書く
→図表を作成
→資料を修正する
調整後: 資料作成(資料構成、骨組み作成、デザイン決定、執筆、図表作成、修正を含む)
このように、目的が同じ作業はまとめることで、粒度を調整できます。
<まとめ>
WBSは、プロジェクト全体を俯瞰するためのツールです。
詳細な手順にこだわりすぎず、目的を達成するために必要な
最小限の作業に焦点を当てて、適切な粒度でWBSを作成することが重要です。
[0回]
# リモートサーバー名と共有フォルダ名、出力先を指定
$remoteServer = "NameServer01"
$shareName = "G$"
$outputPath = "C:\Temp"
# 出力ファイル名(タイムスタンプ付き)
$outputFile = Join-Path $outputPath ("$($shareName)_DriveInfo_$(Get-Date -Format yyyyMMdd_HHmmss).csv")
# リモートGドライブの情報を取得し、CSVファイルに出力
Get-ChildItem -Path "\\$remoteServer\$shareName" -Recurse | Select-Object Name, LastWriteTime, FullName | Export-Csv -Path $outputFile -NoTypeInformation
# 結果を表示
Write-Host "結果を以下のファイルに出力しました:" $outputFile
[0回]
カレントディレクトリ配下のディレクトリを再帰的に検索して
1GB以上のファイルをDドライブに出力している。
Get-ChildItem -Recurse -Force | Where-Object {$_.Length -gt 1GB} | Select-Object FullName, @{Name='SizeGB';Expression={$_.Length / 1GB}} > D:\largefiles.txt
[0回]