Prototype development
UAT 494 Unmanned Aircraft Systems and Automation Technology Capstone Project II
Lesson
By the end of this module you will be able to
- Plan prototype development as increments that can each be tested and flown
- Update the mass and energy budgets from real parts and check the margins
- Track progress with earned value and the SPI and CPI indices
- Decide how to adjust scope when the project falls behind plan
Why this matters
The first semester of the project (UAT 493) ended with a proposal. This semester is about building what was proposed, making it work, testing it and presenting it to a committee. The biggest risk is building everything at once and joining it all at the end, which hides where problems come from and usually misses the deadline. The course continues the UAT 493 case: an automated drone system that inspects a 2 km irrigation canal. All numbers are hypothetical. The Python code can be downloaded from /downloads/uat-494/.
Develop in increments
The NASA Systems Engineering Handbook and the design text by Dym and colleagues both recommend reducing risk by developing in steps that can each be verified. For this project, every increment must fly and be testable:
- Increment 1 flies the canal route automatically
- Increment 2 adds image capture at the designed spacing
- Increment 3 adds crack detection on the onboard computer
- Increment 4 adds report generation for the irrigation office
If time runs out, the team still has a working increment to show the committee, which is far better than having every part but never having flown them together.
A mass budget from real parts
In the proposal, masses were estimates. Once parts arrive, weigh them and update the budget. The drone knowledge base’s unit on design and system integration warns that wiring, connectors, mounts and covers are the items most often left out.
Example 1 Mass budget of increment 3
The team set a maximum take-off mass of 2,000 g from thrust and endurance, and wants a margin of at least 10% (hypothetical values).
M_MAX, MARGIN_REQ = 2000, 0.10 # g, minimum margin
parts = { # part: (proposal estimate g, weighed g)
"frame": (500, 520), "motors x4": (240, 248), "ESC 4-in-1": (35, 40), "props x4": (48, 48),
"battery": (520, 540), "flight controller": (40, 40), "GNSS": (30, 30),
"companion computer": (50, 60), "camera + gimbal": (170, 190), "radio": (25, 25),
"wiring & connectors": (0, 70),
}
est = sum(a for a, _ in parts.values())
real = sum(b for _, b in parts.values())
for name, (a, b) in sorted(parts.items(), key=lambda kv: kv[1][0] - kv[1][1]):
if b != a:
print(f"{name:<20} {a:>4} -> {b:>4} g ({b - a:+d})")
for label, m in (("proposal estimate", est), ("weighed", real)):
margin = (M_MAX - m) / M_MAX
print(f"{label:<17} {m} g, margin {margin:.1%} {'ok' if margin >= MARGIN_REQ else 'BELOW REQUIRED'}")
wiring & connectors 0 -> 70 g (+70)
frame 500 -> 520 g (+20)
battery 520 -> 540 g (+20)
camera + gimbal 170 -> 190 g (+20)
companion computer 50 -> 60 g (+10)
motors x4 240 -> 248 g (+8)
ESC 4-in-1 35 -> 40 g (+5)
proposal estimate 1658 g, margin 17.1% ok
weighed 1811 g, margin 9.4% BELOW REQUIRED
Wiring and connectors, missing from the original budget, are the largest increase. The margin has fallen below the target, so the team must choose: lighten the camera and gimbal, use a smaller battery and re-check endurance, or ask the advisor to relax the target with a justification.
Tracking with earned value
Earned value compares three quantities in the same unit (here, work hours): PV, the work that should be done by now according to plan; EV, the planned value of the work actually completed; and AC, the effort actually spent. The NASA EVM reference card defines and . Values above 1 are good; below 1 means behind schedule or spending more effort than planned.
Example 2 Project status at week 6
The whole plan (BAC) is 300 hours over 12 weeks.
BAC = 300 # planned hours for the whole project
PV, EV, AC = 120, 100, 130 # week 6
spi, cpi = EV / PV, EV / AC
eac = BAC / cpi
print(f"SPI {spi:.2f} (behind schedule)" if spi < 1 else f"SPI {spi:.2f}")
print(f"CPI {cpi:.2f} -> estimate at completion {eac:.0f} h vs budget {BAC} h (+{eac - BAC:.0f} h)")
weeks_left = 6
need = (BAC - EV) / weeks_left
print(f"to finish on time the team must earn {need:.1f} h of planned work per week (plan was {BAC / 12:.0f})")
SPI 0.83 (behind schedule)
CPI 0.77 -> estimate at completion 390 h vs budget 300 h (+90 h)
to finish on time the team must earn 33.3 h of planned work per week (plan was 25)
The team is getting about three quarters of the planned value for the effort spent. At this rate it will overrun by about 30% and must raise its weekly output sharply. The more realistic path is to cut scope in the MoSCoW order agreed in UAT 493, for example deferring the Could items, and to tell the advisor.
Module lab
Lab: the first flyable increment
- Split the plan into at least three increments, each with a testable definition of “working”
- Weigh every real part, update the mass budget with Example 1, and update the energy budget to match
- Build increment 1, test it in SITL first, then fly it in an authorised area
- Log work hours every week and compute SPI and CPI with Example 2
- Meet the advisor every two weeks with progress numbers
Common mistakes
Watch out
- Building every part separately and joining them at the end
- Not weighing real parts and using the seller’s figures instead
- Leaving wiring, connectors and mounts out of the mass budget
- Reporting progress as a feeling instead of numbers
- Not cutting scope once the project is known to be late
Summary
- Develop in increments that can each fly and be tested, so there is always a working system
- Update the mass budget from real parts and check the margin
- SPI = EV/PV and CPI = EV/AC show how far behind or over effort the project is
- When behind, cut scope in the agreed priority order
Check your understanding
- The maximum mass is 2,000 g and the real mass is 1,850 g. What is the margin?
- PV 80, EV 60, AC 75. What are SPI and CPI?
- BAC is 300 hours and CPI is 0.8. What is the estimate at completion?
- Why should every increment be flyable?
- Which items are most often missing from a mass budget?
Answers
- SPI , CPI
- hours
- Problems are found early, and there is always a working system to deliver even if time runs out
- Wiring, connectors, mounts and covers
Key formulas
| Mass margin | |
| Schedule and cost indices | |
| Estimate at completion |
Key references
- National Aeronautics and Space Administration. (2016). NASA systems engineering handbook (NASA/SP-2016-6105 Rev 2). link
- Dym, C. L., Little, P., & Orwin, E. J. (2013). Engineering design: A project-based introduction (4th ed.). Wiley. link
- INCOSE. (2023). INCOSE systems engineering handbook: A guide for system life cycle processes and activities (5th ed.). Wiley. link
- National Aeronautics and Space Administration. Earned value management reference card. link
- Project Management Institute. (2025). A guide to the project management body of knowledge (PMBOK guide) (8th ed.). link
Further reading
Study the assigned knowledge units in advance, review media and take the module quiz
In class / field
Team project work, advisor meetings and progress presentations
Learning evidence: Project milestone deliverables