From Requirements to System Design

Real Industry Practice


Gavin Moh · Prismatic Technologies Sdn Bhd
15 May 2026

About Me

Gavin Moh

Senior Software Developer & DevOps
at Prismatic Technologies.

8+ years building software Across startups, software agencies, enterprise systems, and IoT products.
What I work on
IoT Cloud Backend & APIs Web Apps DevOps
The perspective I bring A practical view of how rough requirements become systems people can actually run and maintain.

My Company

Prismatic

Prismatic Technologies

We bridge the physical and digital worlds — IoT sensors, real-time data, and cloud insights for a greener, smarter future.

Flood Monitoring & Prediction

Early warning systems using real-time data to mitigate flood risks.

Continuous EIA on Construction

Monitor noise level and vibration on construction sites.

Earth Slope Monitoring

Detect ground movement via inclination and soil moisture sensors.

Assets Tracking

Monitor high-value assets across any environment with GPS and BLE tracking.

Today's Case Study

Sustainable Building Integrated

Real-time monitoring of energy, water and air quality.

SDLC models

Same phases, different rhythm

The models are maps, not the territory. They describe the shape of the work — but real projects don't follow straight lines.

Foundation

SDLC

Every project still moves through these concerns, even when the order is messy.

Plan Analyze Design Implement Maintain
Waterfall

One-way handoff

Best when uncertainty is low and each phase can be signed off before the next starts.

1Plan
2Analyze
3Design
4Implement
5Maintain
Agile

Fast learning loop

Best when requirements are still emerging and feedback is more valuable than certainty.

Plan
Build
Test
Learn

Case Study

Sustainable Building Integrated

The market reality that started it all.

📋 What Bursa Demands

  • Energy: MWh by renewable vs non-renewable, intensity ratio
  • Water: ML by source, water-stress areas, intensity
  • GHG: Scope 1, 2 & 3 in tCO₂e
  • 3 years of auditable comparative data

😰 What Companies Have

  • Track bills and meter readings
    manually in spreadsheets
  • Can't split energy by renewable
    vs non-renewable source
  • Emissions estimated from bills
    — if tracked at all
  • Data scattered across years of files.
    No baseline. No audit trail.
🎯 Look at the two columns. Do you see the gap?
Regulators demand granular, auditable data.
Companies can't produce it. Not in any reliable way.
🤔 But wait — is that really true?
Can companies truly not produce this data at all?
Of course they can.
They track bills. They log meter readings in spreadsheets.
They send someone to check the meters every month.
It's just slow. Inaccurate. Unauditable.
Regulators noticed this gap. They're pushing companies toward "reasonable assurance" — verified, real-time, auditable data. Not spreadsheets.

The Brief

So We Decided to Build Something

"Build an ESG monitoring platform."

That's it. That was the entire brief.

No RFP. No client interviews. No spec. No user stories. No wireframes.
Just an internal product vision.

This is normal in product companies — you have a direction, not a spec.

🎯 Put yourself in our shoes: Someone hands you this one sentence. What's YOUR first question?
What does "ESG monitoring" actually mean?
What data? Which metrics? How often?
→ Requirements elicitation
Who's going to use this?
Sustainability officers? Facility managers? Regulators?
→ Stakeholder analysis
Where does the data come from?
Existing meters? New sensors? Manual entry?
→ System boundaries & data sources
What are they reporting for?
Bursa compliance? Internal KPIs? Both?
→ Business objectives

Case Study · Discovery

First, We Had to Learn the Domain

📚 Step 1 — Understand ESG. We learned the GHG Protocol: Scope 1 (what you burn directly), Scope 2 (the electricity you buy), Scope 3 (everything else — suppliers, travel, waste). For most buildings, Scope 2 is the largest chunk. Every kilowatt-hour maps to a carbon equivalent. You can't report what you don't measure.
🎯 Step 2 — Decide where to start. We knew how to build IoT. We just learned the ESG landscape. Where would you begin?

⚡ Step 3 — Energy monitoring first.

Largest slice of Scope 2. Every building already has electricity meters.
It's the foundation — once energy data is flowing, water and carbon calculations layer on top.

We built a working prototype. We called it the MVP.

Case Study

Energy Was Just the Start

The energy MVP proved the concept. Over time, we added more sensors — one by one.

💧
Water

Consumption, flow rate, leak detection. Every litre has a carbon cost.

🌡️
Air Quality

Temperature, humidity, CO₂. Comfort index for occupants.

Automation

CO₂ too high? Trigger ventilation. No human needed to respond.

🎯 Each sensor type was developed and integrated one at a time. Energy first, then water, then air quality, then automation. Every addition taught us something new about the architecture.

Case Study · Deployment

Time to Put the MVP in a Real Building

Our first design was straightforward — and probably familiar:

📡 WiFi
Sensors
☁️ Cloud
Server
📊 Dashboard

WiFi sensors → internet → cloud → dashboard. Clean and simple — on paper.

🎯 Looks familiar, right? But a commercial building is not your living room.
⚠️ Dead zones everywhere
Mechanical rooms. Basements. Rooftops. No WiFi reaches where the meters actually live.
🚫 "You're not putting devices on our network."
Building owners have security policies. IT teams don't want unknown IoT devices on their WiFi.
🌐 Internet goes down → system is dead
At home, no big deal. In a commercial building with compliance obligations? A single outage means missing data.
Home ≠ commercial.
Residential = single phase. Commercial = 3-phase + digital power meters. Different hardware, different stakes.

Case Study · Recap

Let's Look at What Just Happened

Learned ESG. Scope 1, 2, 3. Energy is the largest chunk.

Narrowed to energy monitoring. Built a working prototype. MVP.

Deployed in a real building. WiFi sensors → cloud → dashboard.

WiFi dead zones. No network access. Pure cloud unreliable.

Plan
Build
Test
Learn
🎯 This is Agile. One sprint done. Now we apply what we learned and go again.

Case Study

WiFi Failed. What Replaces It?

📶 Cellular

1 SIM card per device. Who manages 100 SIMs across a building? Who pays the data plan? At building scale — far too expensive.

🔵 Bluetooth

Range is actually shorter than 2.4GHz WiFi. You'd need a gateway in every single room — same dead zone problem, just more hardware.

🔶 Zigbee

Mesh network — nodes relay through each other. Still needs a coordinator per floor. Adds networking complexity we didn't want at scale.

📡 LoRaWAN

Ultra-long range — one gateway covers an entire building. Low power — batteries last years. Own frequency — no dependency on building IT. Already proven in our other projects.

⚠ Trade-offs: Low data rate — we send only the most important readings. Limited 2-way communication — we designed simple relays for automation.

🎯 We didn't pick the "best" technology. We picked the one that fit our constraints — range, cost, power, and what we already knew.

Case Study

LoRaWAN Fixed Connectivity. What's Still Wrong?

📡 LoRa
Sensors
📶 Gateway
☁️ Cloud
📊 Dashboard
🎯 Building loses internet. What happens to your system?
📡 LoRa
Sensors
🧠 Edge
Gateway
☁️ Cloud
📊 Dashboard

⚡ Edge computing. Make the gateway smart. Automation runs locally — no cloud round-trip. Internet down? Gateway buffers readings, syncs when back online.

Case Study

The Dashboard Had Its Own Journey

While we solved connectivity and reliability on the hardware side, the software was evolving through its own discovery — one requirement at a time.

📊 First: just show everything

Power, voltage, ampere, temperature, humidity, CO₂, water flow. Display every reading we're collecting. Raw. Honest. Exhausting.

🔐 Then: protect it

Added login. Not everyone should see every building's data. Different users, different access.

📱 Then: stop expecting users to watch

People don't stare at dashboards all day. Added Telegram alerts — push notifications when something actually matters.

Case Study

The Dashboard Journey (Continued)

🏢 Multiple clients = copied code

Started deploying to more clients. Realized we were duplicating the entire codebase every time. Made it one multi-tenant platform — one codebase, many tenants.

👻 Then: nobody was looking

Users stare at the dashboard for two weeks. Then stop. Nobody cares about raw ampere readings. The dashboard that took months to build? Ghost town.

🌳 So: translate the numbers

Users don't feel kilowatt-hours. They feel trees saved. Cars off the road. Energy saved vs baseline after turning off the aircond at night. Help them tell their ESG story.

🎯 Then two more requirements hit us — both from outside, neither we planned for.

Case Study

Requirements You Don't Plan For

These came from the outside. Clients brought them to us.

🏗️ Building Energy Intensity (BEI)

Clients pursuing Green Building Index certification asked: "Can your platform track BEI — kWh per square metre per year?" We hadn't heard of it. We added it.

⚡ TNB maximum demand

Exceed your maximum demand during TNB's peak hours? Heavy penalty. Clients wanted monitoring and alerts before they hit the threshold. We added peak-hour tracking.

🎯 Every feature on these slides was discovered AFTER we started building. None of it was in the original brief. Requirements don't wait for a "phase" to end.

Reflection

Where Do Requirements Actually Come From?

🧠 Product vision
"Build an ESG monitoring platform" — one sentence. No spec.
📚 Domain research
Learning GHG Protocol, Scope 1/2/3, what Bursa actually requires.
⚠️ Technical failure
WiFi dead zones forced us to find LoRaWAN.
🔬 Technology research
Evaluating cellular, Bluetooth, Zigbee before choosing.
🙋 Client requests
"Can you track BEI? Can you monitor TNB peak demand?"
🔌 Regulatory discovery
Bursa ESG mandates. GBI scoring criteria. New rules, new features.
📊 Usage data
Nobody looked at the dashboard. Forced us to rethink storytelling.
None of these were JAD sessions or formal interviews.
But every one required communication — with a client, a domain expert, a regulator, a teammate.
🎯 Requirements gathering isn't a phase. It's a continuous conversation that happens through every channel, all the time.

Case Study

How We Actually Built and Shipped

🔄 You build it, you run it

No separate ops team. Developer writes, reviews, deploys, and owns it in production. Build → Review → Deploy. Ship fast, continuously.

🔌 Real hardware testing

You can't fully simulate IoT. Test environment with actual sensors and gateways. Without physical devices, you're shipping blind.

🛠️ Maintenance never ends

Firmware updates for devices. Security patches for gateways. Monitor production to catch issues before the client calls. System is never "finished."

🎯 The system is never "finished." New sensor type, new report format, new integration — there's always something next.

What Really Happens in Industry

Pure Waterfall is rare No client knows every requirement upfront.
Agile is usually hybrid Teams borrow the parts that help them move.
Small changes, often Ship continuously. Tiny increments reviewed and deployed fast beat big-bang releases.
Requirements keep arriving They do not politely wait for a "phase" to end.
The SDLC is not wrong Reality is more overlapping than the diagrams suggest.
Your job is adaptation Keep the system stable while the product learns.
Change is the constant If you cannot accept that things will change, this industry will feel painful.
Speed beats completeness Ship the MVP first, add features later. Users reveal what actually matters.

What This Case Study Taught Me

  1. Requirements are discovered, not collected.
    One sentence → LoRaWAN, edge, multi-tenant, BEI, TNB MD. None of it was in the original brief.
  2. Failure is a better teacher than planning.
    WiFi dead zones taught us connectivity. The ghost town dashboard taught us what users actually want.
  3. Constraints make better decisions than preferences.
    We didn't pick LoRaWAN because it's "better." Cellular was too expensive, BLE too short-range, Zigbee too complex. Constraints forced the right choice.
  4. You don't need to know everything upfront. Just start.
    Energy first. One sensor. One building. Learn. Then water. Then air quality. Then automation. Just start.

Questions?

Prismatic
From Requirements to System Design · Gavin Moh · Prismatic Technologies Sdn Bhd