Capstone Mini Projects
Project Scope Plan
Pick a Focus
A small project starts by naming the work and keeping the expected task count visible.
Program
Play the script to choose a capstone focus and see the planned effort update.
project_scope_plan.R
Replay: real traced execution (multi-file project)
project_index <- 2
projects <- c("sales_report", "quality_check", "forecast_note")
task_counts <- c(3, 4, 5)
project <- projects[project_index]
tasks <- task_counts[project_index]
label <- paste(project, tasks, sep = ":")
cat(label, "\n", sep = "")
project_index <- 1
projects <- c("sales_report", "quality_check", "forecast_note")
task_counts <- c(3, 4, 5)
project <- projects[project_index]
tasks <- task_counts[project_index]
label <- paste(project, tasks, sep = ":")
cat(label, "\n", sep = "")
project_index <- 3
projects <- c("sales_report", "quality_check", "forecast_note")
task_counts <- c(3, 4, 5)
project <- projects[project_index]
tasks <- task_counts[project_index]
label <- paste(project, tasks, sep = ":")
cat(label, "\n", sep = "")
project_index ← 2
1project_index <- 22projects <- c("sales_report", "quality_check", "forecast_note")values this step2project_indexprojects ← sales_report, quality_check, forecast_note
1project_index <- 22projects <- c("sales_report", "quality_check", "forecast_note")3task_counts <- c(3, 4, 5)values this stepsales_report, quality_check, forecast_noteprojectstask_counts ← 3, 4, 5
2projects <- c("sales_report", "quality_check", "forecast_note")3task_counts <- c(3, 4, 5)4project <- projects[project_index]values this step3, 4, 5task_countsproject ← quality_check
3task_counts <- c(3, 4, 5)4project <- projects[project_index]5tasks <- task_counts[project_index]values this stepquality_checkproject2project_indextasks ← 4
4project <- projects[project_index]5tasks <- task_counts[project_index]6label <- paste(project, tasks, sep = ":")values this step4tasks2project_index3, 4, 5task_countslabel ← quality_check:4
5tasks <- task_counts[project_index]6label <- paste(project, tasks, sep = ":")7cat(label, "\n", sep = "")values this stepquality_check:4labelquality_checkproject4taskscat(label, " ", sep = "")
6label <- paste(project, tasks, sep = ":")7cat(label, "\n", sep = "")outputquality_check:4values this stepquality_check:4label
project_index ← 1
1project_index <- 12projects <- c("sales_report", "quality_check", "forecast_note")values this step1project_indexprojects ← sales_report, quality_check, forecast_note
1project_index <- 12projects <- c("sales_report", "quality_check", "forecast_note")3task_counts <- c(3, 4, 5)values this stepsales_report, quality_check, forecast_noteprojectstask_counts ← 3, 4, 5
2projects <- c("sales_report", "quality_check", "forecast_note")3task_counts <- c(3, 4, 5)4project <- projects[project_index]values this step3, 4, 5task_countsproject ← sales_report
3task_counts <- c(3, 4, 5)4project <- projects[project_index]5tasks <- task_counts[project_index]values this stepsales_reportproject1project_indextasks ← 3
4project <- projects[project_index]5tasks <- task_counts[project_index]6label <- paste(project, tasks, sep = ":")values this step3tasks1project_index3, 4, 5task_countslabel ← sales_report:3
5tasks <- task_counts[project_index]6label <- paste(project, tasks, sep = ":")7cat(label, "\n", sep = "")values this stepsales_report:3labelsales_reportproject3taskscat(label, " ", sep = "")
6label <- paste(project, tasks, sep = ":")7cat(label, "\n", sep = "")outputsales_report:3values this stepsales_report:3label
project_index ← 3
1project_index <- 32projects <- c("sales_report", "quality_check", "forecast_note")values this step3project_indexprojects ← sales_report, quality_check, forecast_note
1project_index <- 32projects <- c("sales_report", "quality_check", "forecast_note")3task_counts <- c(3, 4, 5)values this stepsales_report, quality_check, forecast_noteprojectstask_counts ← 3, 4, 5
2projects <- c("sales_report", "quality_check", "forecast_note")3task_counts <- c(3, 4, 5)4project <- projects[project_index]values this step3, 4, 5task_countsproject ← forecast_note
3task_counts <- c(3, 4, 5)4project <- projects[project_index]5tasks <- task_counts[project_index]values this stepforecast_noteproject3project_indextasks ← 5
4project <- projects[project_index]5tasks <- task_counts[project_index]6label <- paste(project, tasks, sep = ":")values this step5tasks3project_index3, 4, 5task_countslabel ← forecast_note:5
5tasks <- task_counts[project_index]6label <- paste(project, tasks, sep = ":")7cat(label, "\n", sep = "")values this stepforecast_note:5labelforecast_noteproject5taskscat(label, " ", sep = "")
6label <- paste(project, tasks, sep = ":")7cat(label, "\n", sep = "")outputforecast_note:5values this stepforecast_note:5label
project scope
The selected project name states the focus of the mini project.
task count
A small numeric estimate keeps the project bounded.
capstone label
The final label combines focus and effort into one reviewable value.