SE5100 — Rapid Application Development

Exam Study Guide  ·  All 20 Concepts  ·  MSc SLIIT Semester 01

Module Overview

SE5100 covers the principles, methodologies, and tools for rapid application development — approaches that prioritise speed of delivery, iterative development, and stakeholder collaboration over rigid upfront planning.

High-Yield Topic Clusters

Topic ClusterKey Exam Patterns
Process Model SelectionWaterfall vs Spiral (drivers/flaws), Prototyping (not standalone), Incremental Development, 5 core attributes, exponential cost, safety-critical vs consumer tech scenarios
RAD vs. Agile7-dimension comparison; RAD timeboxing; Agile umbrella; 4 Pillars; 4 Phases; RAD Design Model; 4 Issues
ScrumRoles (ScrumMaster vs PO), ceremonies (Review=product vs Retrospective=process), DoD 5 criteria, Burndown Chart, user story format
XPTDD, Refactoring, Pair Programming — Scrum teaches management, XP teaches code quality
DevOps and CI/CDCI vs CD; 8-stage lifecycle; 6-stage pipeline + 4 properties; Docker vs Kubernetes; IaC 5 properties; 4 trade-offs; stats: 10x/30%/60%
ObservabilityThree Pillars: Logs (what?), Metrics (how?), Traces (where?); USE + RED methods; Observability vs Monitoring
Release StrategiesBlue-Green (instant swap, double infra), Canary (gradual %), Feature Flags (decouple deploy/release); comparison table
DDDUbiquitous Language (same terminology), Bounded Contexts (prevent model corruption)
KanbanWIP Limits, Pull System, "Stop Starting Start Finishing", continuous delivery; Kanban vs Scrum 6-dimension comparison
RAD Teams6 roles; servant leadership; 4 sourcing strategies; T-shaped professional; 4-stage onboarding; 6 knowledge transfer practices; 4 tracking metrics; UCD Cycle; JRP/JAD
CASE ToolsUnified analysis-to-code pipeline; Visual Modeling; 4GL; Component Repositories (84% cost); RepoGuard
Low-Code / No-Code"Prototype IS the Product"; Quickbase/Caspio; Prototype Fidelity (Lo-fi vs Hi-fi); Ajax; JRP & JAD
Product ManagementPM definition; "Fall in love with the problem"; User Persona 6 components; PM vs PM vs PO; PLC 5 stages (Nokia); Product Dev 6 stages; MVP
SE Ethics & LegalACM/IEEE Code; ISO 27000 series; Legal attack surface; Geographical compliance; BA case study (£20M)
SOLID5 principles; Code Viability Matrix; CI/CD Guardrail Funnel; Knight Capital case study ($460M)
Professional PracticesDynamic Tension Web; Complete Engineer; SRE + SLOs + Error Budgets; Green SE Carbon Stack; Groupthink Decay Curve; Sociotechnical Ecosystem
LeanOrigins (Toyota TPS → Poppendiecks 2003); 7 Principles; 7 Wastes; Kaizen/PDCA; 4 Anti-Patterns; 24→11 day worked example
VSMVSM definition; 21-day pipeline example (31% value-adding, 69% waste); 6-step workshop; 6 Lean Metrics incl. Little's Law and DORA
GenAI in RADGenAI Development Loop (6 stages); Traditional vs GenAI RAD comparison; Role transformations; 4 Risks; Strategic Methodology Mapping
Revenue Models & Licensing4 revenue models; 5 transaction sub-types; 5 license categories ordered by restrictiveness; Copyleft vs Proprietary distinction

Study Gaps (Not Yet in Notes)

Note: DSDM — named in lectures but not covered in depth. Design Patterns — named only in L1. "4 golden signals" (Latency/Traffic/Errors/Saturation) — mentioned in assignment, not covered in lecture body. No past papers ingested.

1 — Process Model Selection

Method Selection Principles

PrincipleDetail
No "Best" MethodologyEvery project is different. The best method is the one that fits your context — not the newest or most popular
Context Determines ChoiceRequirements clarity, timeline, team size, and risk tolerance all influence the decision
Predictability vs AdaptabilityThis is the fundamental trade-off. Know which one your project needs most — it drives all other choices
Important: "Success is not about choosing the newest method, but matching the process to specific constraints."

What is Software Engineering?

SE definition slide
PerspectiveDetail
IEEE Definition"The systematic application of scientific and technological knowledge to the design, implementation, and testing of software."
Google's Perspective"Programming integrated over time"
Economic RealitySoftware costs > Hardware costs; Maintenance costs > Development costs

Five Core Product Attributes

AttributeRole
PerformanceSpeed and responsiveness of the system
MaintainabilityEase of modifying and extending the system over time
DependabilityReliability, safety, and security
EfficiencyResource utilisation (CPU, memory, energy)
UsabilityEase of use for end users
Important: Costs rise exponentially when very high levels of a specific attribute are required.

Process Structure

Every process model — regardless of type — must address all four stages:

StageDescription
SpecificationDefine what the system should do
DesignDefine the system's structure and architecture
ValidationVerify the system meets requirements
EvolutionAdapt the system to changing needs over time

Foundational Process Models

Foundational process models

Waterfall Model (Plan-Driven)

Waterfall model
PropertyDetail
StructureSequential: Requirements → Design → Build → Test → Deploy
Driven byPlan
Best forFixed requirements + Low technical risk + Strict compliance
Critical FlawLate value delivery; high cost of change; if market changes mid-project, plan becomes obsolete
MetaphorWaterfall = Orchestra — everyone follows the score exactly; predictable only when the score is perfect
Contrast: Agile = Jazz — a structured framework for improvisation; adapts to what the audience needs; thrives when requirements evolve.

V-Model (Verification & Validation)

V-Model

Extension of Waterfall that maps each development stage to a corresponding testing stage:

Developer Life Cycle (left)Tester Life Cycle (right)
Business Requirements SpecificationAcceptance Testing
System Requirements SpecificationSystem Integration Testing
High Level DesignComponent Testing
Low Level DesignUnit Testing
Coding (bottom)
Important: The V-Model's key differentiator: every design step has a corresponding testing step defined upfront. Use case: Fixed Requirements + Strict Compliance.

Spiral Model (Risk-Driven)

Origin: Barry Boehm. Differentiator: Explicit Risk Analysis phase in every iteration.

PropertyDetail
StructureRepeating cycles through 4 quadrants: Planning → Risk Analysis → Engineering → Customer Evaluation
Driven byRisk
Best forMission-critical, complex systems where failure is not an option
Critical FlawComplex management; elusive "Definition of Done"

Waterfall vs V-Model vs Spiral

DimensionWaterfallV-ModelSpiral
ApproachSequentialSequential + VerificationIterative
DriverPlanPlan + ValidationRisk
RequirementsFixed upfrontFixed upfrontCan evolve
TestingAt endMapped to each design stagePer cycle
Management complexityLowMediumHigh
Best forKnown, stable requirementsCompliance-critical systemsHigh-stakes, uncertain projects

Prototyping and Incremental Development

Prototyping and Incremental Development
ModelKey Property
PrototypingCreating a "dummy system" to validate requirements. NOT a standalone methodology — always used within another model
Incremental DevelopmentUser sees value during development. Requires loosely-coupled architecture. Concurrent Spec/Dev/Val producing Initial → Intermediate → Final versions

The Methodology Spectrum

Methodology spectrum
ZoneMethodologiesCharacteristic
Linear LeftWaterfall, V-ModelMaximum predictability; plan-driven; fixed requirements
Hybrid CenterRAD, FDDBalance speed with structure; prototype-centric
Adaptive RightScrum, Kanban, XP, DevOps, LeanMaximum adaptability; people-driven; changing requirements

Strategic Model Selection

Selection matrix 4-quadrant selection matrix Decision tree
Primary ConstraintRecommended Model
Fixed Requirements + Low Risk + Strict ComplianceWaterfall / V-Model
Evolving Requirements + High Customer AvailabilityAgile (Scrum / XP)
Need Extreme Speed (<90 days) + Modular SystemRAD
High Risk / Stakes — mission-criticalSpiral
Maintenance Mode + Bottleneck RemovalKanban

2 — RAD and Agile

Rapid Application Development (RAD)

RAD overview
PropertyDetail
DefinitionIncremental model (IBM, 1980s) compressing analysis, design, build, and test into short, iterative cycles
Philosophy"Good enough, fast." Time-boxed cycles (60–90 days)
TimeboxingFeatures are cut to meet the deadline — the deadline does not move. Scope is flexible
Tool-CentricHeavy reliance on CASE tools and component reusability
User DesignHeavy prototyping with active user involvement throughout
Important: Timeboxing is the defining RAD characteristic: scope is flexible, the deadline is not.

Four Pillars of RAD

4 RAD Pillars
PillarDescription
Rapid PrototypingBuild working models quickly to validate requirements
Iterative DevelopmentRepeated cycles of build-feedback-refine
User InvolvementActive stakeholder participation throughout — not just at start/end
Component ReuseLeverage existing libraries, frameworks, and CASE tools to accelerate delivery

Estimation in RAD

PrincipleDetail
Timeboxed PlanningDeadline is fixed; scope is cut to fit
Scope FlexibilityFeatures are deprioritised or dropped when time is tight
Feature-Based EstimationEstimate by feature value, not raw effort
Velocity-Informed AdjustmentsUse team velocity from prior iterations to calibrate future estimates

RAD Phases

RAD phases
Note: The final phase is variously called "Rollout" or "Cutover" — both refer to the same phase. "Cutover" is the original IBM RAD terminology.
PhaseActivities
Requirements PlanningAgree on scope, constraints, and business goals; identify stakeholders
User DesignPrototype development; users test, developers refine; real-time feedback
ConstructionRapid coding; feature improvement; component integration
Cutover / RolloutTesting; data conversion; training; deployment

The User Design ↔ Construction loop iterates until quality is achieved, then Cutover completes the delivery.

RAD Design Model (parallel)

ModelActivity
Business ModellingWorkflow identification; information flow mapping
Data ModellingEntity definition; relationship mapping
Process ModellingLogic definition; transformation mapping
Application GenerationAutomated tools; visual development environments; framework reuse
TestingContinuous validation; user acceptance; integration checks
TurnoverDeployment completion; documentation; knowledge transfer

RAD Ingredients for Success

IngredientDetail
SWAT TeamSmall, multi-disciplinary group of highly skilled experts; experts in tools
Decisive ManagementWillingness to cut bureaucracy; quick decision-making
The ToolsetHeavy reliance on CASE tools, automated code generators, reusable component libraries

RAD Success Factors

FactorDetail
Small Expert TeamsFewer handoffs, faster decisions. Quality over quantity — 6–10 people max (2–4 in GenAI RAD)
Strong Decision-MakingSomeone with authority must be in the room. Delays kill momentum in a timebox
Automation ToolsManual processes negate RAD's speed advantage. CASE tools, CI/CD, now AI copilots

RAD Pros and Cons

ProsCons
~70% reduction in development cycle timeHigh cost (tools and skilled talent)
High flexibility for changing requirementsHigh user commitment required — fails without active users
High user satisfaction via active involvementScalability issues — system must be modular
Early customer feedback via prototypesNot suitable for high technical risk
High reusability of componentsRole confusion (developers bypass analysts)
Important: RAD is NOT suitable for: safety-critical systems, systems that cannot be modularised, or projects where users cannot commit significant time.

RAD Trade-offs

Important: The considerations below are not flaws — they are precondition failures. RAD works when skilled teams, committed users, and adequate budget are all present. When any of the three is absent, the corresponding disadvantage materialises.
AdvantagesConsiderations (precondition failures)
Faster time-to-marketRequires highly skilled talent
High user satisfactionUsers must commit significant time
Early and continuous feedbackCan be expensive to sustain
Reduced overall project riskScope creep risk is real

RAD Issues

IssueImpact
Requires skilled teamsRAD collapses without developers experienced in rapid prototyping
High user availability dependencyContinuous user feedback is essential — unavailable users stall iterations
Integration complexityComponent reuse and parallel development create integration risk
Limited suitability for safety-critical systemsSpeed and scope-cutting are incompatible with rigorous safety certification

Specialized RAD Architectures

ArchitectureKey MetricDetail
Component-Based Development (CBD)70% cycle time reduction; 84% cost reductionReuse of COTS components rather than building from scratch
Aspect-Oriented Software Development (AOSD)Cross-cutting concerns (security, logging) managed as separate "aspects" woven across all modules

Feature Driven Development (FDD)

PropertyDetail
FocusClient-valued features; building by feature, not by phase
ApproachHighly structured and design-oriented
Spectrum positionHybrid Center — more structured than pure Agile, faster than Waterfall

Agile Software Development

Agile overview

The Umbrella: Agile is not a single method — it is a philosophy encompassing Scrum, XP, Crystal, and Lean.

Agile Manifesto — Four Core Values

Value (prioritised)Over
Individuals & InteractionsProcesses & Tools
Working SoftwareComprehensive Documentation
Customer CollaborationContract Negotiation
Responding to ChangeFollowing a Plan
Important: The Manifesto says "the items on the right have value, but we value the items on the left more." It is not a rejection of process or documentation — it is a priority ordering.

RAD vs. Agile: 7-Dimension Comparison

RAD vs Agile comparison
FeatureRADAgile
Primary DriverSpeed of DevelopmentAdaptability to Change
FocusTools, Components, UIPeople, Communication, Feedback
PlanningPre-planned prototypesRolling wave (Sprint by Sprint)
Customer RoleDesign workshopsContinuous collaboration (PO role)
MetricCode delivered / TimeBusiness value / Sprint
Requirement TypeKnown requirementsRapidly changing
ComplexityComplex to manageSelf-organizing teams
Important: Core distinction: RAD primary driver = Speed; Agile primary driver = Adaptability.

3 — Scrum

Scrum structures work into Sprints — fixed timeboxes of 1–4 weeks — each producing a "Done" increment. Its essence is Empirical Process Control: Plan → Produce → Inspect/Adapt.

Scrum overview

Three Roles

Scrum roles
RoleDescription
Product Owner (PO)Single person; maximises business value; manages the "What"; owns the Product Backlog
Development TeamAll skills needed; recommended size 5–9 people; builds the "How"
ScrumMasterFacilitates process, removes impediments; is not the team's boss; NOT the project manager
Important: The ScrumMaster facilitates and removes impediments — not a project manager, not the boss. This distinction is commonly tested.

Four Ceremonies

Scrum ceremonies
CeremonyPurposeKey Detail
Sprint PlanningDefine "what" (PO) and "how" (Dev Team); break user stories into tasksSets the Sprint Goal
Daily Stand-Up15-minute pulse check; surface blockers3 Questions: (1) What did I do yesterday? (2) What will I do today? (3) Am I blocked?
Sprint ReviewShowcase completed work to stakeholders; inspect the product"Celebration of the increment"
Sprint RetrospectiveHonest look at the workflow; identify friction; create action plan for next SprintProcess Improvement + Risk Mitigation
Important: Sprint Review = inspect the product (showcase to stakeholders). Sprint Retrospective = inspect the process (team workflow improvement). A common exam distinction.

Artifacts

ArtifactDescription
Product BacklogPrioritized list of all desired work — owned by the Product Owner
Sprint BacklogSubset of Product Backlog items selected for execution in the current Sprint
Sprint GoalThe overarching objective for the Sprint, set during Sprint Planning
Burndown ChartTracks remaining effort — ideal line slopes from total story points → zero at Sprint end

Definition of Done (DoD)

Definition of Done

A "Done" increment must satisfy all five criteria:

CriterionMeaning
Code WrittenFeature is fully implemented
Tests PassedAutomated tests pass
IntegratedMerged into the main codebase without conflicts
DocumentedCode and feature are documented
No DefectsNo known bugs in the increment
Important: "If it's not 'Done', it doesn't count." Partial work has zero value in Scrum.

User Stories and Estimation

User Story: "As a <type of user>, I want <some goal> so that <some reason>"
Example: "As an Administrator, I want to modify employee personal details so that I can keep information up-to-date."

Sizing Formula: Size = Effort + Complexity + Uncertainty

The "1-2-3-4" Rule: Top backlog items should be small enough that 1–2 people can finish them in 3–4 days.

Agile Culture

PropertyDetail
Psychological SafetyPeople speak up about problems without fear of blame — essential for honest retrospectives
Active ListeningTeam members genuinely hear each other; understanding before responding
CollaborationWork is shared, not siloed — collective ownership of the increment
Clear CommunicationExpectations and progress are transparent — visible backlogs, open impediment logs
Important: Psychological Safety is the prerequisite for every other property — without it, retrospectives become performances rather than improvements.

Related Engineering Practices

Scrum provides process management but not technical guidance. These practices fill the gap:

ConcernFrameworkKey Practices
How to write code wellExtreme Programming (XP)TDD, Refactoring, Pair Programming, Coding Standards
How to ship continuouslyDevOps and CI/CDCI, CD, Infrastructure as Code
How to align code with businessDomain Driven Design (DDD)Ubiquitous Language, Bounded Contexts

4 — Extreme Programming (XP)

Scrum teaches management — how to organise and track work. It does not teach how to write code. XP fills this gap by adding technical engineering discipline inside each Sprint.

Five Core XP Values

ValueMeaning
CommunicationKeep information flowing between all team members and stakeholders
SimplicityDo the simplest thing that could possibly work — avoid over-engineering
FeedbackShort cycles expose problems early; use feedback from tests, customers, and team
CourageRefactor fearlessly, raise problems honestly, discard code that doesn't work
RespectTeam members respect each other's effort and contributions

Four XP Practices

XP practices
PracticeDescription
Test Driven Development (TDD)Write the test before writing the code. Forces clear requirement thinking and produces a comprehensive test suite by default
RefactoringImprove the internal structure of existing code without changing its external behaviour. Keeps the codebase clean and maintainable over time
Pair ProgrammingTwo developers at one machine — Driver writes code (focused on immediate); Navigator reviews in real time (big picture, guides, catches bugs). Roles switch every 25–30 min. Benefits: fewer defects, knowledge spread, better design, mentorship
Coding StandardsUniform style and conventions across the team. Ensures any team member can read, understand, and modify any part of the codebase
Important: TDD = test first, code second; Refactoring = structure changes, behaviour does not. Know these definitions precisely.

Relationship to Scrum

Scrum providesXP provides
Process management (roles, ceremonies, artifacts)Engineering practices (how to write production-quality code)
Sprint cadence and transparencyTDD, Refactoring, Pair Programming, Coding Standards
"What to build and when""How to build it well"

RAD vs XP

RAD vs XP
AspectRADXP
Primary FocusDelivery speedEngineering discipline
Development ApproachPrototype-centricTest-driven practices
ObjectiveAccelerate time-to-marketImprove code quality and reliability
Typical TechniquesRapid prototyping, iterationTDD, Pair programming
Important: RAD and XP are not mutually exclusive — RAD defines how fast to build; XP defines how to build it well. A team can apply XP practices within a RAD timebox.

5 — DevOps and CI/CD

The Gap: Agile speeds up development, but manual deployment creates a bottleneck. Fast sprints mean nothing if releasing to production takes weeks.

DevOps bridges Development (building software) and Operations (running software).

DevOps Stats

StatWhat it means
10× faster deploymentSpeed of release vs non-DevOps teams
30% reduction in change failure rateFewer broken releases reaching production
60% less time on unplanned workFewer incidents, faster recovery

The 8-Stage DevOps Lifecycle

DevOps lifecycle DevOps lifecycle diagram
StageActivities
PlanBacklog, sprints, user stories
CodeFeature branches, peer reviews
BuildCompile, package, artifact store
TestUnit, integration, regression
ReleaseVersioning, changelogs
DeployBlue/green, canary rollouts
OperateConfig management, scaling
MonitorMetrics, logs, alerts, traces

CI vs CD

Important: CI = automated build+test on every commit; CD Delivery = human gate before prod; CD Deployment = fully automatic. These are commonly confused in exam questions.
Continuous Integration (CI)Continuous DeliveryContinuous Deployment
WhatAutomated build + test on every pushCode always ready to deployEvery passing build auto-deploys to prod
GateFast test suite; broken builds block teamHuman approval gate before prodNo human gate
GoalAlways have a shippable codebaseReduce time from commit to customer valueContinuous release
ToolsGit, Jenkins, GitHub Actions, CircleCIArgo CD, Spinnaker, FluxAWS CodePipeline

Typical DevOps Pipeline

DevOps pipeline

Stages: Code Push → Code Review → Build & Test → Stage Deploy → Integration Tests → Prod Deploy

Pipeline PropertyDetail
RepeatableSame pipeline runs every time — no "works on my machine"
AuditableEvery deploy logged with who, what, and when
Fast FeedbackBugs caught within minutes of the commit, not weeks
Safe RollbackPrevious build artifacts allow instant rollback if needed

Containers & Orchestration

ConcernDockerKubernetes (K8s)
ScopeSingle container packaging and runningMulti-container orchestration at scale
Problem solvedEnvironment consistency; "works on my machine"Scaling, self-healing, service discovery
Key capabilitiesPortable images; Dockerfile defines env declaratively; Container ≠ VMAuto-scaling; self-healing restarts; rolling updates; zero-downtime deploys; load balancing
When you need itEvery deploymentWhen running many containers in production

Infrastructure as Code (IaC)

PropertyDetail
ReproducibleSpin up identical environments in minutes
Version controlledEvery change tracked in Git
AuditableWho changed what, when, and why
Cost-controlledDestroy dev environments overnight
Self-documentingCode IS the documentation

Tools: Terraform · Pulumi · Ansible · AWS CDK · Helm

DevOps Trade-offs

Trade-offResolution
Speed vs StabilityDeploying 10× daily increases incident risk — invest in automated testing and observability
Automation vs ControlFully automated pipelines reduce human error but reduce oversight — define clear approval gates for production
Cost vs ScalabilityKubernetes, multi-region, and redundancy cost money — size for P99 usage, use auto-scaling and spot instances
Monolith vs MicroservicesMonoliths simpler to develop; microservices scale independently but add complexity — start monolith, split when needed

RAD 5-Stage Delivery Pipeline

RAD 5-stage CI/CD pipeline
StageSubtitleWhat happens
1. DevelopIncremental buildsCASE tools, 4GL, and component repositories accelerate output. Each increment adds real value
2. IntegrateContinuous CIMultiple merges per day. Every merge triggers automated build check. RepoGuard validates and links commits to bug tracking
3. TestAutomated QAFitNesse, Selenium, V-Model approach run in parallel with development. Failures block the pipeline immediately
4. DeployDevOps bridgeTested code deployed automatically. Rollback mechanisms included. Communication Middleware enables scalable multi-user deployment
5. MonitorCloud + feedbackResponse times, resource scaling, security tracked. Performance data feeds back into the development backlog — the loop never stops

Testing Tools in RAD

ToolWhat it doesRAD role
FitNesseBusiness-readable acceptance tests — stakeholders write and verify criteria without touching codeBridges business and technical; acceptance criteria become executable tests
SeleniumAutomated browser testing for web apps — every UI interaction verified on every buildCatches regression in the UI layer before users do

Relationship to Agile and RAD

Agile (Scrum)DevOps
Speeds up the development cycleSpeeds up the delivery and deployment cycle
Produces working software every SprintEnsures that software can be released continuously
Sprint Review shows working softwareCD pipeline actually ships working software

CI/CD as a Code Quality Guardrail

CI/CD guardrail funnel
GateTool ExamplesWhat it catches
LintingES Lint, TS LintSyntax errors, style violations, potential runtime errors before execution
Static Code AnalysisSonarQubeCode complexity, duplication, test coverage gaps, security hotspots
Automated Unit TestsJest, JUnit, PyTestRegression — verifies existing behaviour is not broken by new changes

6 — Observability

Observability is how you maintain quality as you move fast. The Monitor stage of the DevOps lifecycle feeds back into the next Plan cycle — observability makes that feedback actionable.

Important: Three Pillars: Logs (what happened?), Metrics (how is it performing?), Traces (where is it slow?). Know all three definitions and their tools.

The Three Pillars

PillarQuestion AnsweredData TypeKey PracticesTools
LogsWhat happened?Timestamped event recordsStructured JSON preferred; centralise in ELK/Loki; add correlation IDs for cross-service tracingELK Stack, Loki, Papertrail
MetricsHow is it performing?Numeric time seriesUSE method: Utilisation, Saturation, Errors (for infrastructure); RED method: Rate, Errors, Duration (for services). Alert on anomalies, not fixed thresholdsPrometheus, Grafana, Datadog
TracesWhere is it slow?Distributed request journeysTrace ID follows a request across all services; sample 1–10% of requests (cost vs coverage trade-off)Jaeger, Zipkin, AWS X-Ray
Important: Traces are critical for microservices architectures — a single user request may touch 10+ services. Without traces you cannot pinpoint where latency is introduced.

Observability vs Monitoring

MonitoringObservability
Tells you when something is wrongTells you why something is wrong
Tracks known failure modesExplores unknown failure modes
Dashboards and alertsLogs + metrics + traces combined

7 — Release Strategies

Release strategies decouple deployment frequency from deployment risk — the goal is to ship to production safely and often.

Release strategies
Important: Blue-green = instant all-or-nothing swap; Canary = gradual shift; Feature Flags = decouple code deploy from feature activation.

Blue-Green Deployment

ElementDetail
BLUEv1 — currently live, receives 100% of traffic
GREENv2 — new version deployed and tested in parallel
SwitchTraffic redirected Blue → Green when Green is ready
RollbackInstant — switch traffic back to Blue
CostRequires double the infrastructure during transition

Canary Release

ElementDetail
Traffic splitStart small — e.g., v1: 90%, v2: 10%
ProgressionGradually shift more traffic to v2 as confidence grows
Auto-rollbackTriggered automatically on error rate threshold breach
RiskOnly a small percentage of users see potential issues

Feature Flags (Feature Toggles)

PropertyDetail
Core ideaShip "dark" features in deployed code, enable for specific users via config
A/B testingTest new features on subsets of users, measure impact before full rollout
Kill switchDisable a feature instantly without a new deployment
ToolsLaunchDarkly · Unleash · Flagsmith · AWS AppConfig

Comparison

StrategyTraffic ControlRollback SpeedInfrastructure CostBest For
Blue-GreenInstant all-or-nothing switchInstantHigh (2× environments)Guaranteed rollback in seconds
CanaryGradual percentage shiftFast (reduce %)Low (same infrastructure)Validating with real traffic
Feature FlagsPer-user / per-segmentInstant (toggle off)NoneDecoupling deploy from release

8 — Domain Driven Design (DDD)

Complex software fails when code drifts away from the business reality it is meant to model. DDD keeps code aligned with the business domain throughout development.

DDD concepts

Core Concepts

ConceptDefinition
Ubiquitous LanguageDevelopers and Domain Experts must use the same terminology throughout code, documentation, and conversation. Eliminates translation errors between business intent and technical implementation
Bounded ContextsClear boundaries around each part of the domain model prevent model corruption — the risk that terms mean different things in different parts of the system

Architecture

Business / Domain Layer
        ↕
  Ubiquitous Language   ← the shared vocabulary
        ↕
Infrastructure / Code Layer
Important: Know the two key terms: Ubiquitous Language (same terminology across business and code) and Bounded Contexts (clear domain boundaries to avoid model corruption).

In fast-moving Agile environments, without explicit domain boundaries and shared language, the codebase rapidly diverges from business intent. DDD provides the architectural discipline to prevent this even under rapid development cycles.

9 — Kanban

Kanban is positioned in the Adaptive Right of the methodology spectrum. Core focus: Continuous Flow and Bottleneck Identification through visualising work and limiting WIP.

Core Concept: "Stop starting, start finishing."

The Kanban Board

Kanban board
| To Do          | Doing (WIP: 3) | Done           |
|----------------|----------------|----------------|
| [task]         | [task]         | [task ✓]       |
| [task]         | [task]         | [task ✓]       |
| [task]         | [task]         |                |
| [task]         |                |                |

When the "Doing" column is full, no new work can be pulled — teams must finish before they start.

Push vs Pull

Pull vs Push system
SystemHow work entersEffect
PushWork is assigned and scheduled from upstream — team receives work whether ready or notBottlenecks are hidden; WIP accumulates silently; team appears busy but throughput stalls
PullWork is taken by the team when capacity exists — nothing starts until a slot opensBottlenecks become immediately visible as columns fill to their WIP limit
Important: "Pull systems reveal bottlenecks; push systems hide them." This is why WIP limits are the primary Lean/Kanban mechanism.

Core Principles

PrincipleDetail
WIP LimitsCap on how many items can be in progress simultaneously — highlights bottlenecks and improves flow velocity
Continuous DeliveryItems flow to Done as they are completed, not at Sprint end — no fixed cadence
Pull SystemWork is pulled by capacity, not pushed by schedule
Visualise WorkThe board makes blocked items, bottlenecks, and team capacity immediately visible

Kanban vs Scrum

DimensionKanbanScrum
CadenceContinuous flow; no fixed iterationsFixed Sprints (2–4 weeks)
ChangesCan happen anytimeLocked during a Sprint
RolesNo prescribed rolesPO, ScrumMaster, Dev Team
CeremoniesNone requiredSprint Planning, Daily Scrum, Review, Retrospective
WIPExplicitly limited via WIP limitImplicitly limited by Sprint scope
Output metricLead time / ThroughputVelocity (story points/Sprint)

When to Use Kanban

Important: Strategic Selection: Kanban → Primary Constraint = Bottleneck Removal. (Waterfall → Fixed Requirements; Agile/Scrum → Evolving Requirements; RAD → Extreme Speed; Spiral → High Risk)

10 — RAD Teams

Cross-Functional Teams

PropertyDetail
Diverse SkillsMix of dev, design, QA, and business expertise
Shared GoalsTeam owns delivery end-to-end, not by phase
Flat HierarchyDirect communication, minimal approval chains
AutonomousEmpowered to make decisions within scope

RAD Team Structure — Six Roles

RAD team structure
RoleResponsibility
Product OwnerOwns the vision; prioritises backlog; accepts deliverables. Bridge between business and team
RAD FacilitatorManages timelines; removes blockers; protects team from scope creep and external distractions
DevelopersFull-stack or specialised; build rapidly using reusable components and modern frameworks
UX/UI DesignersCreate prototypes; conduct user research; translate user feedback into design iterations
QA EngineersEmbedded testers who validate continuously (not just at end); write acceptance criteria with PO
Business AnalystTranslates business requirements into user stories; maintains alignment between stakeholders and team
Important: RAD Facilitator ≠ Project Manager. The RAD Facilitator protects the timebox and removes blockers — they do not direct tasks. This parallels the ScrumMaster role.

Management Principles

TraditionalRAD
Top-down directivesServant leadership — managers remove obstacles, not direct tasks
Phase-gate reviewsContinuous feedback
Fixed scopeFlexible scope; time-box discipline protects boundaries
Milestone trackingVelocity tracking; transparent communication via daily standups + visible backlogs

Sourcing Strategies

StrategyProCon
Internal SecondmentLow cost, high contextAvailability conflicts
External ContractingOn-demand expertiseHigher cost, onboarding time
Hybrid Sourcing (most common)Flexible, cost-effectiveCoordination overhead
Outsourced TeamsFast ramp-upAlignment risks, IP concerns

T-Shaped Professional — Skill Requirements

Skill TypeDetail
Technical SkillsCoding, testing, DevOps, prototyping tools, version control
Domain KnowledgeUnderstanding of the business domain, user workflows, and system constraints
CommunicationActive listening, stakeholder management, technical writing, presentation
AdaptabilityComfort with ambiguity, rapid context switching, learning on-the-fly

Training & Onboarding (4 Stages)

RAD onboarding timeline
StageTimingActivities
OrientationDay 1–3Team charter, tooling setup, codebase walkthrough, stakeholder intros
ImmersionWeek 1Shadow existing team members, attend user sessions, review prototypes and backlog
ContributionWeek 2Pair with senior members on live tasks, take ownership of small features with mentorship
Full IntegrationWeek 3+Independent task ownership, participate in design sessions and retrospectives

Knowledge Transfer Practices

PracticeHow It Transfers Knowledge
Pair ProgrammingCode written in pairs — both developers understand the implementation
Code ReviewsEvery PR reviewed by at least one other; review comments are knowledge transfer artifacts
Wiki / Living DocsLightweight docs in sprint — focus on decisions made and why, not just what was built
Demo SessionsWeekly demos open to entire team — everyone explains what they built
RetrospectivesStructured exchange of what worked, what didn't, what to carry forward
Rotation PolicyRegularly rotate team members across features and modules to distribute knowledge

Work Tracking Metrics

RAD work tracking metrics

RAD Kanban boards use four columns: Backlog → In Progress → Review → Done.

MetricDefinitionPurpose
VelocityStory points completed per sprintForecast future capacity
Cycle TimeTime from task start to completionIdentify bottlenecks
Defect DensityBugs per featureTrack quality trends across sprints
Prototype IterationsNumber of feedback-driven cyclesMeasure responsiveness to user input

Participatory Design (PD) — 3 Techniques

TechniqueDescription
Co-Design WorkshopsUsers sketch interfaces, create paper prototypes, and prioritise features alongside the design team. Held at sprint start
Contextual InquiryDevelopers and designers observe users in their actual work environment — reveals tacit needs no interview would surface
Prototype WalkthroughsUsers walk through clickable prototypes while thinking aloud; team observes silently and notes friction points

User-Centered Design (UCD)

UCD cycle

UCD Cycle: Understand Context → Specify Requirements → Produce Design → Evaluate Design → (Meets Requirements? → done or back to Understand)

UCD RoleResponsibility
UX ResearcherPlans and conducts user research; interprets findings; feeds insights into backlog
Interaction DesignerOwns wireframes, information architecture, and interaction flows
Usability TesterRuns usability sessions; documents friction; tracks UX debt sprint-over-sprint
Accessibility SpecialistEnsures all outputs meet WCAG standards
Product ManagerTranslates UX findings into prioritised features; champions user needs in backlog

Project Management Tools

Project management tools

JRP & JAD Workshops

JRP (Requirements)JAD (Design)
FocusRequirements gatheringApplication design
GoalAgree on scope and what the system must doAgree on how the system will work
Who attendsBusiness stakeholders + analystsBusiness + developers + designers
OutputRequirements document / user storiesWireframes, data models, workflow designs
RAD valueReplaces weeks of back-and-forth with a 1–3 day workshopGets design decisions made with all parties in the room
Important: JRP and JAD are time-compression techniques — they collapse requirements and design cycles from weeks of email chains into structured days of facilitated workshop.

11 — CASE Tools and Development Environments

Computer-Aided Software Engineering (CASE) tools automate the backbone of development — compressing the time from analysis to working code by replacing manual tasks with automated pipelines. In RAD, CASE tooling is what makes "60–90 day" delivery cycles achievable.

Important: CASE tools = unified analysis-to-code pipeline. RAD relies on them to eliminate the gap between design and implementation.

Integrated CASE Toolsets

FeatureDetail
Drag-and-drop code generationProduce code directly from process/data models with minimal hand-coding
Consistent code baseNew generation integrates with previously generated code — no manual stitching
Analysis-to-code pipelineThe entire lifecycle from requirements model to executable artifact is a single workflow

Visual Modeling Tools

Tool ClassCapability
ERD-to-codeEntity-Relationship Diagrams become working database schemas and data-access code (e.g., Totem)
Diagram-to-codeUML, process models, and flow diagrams generate application skeletons
Round-trip engineeringCode changes reflect back in the diagram; diagram changes generate code — always in sync

4th Generation Languages (4GL) vs 3GL

Aspect3GL4GL
Abstraction levelProcedure-oriented — you write every stepResult-oriented — you declare the outcome
Code volumeHigh — hundreds of lines for a formLow — a few declarations
SourceWritten manuallyGenerated from process/data models
ExamplesJava, C++, COBOLSQL, RPG, PowerBuilder, Oracle Forms

Component Repositories

PropertyDetail
Reuse over rebuildComponents verified across prior projects — no reinventing the wheel
Cost impactUp to 84% reduction in project costs through component reuse
Quality assuranceReused components carry prior test results; fewer defects per feature
Repository governanceComponents tracked, versioned, and retired — monitored for performance over time

Version Control

CapabilityWhy it matters in RAD
Parallel feature branchesMultiple developers build features simultaneously — no stepping on each other
Clean mergeBranches merge back to trunk; conflicts surfaced and resolved automatically
Full audit trailEvery change attributed to a person, timestamp, and commit message
ReversibilityAny bad change can be reverted instantly — essential in fast, iterative RAD cycles

RepoGuard Framework

FeatureDetail
Pre-storage validationBefore any resource is permanently committed, RepoGuard checks it against defined rules
Bug tracker linkageEvery commit links to a bug/ticket — nothing slips through unreviewed or untracked
Policy enforcementCode style, test coverage thresholds, and security rules applied at commit time

The Automation Compound Effect

Tool ClassRAD Acceleration
Integrated CASE ToolsetsEliminates analysis→code translation gap
Visual Modeling (ERDs→code)Turns architecture sessions into working schemas
4GL10× fewer lines of code for UI/DB work
Component Repositories84% cost reduction through reuse
Version Control + RepoGuardParallel teams without chaos

12 — Low-Code / No-Code Prototyping

Important: "The Prototype IS the Product" — platforms like Quickbase and Caspio ship with built-in databases, reporting engines, and admin tools, making the prototype-to-production transition seamless.

Low-Code / No-Code Platforms

FeatureDetail
Built-in databaseNo schema design or ORM wiring — storage is instant
Reporting engineCharts, dashboards, and exports generated from data out of the box
Admin toolsUser management, permissions, and configuration without custom code
Prototype-to-productionThe prototype built in the platform is the production system — no throw-away work
PlatformCategoryStrength
QuickbaseNo-codeBusiness application builder; DB + reporting + admin built in
CaspioLow-codeWeb database apps; built-in workflows and API connections
BubbleNo-codeFull-stack web app builder; logic, DB, and UI in one
WebflowNo-codeFront-end/CMS; design-to-production web publishing

User-Driven Prototyping

PrincipleDetail
Iterative with clientShow early → get feedback → refine → repeat
Requirements emergeUsers discover what they want by interacting with a working model, not by reading specs
Reduces reworkMisunderstandings caught at prototype stage cost far less than at system-test stage

Prototype Fidelity

Low-FidelityHigh-Fidelity
What it isSketches, paper prototypes, rough wireframesInteractive, near-production mockup
PurposeEarly concept validation — test the idea cheaplyStakeholder sign-off — validate look, feel, and flow
When usedSprint start / discovery phasePre-production / UAT stage
Cost to changeVery cheap — sketches are disposableHigher — polished prototypes take time to rebuild
ToolsPaper, Balsamiq, Figma Lo-FiFigma Hi-Fi, Webflow, Framer, low-code platforms
Important: Low-fi first, high-fi later. The mistake is building high-fi prototypes before the concept is validated — wasted effort if the idea changes.

Ajax for Web Prototyping

AspectDetail
MechanismBrowser sends small data requests in the background; only relevant parts of the page update
User experienceFeels like a native app — instant feedback, no "white flash" between actions
ExamplesSearch-as-you-type, live form validation, dynamic dashboards

13 — Product Management

Software Product Management governs a product from its inception to the market or customer delivery, in order to maximise revenue. Product management sits at the intersection of Customer, Technology, and Business.

Important: "Fall in love with the problem — not the product." The PM's job is to understand what customers need, not to advocate for a particular solution.

The Product Manager Role

ResponsibilityDetail
Reach product-market fitHelps the product achieve and grow product-market fit by focusing on business needs
Manage the roadmapCommunicates with stakeholders to align the product roadmap with company goals
Cross-functional knowledgeMust know business models, product design, product marketing, and product development
Wears different hatsActs as UX designer, product marketer, Business Analyst, and Data scientist as needed

Understanding the Customer

Job Story format: "When [Situation] I want to [Motivation] so I can [Expected Outcome]"

StepActivity
UnderstandInterviews, surveys, observations of customer behaviour
ModelCreate end user personas
DocumentRecord customer feedback
AnalyseUnderstand jobs to be done; know competitor solutions; identify market fit; find what's missing

User Persona — 6 Components

ComponentContent
Demographic InformationAge, gender, occupation, education, income
BehavioursHow the user interacts with products, purchasing habits, online behaviour
GoalsWhat the user hopes to achieve by using the product/service
NeedsThe user's requirements and expectations from the product/service
ChallengesObstacles or pain points in achieving their goals
PreferencesPreferred features, design, communication channels

PM vs Project Manager vs Product Owner

Important: Three roles commonly confused in exams — know the distinctions precisely.
DimensionProduct ManagerProject ManagerProduct Owner
FocusStrategic — product vision, business objectives, marketTactical — organisation and resourcing for each initiativeTactical — converts PM strategy into actionable tasks
ResponsibilitiesResearching, setting product vision, maintaining product roadmapBreaking down initiatives, planning timelines, allocating resourcesWorking with cross-functional teams; sprint backlog management
Time horizonLong-term product successProject durationSprint-by-sprint delivery

Product Life Cycle (5 Stages)

Product Life Cycle
StageKey Activity
Conception and CreationIdea to initial build
IntroductionLaunch — Early validation critical here
GrowthRapid sales increase
MaturityPeak sales — Sustaining innovation required to maintain position
DeclineSales fall — product is retired or repositioned
Important: "Sustaining innovation" at Maturity extends the lifecycle — failing to innovate here leads to Nokia-style decline (Nokia was largest cell phone maker in 1998 but collapsed due to hardware focus, resistance to Android, and overconfidence in brand value).

Product Development (6 Stages)

Product development stages
StageActivity
01 Idea GenerationBrainstorming; SWOT analysis; target market analysis; customer needs, pricing, and market research
02 Product DefinitionScoping and refining the product concept; define value propositions, marketing strategies, success metrics
03 PrototypingConstructing a visual representation — from drawings to computer-rendered high-level prototypes
04 Initial DesignProducing an initial mockup; stakeholders collaborate; designed for target audience; may take several iterations
05 Validation and TestingValidating and testing the development strategy; testing required across dev, marketing, and every product part
06 CommercialisationDeveloping and implementing the product; launching with planned commercialisation strategies

Minimum Viable Product (MVP)

PropertyDetail
DefinitionA version of a product with just enough features to be usable by early customers who can then provide feedback for future development
MVP ≠ PrototypePrototype = internal sample used to explain a concept. MVP = fully functioning version released publicly
MVP ≠ DraftMVP is not a plan or draft — it is ready to go to market
CompanyTheir MVP
AmazonOnline bookstore only (early 1990s)
Facebook"Thefacebook" — launched across 4 universities to connect campus friends
AirbnbSimple room-exchanging platform
Important: MVPs are released publicly to receive market feedback and pivot in the right direction — unlike prototypes which are used internally.

14 — SE Ethics and Legal Compliance

"Ethics is not philosophy; it is a structural requirement for system viability."

Professional Ethics

LayerBodyScope
ACM/IEEE 1999 Code of EthicsInternational professional standardCommitting to public health, safety, and welfare as the primary obligation — above client or employer interests when they conflict
IEEEInstitute of Electrical and Electronics EngineersDefines, advances, and regulates professional engineering standards globally
SLASSCOMSri Lanka Association for Software & Services CompaniesLocal professional body — same mandate at national level

Standardisation: ISO 27000 Series

ISO 27000 series
StandardNamePurpose
ISO 27001ISMS RequirementsCore — the certifiable standard; defines requirements for establishing, implementing, maintaining, and improving an ISMS
ISO 27002GuidelinesImplementation guidance for ISO 27001 controls
ISO 27701PIMS RequirementsPrivacy Information Management System — extends 27001 for personal data
ISO 27011TelcoSector-specific guidelines for telecommunications
ISO 27017CloudSector-specific guidelines for cloud services
ISO 27019EnergySector-specific guidelines for energy industry
ISO 27034AppSecApplication security guidance
ISO 27799HealthSector-specific guidelines for healthcare

The Legal Attack Surface

Legal attack surface
Legal AreaWhat it coversKey Risks
ContractsNDAs, Intellectual Property (IP) protectionDisclosing customer data = immediate legal conflict; IP leakage through code sharing
Licensing & CopyrightOpen-source constraints vs. commercial requirementsConfusing open-source licences with commercial freedom; Patent infringement and royalty fees
Cybercrime LiabilityFraud, unauthorised access, spam, theft of sensitive dataEngineers can be held liable for systems they build if security is negligent
Important: Compliance is geographical. Shariah law in the Middle East vs GDPR in Europe alters fundamental data processing architecture — not just policies. Building for a global market means designing for the most restrictive jurisdiction.

Case Study: British Airways — Failure of Privacy by Design

British Airways case study
StageDetail
ContextBA operates a massive, legacy web booking system handling highly sensitive global customer data
Systemic VulnerabilityPoor architectural isolation; lack of third-party script auditing; failure to implement "Privacy by Design"
CatalystMagecart cyber-attackers inject 22 lines of malicious JavaScript into the payment page to scrape credit card data
Fallout£20M GDPR fine. A technical oversight translates directly into a massive legal and financial liability
Critical Takeaway: Code readability, strict linting, and dependency auditing are legal risk mitigation strategies — not just engineering hygiene. Unaudited third-party scripts are a legal attack surface.

Privacy by Design — the architectural principle BA violated: privacy protections must be built into the system architecture from the start, not added as a post-hoc layer.

15 — SOLID Principles

"Architectural integrity requires principles that prevent technical debt from compounding."

The Five SOLID Principles

SOLID principles and Code Viability Matrix
LetterPrincipleDefinition
SSingle ResponsibilityA class should have one, and only one, reason to change. It should perform only one function.
OOpen/ClosedSoftware objects should be open for extension, but closed for modification. Add behaviour by extending, not by changing existing code.
LLiskov SubstitutionObjects of the same type should be replaceable with others from the same category without altering the function of the program. Subclasses must honour the contract of their parent class.
IInterface SegregationNo client should be forced to depend on methods it does not use. Interfaces should be kept small and separate — many specific interfaces are better than one general-purpose interface.
DDependency InversionHigh-level modules should not depend on low-level modules — both should depend on abstractions. Abstractions should not depend on details; details should depend on abstractions.

The Code Viability Matrix

80–90% of a developer's time is spent reading code, not writing it. Hyper-optimised code is frequently unreadable, creating a long-term maintenance liability.

ZoneReadabilityExecution SpeedResult
Viability ZoneHighHighSustainable production code
Fast but FragileLowHighUnreadable, unmaintainable — technical debt accumulates
Readable but SlowHighLowCannot scale — performance becomes a bottleneck
Danger ZoneLowLowBoth unmaintainable and slow — replace immediately

Reaching the Viability Zone requires: Comprehensive logs · Linting tools (SonarQube) · Clear comments where intent is non-obvious · Balancing performance with long-term maintainability

The CI/CD Guardrail Funnel

CI/CD guardrail funnel

Automated gate sequence — only verified, secure code reaches production:

  1. ES Lint / TS Lint — Syntax and style enforcement; catches errors before execution
  2. Static Code Analysers (SonarQube) — Code metrics: complexity, duplication, coverage, security hotspots
  3. Automated Unit Tests — Regression protection; every commit verified against the test suite

Case Study: Knight Capital Group — $460M Code Regression

Knight Capital case study
StageDetail
ContextHigh-frequency trading firm executing millions of stock trades per minute
Systemic Vulnerability'Dead code' — an obsolete testing function called "Power Peg" left in the active codebase for years. Zero automated CI/CD deployment guardrails
CatalystManual deployment error: new software correctly installed on 7 servers, but the 8th server missed — triggering the obsolete Power Peg function
FalloutSystem buys high and sells low continuously. $460 million loss in exactly 45 minutes, leading to bankruptcy
Critical Takeaway: Robust version control and automated deployments are not optional — they are corporate survival mechanisms. Dead code + manual deployments + zero CI/CD guardrails = existential risk.

SOLID violations present: Single Responsibility violated — Power Peg testing code lived in the production module. No automated gate to catch stale code before deployment.

16 — Professional Engineering Practices

The Dynamic Tension Web

Dynamic Tension Web
ForceMeasured byThe constraint
CostResource optimisation, compute spendReducing cost increases strain on time and quality
QualityDefect density, performance, reliabilityHigh quality requires time and money
TimeThroughput, latency, delivery speedSpeed pressure degrades quality and raises cost
Important: "System complexity dictates that 'Done Quickly' and 'Low Cost' mathematically guarantee 'Low Quality.'" — The triangle cannot be optimised in all three corners simultaneously.

The Complete Engineer

DomainComponents
KnowledgeDomains, legal scope, lifecycle processes — knowing what applies where
SkillsDebugging, communication, technical execution — being able to apply that knowledge
AttitudesLoyalty, ethics, doing the right things the right way — choosing to apply it correctly

Site Reliability Engineering (SRE)

SRE framework
DimensionLegacy MaintenanceSRE Paradigm
ApproachReactive, manual patchingProactive, automated scaling
Team structureSiloed development vs. operationsSoftware engineers designing operations
Reliability targetMathematical illusion of "100% uptime"Designing for acceptable failure
MTTR>24 hoursTarget: <30 minutes

SLOs and Error Budgets

Important: SLOs + Error Budgets resolve the fundamental ops tension: engineering teams want to ship fast; ops teams want stability. The error budget gives both teams a shared objective metric to negotiate against.

Green Software Engineering

Green SE Carbon Stack

The Green Software Carbon Stack has three layers:

LayerFocusHow to reduce carbon impact
Layer 1: Code EfficiencyCPU cyclesHyper-bloated code draws more electrical power. Efficient algorithms and clean code directly reduce energy consumption
Layer 2: Network TransitData movementMinimising payload sizes (efficient APIs, compression, caching) reduces the massive energy cost of moving data globally
Layer 3: Hardware & HostingInfrastructureUse carbon footprint tools to schedule high-compute tasks in regions powered by renewable energy grids

Groupthink and Intellectual Honesty

Groupthink decay curve

The Groupthink Decay Curve — Compounding System Flaws over the Project Lifecycle:

Required inputWhy
Intellectual honestyAdmitting lack of knowledge and acknowledging mistakes prevents small issues from compounding
Constructive dissentDiverse perspectives catch what consensus misses
Psychological safetyWithout it, teams default to consensus-seeking at the expense of technical rigour
Direct communicationIndirection (passing info through layers) introduces delay and distortion

Stakeholder Management

Stakeholder management
StepActionOutput
1. Requirement Development & SignoffEstablish baseline consensus with stakeholders — document what is agreed and get formal sign-offBaseline requirements document
2. Scoping via Sprint BacklogTranslate requirements into the sprint backlog — defend the boundary against scope creepBounded sprint scope
3. Tracking via JIRAMake bugs and requirements visible — track progress transparentlyActionable, visible progress

The Modern Sociotechnical Ecosystem

Modern sociotechnical ecosystem

A complete professional practice chains five nodes — each one enabling the next:

NodeDomainKey Metrics
SOLID CodeTechnical ExcellenceClean architecture, low coupling
CI/CD PipelinesQuality AssuranceAutomated tests >95% pass, rapid deployment
SRE Error BudgetsReliabilitySLO target 99.99%, MTTR <30 minutes
GDPR / Legal ComplianceRisk MitigationData minimisation, audit trails
Green SE MetricsSustainabilityCarbon footprint, energy efficiency
Important: "Pulling any node on this blueprint affects the others. A true professional understands the entire cascading chain of risk and execution."

17 — Lean Software Development

Origins

MilestoneDetail
1950s — TPSPost-war Japan: Toyota couldn't afford excess inventory, defective parts, or idle workers. Necessity created the Toyota Production System (TPS). Quote: "Build only what is needed, when it is needed, in the amount needed."
1988 — 'Lean' NamedMIT researchers coined "Lean" studying global car manufacturing. Toyota produced cars with half the defects and half the space of Western factories
2003 — Software AdaptationMary & Tom Poppendieck published Lean Software Development: An Agile Toolkit — inventory = partially done work, defects = bugs, motion = handoffs

The 7 Lean Principles

7 Lean Principles
#PrincipleCore IdeaIn Practice
1Eliminate WasteRemove anything that doesn't add valueIdentify the 7 waste categories; apply VSM to make waste visible
2Amplify LearningBuild feedback loops into every processFrequent stand-ups, retrospectives, pair programming, short iterations
3Decide as Late as PossibleKeep options open until you have enough informationAvoid premature architectural commitment; defer reversible decisions
4Deliver as Fast as PossibleReduce time from concept to customerShort iterations, CI/CD, small batch sizes
5Empower the TeamPush decisions to the people with the most informationSelf-organising teams; managers as obstacle-removers, not task-assigners
6Build Integrity InQuality is built in from the start, not tested at the endTDD, automated testing, refactoring, code reviews
7See the WholeOptimise the entire value stream, not individual partsSub-optimising one stage often hurts the whole — a fast developer who creates slow testing is net negative
Important: Principle 7 (See the Whole) is the most commonly violated in practice — and the root cause of the "Local Optimization" anti-pattern. Improvements only count when they reduce end-to-end lead time.

The 7 Wastes in Software

7 Wastes in Software
WasteToyota EquivalentSoftware ExampleLean Fix
Partially Done WorkWIP inventoryFeature 80% coded but not integrated, tested, or deployed — absorbs cost, delivers nothingWIP limits. Define 'done' as deployed and in use
Extra ProcessesOver-processingStatus reports duplicating Jira. Approval steps for low-risk changesProcess audit — keep what adds real value; eliminate the rest
Extra FeaturesOverproduction'Gold-plating' — configurable admin dashboard when client asked for a simple read-only viewValidate every feature against real user need before building
Task SwitchingMotion wasteDeveloper on 4 parallel tickets. Each switch requires 20+ minutes to regain deep focusStrict WIP limits. One thing to completion before starting the next
WaitingWaitingWaiting for code review, test environment, approval, a dependency another team is buildingMap wait times explicitly. Automate approvals. Share environments
MotionTransportationInformation through 4 people before reaching who can act — each step = delay and distortionDirect communication. Developer with client directly where possible
DefectsDefectsA bug found in production costs 10–100× more to fix than during developmentAutomated testing, TDD, code reviews — catch defects at the source
Important: Defect escape rate target: <5% of defects should reach production. Rising escape rate = quality gates weakening.

Kaizen: Continuous Improvement (PDCA Cycle)

PDCA cycle
StepActionKey Rule
PLANIdentify one specific problem. Form a measurable hypothesis: "If we change X, we expect Y improvement." Define measurement method before making the changeOne problem at a time. Hypothesis must be measurable
DOImplement the change at small scale first — one sprint or one iteration periodDon't change multiple things at once — you can't measure what you can't isolate
CHECKMeasure the result against your hypothesis. Did the change produce the expected improvement?Compare against the hypothesis, not against feelings
ACTIf it worked: standardise, document, make it the new baseline, then start again. If not: learn and run a new experimentKaizen never stops — the next improvement always exists

Lean Anti-Patterns

Lean anti-patterns
Anti-PatternSymptomFix
Cargo Cult LeanTeam adopts ceremonies (standups, boards) but not discipline. WIP limits on paper, routinely violated. Metrics collected, not acted onStart with one principle applied rigorously. Enforce one WIP limit strictly. Act on one metric consistently
Local OptimizationDev team improves cycle time, but deployment is monthly and testing takes two weeks. Overall lead time unchangedVSM the entire process including stages outside your direct control. Improvements only count when they reduce end-to-end lead time
Waste Without a FixTeam runs VSM, identifies waste, presents to management — nothing changes. Six months later, same waste existsPair VSM exercises with explicit authority to change identified processes. Leadership must visibly act on findings
Metric Gaming (Goodhart's Law)Cycle time improves but throughput drops. Defect escape rate improves but defect count risesUse multiple metrics together. Simultaneous improvement in one metric and degradation in another = gaming, not real improvement

Lean in Practice — Worked Example (54% Lead Time Reduction)

Lean worked example
StepActionResult
1. Run a VSMMap every step request→deployment. Discover: 8 days wait before sprint planning, 4 days code review wait, 3 days test environment wait. Only 9 of 24 days are value-adding (38%)Baseline: 24 days
2. Apply PullImplement continuous-flow backlog; requests enter ready queue immediately; developers pull when ready. WIP limit of 1.5 per developer18 days
3. Fix the BottleneckCode review wait is new biggest waste. Solution: pair reviews (originator + reviewer together), same-day turnaround target, PR notification rules14 days
4. KaizenMonthly VSM re-run. Biggest waste: test environment setup. Solution: containerised environments auto-provisioned via CI/CD trigger11 days (54% reduction)

18 — Value Stream Mapping (VSM)

A Value Stream Map (VSM) traces every step from customer request to working software — measuring time spent in value-adding work versus time spent waiting. It makes invisible waste visible so you can eliminate it.

"69% of development time is typically non-value-adding. VSM is the diagnostic tool that forces honest measurement of where time actually goes."

The VSM Pipeline — Typical Example

VSM pipeline
StepActive Time
Backlog Refinement1 day
Sprint Planning0.5 day
Development3 days
Code Review0.5 day
Testing1 day
Deploy to Production0.5 day
MetricValue
Total calendar time21 days
Active value-adding work6.5 days (31%)
Waiting / non-value time15 days (69%)
Biggest wasteSprint wait (7 days) + code review wait (2 days)
Important: The gap between total calendar time and active work time is your waste target. In this example, 69% of time is pure queue. Fix the queue, not the code.

How to Run a VSM Workshop (6 Steps)

  1. Map every step from customer request to production deployment
  2. Record actual time for each step — not estimated, not planned; actual measured time
  3. Record actual wait times between each step (queue time before each stage)
  4. Calculate value-adding % vs. total time — this is your efficiency ratio
  5. Identify the single biggest waste source — the one queue or delay that dominates
  6. Design one intervention; measure the impact — one change at a time so you can attribute the result

The 6 Lean Metrics

Lean metrics
MetricDefinitionKey Insight / Formula
Cycle TimeTime from when work starts to when it's deliveredA rising cycle time means work is getting slower. Aim to reduce 20% per quarter
Lead TimeTime from when a request is made to when it's delivered — includes queue timeLead time = what the customer experiences. Gap between Lead Time and Cycle Time = your biggest waste target
ThroughputNumber of features/stories delivered per unit timeThroughput plateaus signal a bottleneck. Little's Law: Throughput = WIP ÷ Cycle Time
WIP CountNumber of items actively in progress at any one timeHigh WIP correlates with context switching and long cycle times. Starting WIP limit = team size × 1.5
Defect Escape RatePercentage of defects discovered in production vs. total defects foundAny escaped defect is a process failure. Target: <5% of defects reach production
Deployment FrequencyHow often working software is deployed to productionDORA classification: daily+ = Elite, weekly = High, monthly = Medium. Elite performers: multiple deploys per day
Important: Use metrics as a system, not in isolation. Goodhart's Law: when a measure becomes a target, it ceases to be a good measure. Simultaneous improvement in one metric and degradation in another = gaming.

19 — GenAI in RAD

"Speed is no longer the constraint — judgment is." — GenAI has removed the speed barrier. What matters now is knowing when to use these tools, how to review their output critically, and when to slow down and think.

What GenAI Changes

GenAI CapabilityImpact on RAD
Natural language → working codeSpecification and initial implementation collapse into one step
AI-assisted across the entire SDLCEvery phase — design, code, test, review, document — has AI acceleration
Prototyping in hours, not daysThe RAD 60–90 day cycle compresses further; inner iterations shrink to hours

The GenAI Development Loop (6 Stages)

GenAI development loop
StageWhat happens
1. PromptDeveloper writes a plain-English description of the feature — no formal spec needed
2. GenerateAI produces a working implementation in seconds, covering the core logic
3. ReviewDeveloper reads the generated code critically — checking correctness, security, and fit
4. RefactorDeveloper restructures and adapts the generated code to integrate with the existing codebase
5. TestAutomated tests run immediately; feedback loop closes in minutes, not days
6. DeployTested, reviewed code goes through the deployment pipeline
Important: The GenAI loop is the same as traditional development. The difference is speed: Prompt replaces hours of spec work; Generate replaces days of coding.

Traditional RAD vs GenAI RAD

AttributeTraditional RADGenAI RAD
Primary ToolsCASE tools & IDEAI copilots & LLMs
Team SizeSWAT teams (6–10)Small teams (2–4)
Cycle TimeDays to weeksHours to days
PrototypingManual mockupsAI-generated in minutes
Code ReviewPeer reviewAI-assisted + human oversight

How Roles Are Shifting

Traditional RoleGenAI RoleWhat changes
DeveloperAI OrchestratorDirects, validates, and integrates AI-generated code rather than writing everything manually
QA EngineerAutomation DesignerDesigns AI-powered test strategies and pipelines rather than writing individual test cases
Business AnalystPrompt EngineerTranslates requirements into precise AI instructions that generate the right output
DesignerAI UX SpecialistIntegrates AI capabilities into user-centered workflows; governs AI-generated UI components
Important: Human oversight is the constant across all role shifts. Roles move up the abstraction ladder — from doing to directing — but remain accountable for the output.

Risks of GenAI in Development

RiskDescriptionMitigation
Hallucinated CodeAI generates plausible-looking code that is logically wrong or subtly brokenAlways review — never ship unreviewed generated code
Security RisksVulnerabilities slip through when AI output isn't carefully auditedSecurity audit every generated file; treat AI output as untrusted until reviewed
Over-RelianceFoundational skills erode when engineers stop thinking critically and delegate too muchMaintain core engineering practice; use AI as accelerator, not replacement
Hard DebuggingWhen AI-generated code fails, tracing the root cause can be significantly more complexReview code before merging so you understand it; keep generated functions small

Strategic Methodology Mapping

Strategic methodology mapping
MethodologyContextWhen to use
WaterfallFixed RequirementsStable scope, well-documented, compliance-driven projects
AgileChanging RequirementsEvolving needs, cross-functional teams, iterative delivery
RADSpeed is the PriorityTight deadlines, high user involvement, proven patterns
GenAI RADExtreme AccelerationAI-assisted, small teams (2–4), hours-long cycles, responsible oversight

20 — Revenue Models and Software Licensing

Revenue Model vs Revenue Stream

TermDefinition
Revenue ModelThe strategy of managing a company's revenue streams and the resources required for each
Revenue StreamA company's single source of revenue — a company can have zero or many revenue streams

Four Revenue Models

ModelDescriptionExamples
Transaction-basedRevenue generated by directly selling an item or service to a customerMicrosoft, Apple, Samsung
Advertisement-basedRevenue from selling ad space; used by high-traffic websites/apps/marketplacesGoogle, YouTube, Facebook
Commission-basedA commission charged on transactions between buyers and sellersAirbnb, Uber, Booking.com
Donation-based / Pay-what-you-wantProduct/service is free; revenue generated from voluntary donationsWikipedia, open-source projects

Transaction-Based Sub-types (5)

Sub-typeDescriptionExamples
Licensing / One-time purchaseSell software by license; one payment for perpetual useMicrosoft Windows, Apache Server, video games
Subscription / Recurring paymentUser pays monthly or annual fee for continued accessNetflix, Spotify, Adobe products
Pay-per-useCharge for computing resources, memory, or time actually consumedAmazon Web Services, Google Cloud Platform
Freemium / UpsellingMain product is free; charge for additional functions, services, or extensionsSkype, Dropbox, Evernote
Hybrid pricingA mixture of more than one pricing modelMailchimp, AWS higher tiers, Salesforce
Important: Know the 5 transaction sub-types with examples. Freemium ≠ free: core is free, premium features are paid.

Software Licensing

Definition: A contract between the entity that created and supplied an application (or underlying source code) and its end user. Protects IP, provides legally binding definitions for distribution and use, spells out installation rights, warranties, liabilities, and IP protections.

License Categories — Ordered by Restrictiveness

License categories spectrum

From least restrictive → most restrictive:

LicenseRestrictivenessDescriptionExamples
Public DomainNoneNo legal, copyright, or editing restrictions. Free to use, modify, distribute, or sell without any restrictionsSQLite, ImageJ, SHA-3
LGPLVery lowAllows linking to open-source libraries within proprietary software. Resulting code can be licensed under any other typeVLC, 7zip
PermissiveLowFew restrictions on distribution or modifications. Most common open-source license type. Variants: Apache, BSD, MITApache, BSD, MIT licensed projects
CopyleftMediumModified/distributed code must carry the same license (reciprocal). If original is "personal use only", derivative must also be "personal use only"Linux kernel, OBS, GIMP
ProprietaryMost restrictiveSoftware ineligible for copying, modifying, or distribution. Protects developer/owner from unauthorized useSpotify, Windows

Copyleft vs Proprietary (Key Distinction)

CopyleftProprietary
Can modify?Yes — but derivative must carry same licenseNo
Can distribute?Yes — under same license termsNo
ExampleLinux kernel (GPL) — can modify but must release as GPLWindows — cannot copy, modify, or distribute
Important: The restrictiveness spectrum is: Public Domain → LGPL → Permissive → Copyleft → Proprietary. The most common exam confusion is between Copyleft (reciprocal — derivative inherits the license) and Proprietary (no copying/modifying at all).