Project management and scope: function points, timeboxing, WBS
Estimating project size with function points, converting to effort and schedule, scope creep and timeboxing. A step-by-step function point calculation often appears on the midterm.
Once feasibility in the planning phase says “let’s do it”, the project manager steps in. Their question: “How big is this job, how many people, how many months?” The exam heart of this week is the function point calculation: count the components, weight them, correct for complexity, and convert to lines of code, effort and schedule. Alongside come the definitions of scope creep, timeboxing and WBS.
Golden rules:
- The size, time, cost triangle. If one changes, at least one other changes.
- Function points in four steps: TUFP → APC → AFP → effort and schedule.
- Memorize the weight table, or if it is given on the exam, use the right row.
- Scope changes in writing. A change request comes as a document, and its impact is calculated.
What is project management?
Project management is the work of planning, organizing, monitoring and controlling in order to deliver the system at the desired time, budget and quality. The project manager’s four main jobs:
- Estimating project size (size, effort, time).
- Creating the work plan (tasks, durations, dependencies).
- Making the staffing plan (how many people, which roles, reporting structure, motivation).
- Coordinating and controlling the project (CASE tools, standards, documentation, risk management, scope management).
These four jobs are done by balancing size, time and cost. If the boss says “we want the system in 3 months”, the project manager has to propose either narrowing the scope or enlarging the budget.
Estimation method 1: industry standards
The simplest method: look at what percentage of the total effort the phases took in similar projects. A commonly used ratio table:
| Phase | Share |
|---|---|
| Planning | 15% |
| Analysis | 20% |
| Design | 35% |
| Implementation | 30% |
When planning is finished you know the actual planning effort, and you estimate the rest by the ratios. If planning took 3 person-months, the total is 3 / 0.15 = 20 person-months: analysis 4, design 7, implementation 6. A quick but rough method.
Estimation method 2: function points
Function points measure the size of the system from the functions the user sees, not from lines of code. It is independent of the programming language.
Five components
| Component | Abbreviation | Meaning | Example (food ordering app) |
|---|---|---|---|
| External input | EI | A screen/form that enters data into the system | Place an order, add an address |
| External output | EO | Computed output, a report | Daily sales report, invoice |
| External inquiry | EQ | A query that retrieves data without computation | Query order status |
| Internal logical file | ILF | A group of data the system maintains itself | Customer, Order, Menu tables |
| External interface file | EIF | Data maintained by another system and read | The payment provider’s transaction record |
EI, EO, EQ are transactions; ILF and EIF are files (data groups).
PITFALL · EO versus EQ. Both show data to the user. The difference: an EO contains a calculation (total, average, report). An EQ only retrieves stored data. “Show order status” is an EQ, “monthly revenue report” is an EO.
Weights
Each component is counted at low, average or high complexity:
| Component | Low | Average | High |
|---|---|---|---|
| EI | 3 | 4 | 6 |
| EO | 4 | 5 | 7 |
| EQ | 3 | 4 | 6 |
| ILF | 7 | 10 | 15 |
| EIF | 5 | 7 | 10 |
Steps
- TUFP (total unadjusted function points): in each cell count × weight, add them all up.
- PC (processing complexity): rate the 14 general system characteristics (data communications, distributed processing, performance, online data entry, ease of use, reusability, etc.) from 0 to 5 and add them. PC is between 0 and 70.
- APC (adjusted processing complexity): .
- AFP (adjusted function points): .
- LOC: AFP × the language-specific “lines per function point”.
- Effort (person-months): (KLOC = thousand lines).
- Schedule (months): .
Worked example: CampusEats
An app for ordering from cafeterias inside the university. The analyst produced these counts:
| Component | Low | Avg | High |
|---|---|---|---|
| EI | 6 | 4 | 2 |
| EO | 3 | 2 | 1 |
| EQ | 4 | 2 | 0 |
| ILF | 2 | 3 | 1 |
| EIF | 1 | 1 | 0 |
Step 1: TUFP.
EI : 6x3 + 4x4 + 2x6 = 18+16+12 = 46
EO : 3x4 + 2x5 + 1x7 = 12+10+7 = 29
EQ : 4x3 + 2x4 + 0x6 = 12+8+0 = 20
ILF: 2x7 + 3x10 + 1x15 = 14+30+15 = 59
EIF: 1x5 + 1x7 + 0x10 = 5+7+0 = 12
TUFP = 166
Steps 2-3: APC. The scores of the 14 factors were added: PC = 32.
APC = 0.65 + 0.01 x 32 = 0.97
Step 4: AFP.
AFP = 166 x 0.97 = 161.02
Step 5: LOC. The app will be written in Java, and the team measured 60 lines per function point in past projects:
LOC = 161.02 x 60 = 9,661 lines (9.661 KLOC)
Step 6: Effort.
effort = 1.4 x 9.661 = 13.53 person-months
Step 7: Schedule and team.
schedule = 3.0 x 13.53^(1/3) = 3.0 x 2.383 = 7.15 months
team ≈ 13.53 / 7.15 = 1.89 → about 2 people
Interpretation: a team of 2 would finish this app in about 7 months. If management wants 4 months, the project manager proposes narrowing the scope (for example leaving the EIF, that is the external payment integration, to a later version) or timeboxing. Just adding people does not shorten the time proportionally.
TIP · cube root. On a calculator, type
x ^ (1/3)for . If you forget the parentheses,x^1 / 3is computed.
Work plan and WBS
The work plan is a dynamic schedule that shows all the tasks of the project, their durations, owners and dependencies. Its basis is the work breakdown structure (WBS): dividing the project hierarchically into small tasks.
1 CampusEats
1.1 Planning
1.1.1 System request
1.1.2 Feasibility
1.2 Analysis
1.2.1 Cafeteria interviews
1.2.2 Use case model
1.3 Design
1.3.1 Database design
1.3.2 Interface sketches
1.4 Implementation
1.4.1 Coding
1.4.2 Testing
A WBS can be built in two ways: by SDLC phases (as above) or by products (order module, payment module, reporting module). For each lowest-level task: duration estimate, responsible person, dependencies, deliverable. If a task takes longer than a reporting period, it is split further. After the WBS, the schedule is drawn with tools like Gantt and PERT (week 4).
Scope management
Scope creep
Scope creep is the unplanned growth of requirements after the project has started. The sentence “what if we add this too, it’s a small thing” is the most dangerous sentence. A feature added during design or coding is many times more expensive than one added during analysis.
Ways to control it:
- Gather requirements early and completely (JAD, prototype).
- Put the requirements in writing and get them approved.
- Accept changes with a change request: who asked, why, the impact on time and cost, approval.
- Postpone unapproved or low-priority requests to the next version.
Timeboxing
In timeboxing the delivery date is fixed, and functionality is made flexible:
- Set the delivery date and freeze it.
- Prioritize the requirements.
- Build the most important core features.
- When the date comes, deliver whatever is finished (without compromising quality).
- Move the remaining features to the next “timebox”.
The sprint in agile is also a timebox.
Team and risk
Staffing plan: Dividing effort by schedule gives the average team size. As the team grows, communication channels increase as : 6 channels with 4 people, 28 with 8. That is why large teams are split into subgroups and a reporting structure is set up.
Risk assessment: For each risk, a probability, an impact and a mitigation plan are written. Example: “The payment provider’s API may change; probability medium, impact high; write an adapter layer.”
Standards and documentation: Documentation standards, coding standards and change request forms keep the project consistent. The project binder stores all the deliverables.
Common mistakes
| Wrong idea | The truth |
|---|---|
| APC = 0.65 × PC | APC = 0.65 + 0.01 × PC |
| PC is at most 14 | 14 factors × 5 points = at most 70 |
| EO and EQ are the same thing | EO contains a calculation, EQ only retrieves |
| ILF = every screen | An ILF is a data group the system maintains (a set of tables) |
| Effort = AFP × 1.4 | Effort = 1.4 × KLOC; convert to lines first |
| Schedule = effort / 3 | Schedule = 3.0 × effort to the power 1/3 (cube root) |
| In timeboxing quality is flexible | Scope is flexible, quality and date are fixed |
| Add people to a late project | The communication load grows, it gets even later |
Test yourself
Exam-style questions. Solve them on paper first, then reveal the answer.
What are the three trade-offs a project manager balances?
Show answer
Project size, time and cost are linked. If the scope grows, either time or cost (or both) increases. If you want to shorten the time, either the scope shrinks or more resources (money) are needed. You cannot improve all three at once while keeping quality fixed.
A system has 5 average external inputs, 3 high-complexity external outputs and 2 average internal logical files. What is its TUFP? (Weights: EI avg 4; EO high 7; ILF avg 10.)
Show answer
5 × 4 = 20, 3 × 7 = 21, 2 × 10 = 20. Total 20 + 21 + 20 = 61 unadjusted function points.
A system has TUFP = 200. The sum of the 14 processing complexity ratings (PC) is 45. What is the adjusted function point count?
Show answer
. .
Each of the 14 processing complexity factors is rated 0 to 5. What are the minimum and maximum possible values of APC?
Show answer
PC is at least 0 (all 0) and at most 14 × 5 = 70. APC = 0.65 + 0.01 × PC, so between 0.65 and 1.35. The complexity adjustment can reduce TUFP by at most 35% or increase it by at most 35%.
If all 14 complexity factors are rated 3 (average), what is APC?
Show answer
PC = 14 × 3 = 42. APC = 0.65 + 0.42 = 1.07.
A system is estimated at 150 adjusted function points and the language averages 50 lines of code per function point. Using effort = 1.4 × KLOC and schedule = 3.0 × effort^(1/3), find the effort and the schedule.
Show answer
LOC = 150 × 50 = 7,500 → 7.5 KLOC. Effort = 1.4 × 7.5 = 10.5 person-months. Schedule = months. Average team ≈ 10.5 / 6.57 ≈ 1.6 people.
A project of 20,000 lines of code: what is the estimated effort and schedule with the same formulas?
Show answer
20,000 LOC = 20 KLOC. Effort = 1.4 × 20 = 28 person-months. Schedule = months.
Using the industry-standard ratios planning 15%, analysis 20%, design 35%, implementation 30%: planning took 3 person-months. Estimate the design effort.
Show answer
Planning is 15% of the total: total = 3 / 0.15 = 20 person-months. Design = 20 × 0.35 = 7. (Analysis 4, implementation 6.)
What is scope creep and name one way to control it.
Show answer
Scope creep is the unplanned addition of new features after the project has started. The most expensive form is changes that arrive during design or coding. Control: clarify requirements early, accept changes through a written change request, calculate their impact (time, cost), and leave unapproved ones for the next version.
Which statement describes timeboxing?
- Adding people to a late project
- Fixing the delivery date and reducing functionality if needed
- Estimating effort from lines of code
- Drawing tasks as boxes in a network diagram
Show answer
In timeboxing the delivery date is fixed. The most important requirements are done first, and low-priority features that don't make it are left for the next version. Quality is not reduced, the scope is made flexible.
In a work breakdown structure, what is a task that cannot be broken down further usually called, and what should it have?
Show answer
A WBS divides the project hierarchically into tasks. The lowest-level tasks (work packages) should be assignable, estimable and measurable: duration, owner, dependency, deliverable. Rule: if a task takes longer than a reporting period (e.g. 1-2 weeks), split it.
Adding more people to a late software project usually does what, and why?
Show answer
Brooks's law: adding people to a late project makes it even later. New people need time to learn, the old team is busy training them, and the number of communication channels grows as n(n-1)/2. With 5 people there are 10 channels, with 10 people 45 channels.
Verification: All function point, APC, LOC, effort and schedule values were computed with node (verify/SEN2022/03.mjs, weight table in lib.mjs). The formulas used for effort and schedule (effort = 1.4 x KLOC, schedule = 3.0 x effort^(1/3)) and APC = 0.65 + 0.01 x PC are given explicitly on the page. Conceptual questions were compared with the standard definitions.