SlideShare a Scribd company logo
Lazy
Programmer’s
Guide To Writing
Spec
Inno Tech Boot Camp 2018 July #ITBC2
Leong Hean Hong
Agenda
● Purpose
● Feature List
● Business Process
● Business Rule
● Other Diagrams
● API Spec
Lazy Programmer's Guide To Writing Spec
Why Should I Write Spec?
● Confirm what user wants
● Make sure we are developing the right software
● Clarity among team members
● Ensure members work toward same direction
Tip: Do not write something nobody reads
Guideline
● Start from high level, go more detail as you need
● If not sure need to write or not, write anywhere
● Be as specific as possible
● Prefer image over words
● Make it easy to read & understand
● Assume reader of spec document is confused, with no prior knowledge of this project
Let’s build
an eWallet!
Feature List
Lazy Programmer's Guide To Writing Spec
Functional vs Nonfunctional
Requirements
● Functional Requirements - that is of value to user
● Nonfunctional Requirements - user don’t care
Functional Requirements
● An user can transfer money to another user
● User can topup wallet using different payment methods (Credit Card, IB, scratch card)
● User can check balance
● User can receive money by sending URL link to payer
● User can transfer money by scanning QR code
Nonfunctional Requirements
● Network communication must be secured (HTTPS)
● Compliance with KYC, AML/CFT
● It need to support at least 200 concurrent transactions
● Log all transactions
● Daily reconcile
Business Processes
Lazy Programmer's Guide To Writing Spec
Business Process
● Sequence of actions user performs to achieve an objective.
● User can be human or system
● Example of objective
○ Scan QR code to make payment
○ Generate and send payment link
● Method
○ Writing
○ Flowchart
○ Sequence Diagram
Example: Writing
1. Merchant use system to generate QR code.
2. Merchant print and display QR code.
3. Payer scan QR code.
4. Payer types in payment amount.
5. Payer confirms payment with 6-digits PIN.
Method: Writing
● Clearly define actors (“who”) and actions (“what”)
● Hard to express if/else, loop
● Wordy
Example: Flowchart
Method: Flowchart
● Can express if/else, loop
● Take up large space
● Flow chart symbols: http://bit.ly/2zanyxb
○ Start/end
○ Process
○ Display
○ Decision
● Lack of actor information
Example: Sequence Diagram
Method: Sequence Diagram
● Clearly define actors and actions
● Hard to express if/else, loop
● Shows interactions between multiple actors
● Sequence from top to bottom
Business Rules
Lazy Programmer's Guide To Writing Spec
Business Rules
● Imagine “if/else” and “switch” for business.
● Make decision based on conditions/criteria
Business Rule Example (1)
Amount < $50.00 Amount ≥ $50.00
ID Verified Y Y
ID Not Yet Verified Y N
Rules for allowing transfer:
Business Rule Example (2)
Topup Amount Reward
< $50 1%
$50.00 ~ $99.99 2%
$100.00 ~ $199.99 3%
≥ $200.00 4%
Other Diagrams
System Diagram
System Diagram
● High-level concept
● Relationship between different (sub)systems
Module Diagram
Module Diagram
● Dependency: top depend on bottom
● Composition: module contain submodules
Relationship Diagram
Relationship Diagram
● Different from entity-relationship diagram
● Good for showing high-level concepts
● Describes relationships
● May not be direct reflection of DB schema
API Spec
API Spec
● Test/Production URLs
● Authentication (e.g. Token, HTTP Basic Auth)
● Listing of each endpoint
○ Brief description
○ List all parameter (name, data type, optional?, description, data size, values)
○ Example request
○ Example response
Reference:
● Xpressify, Mailgun
Ending Note
● Inspired by UML Diagrams (highly recommend you read up on it http://bfy.tw/5dZO)
○ Class Diagram
○ Activity Diagram
○ Sequence Diagram
○ State Machine Diagram
Lazy Programmer's Guide To Writing Spec

More Related Content

PPTX
Radical Requirements: Tips For Delivering What They Want
PPT
Mobile development process - My view
PPTX
[DSBW Spring 2009] Unit 04: From Requirements to the UX Model
PDF
JCon Live 2023 - Lice coding some integration problems
PDF
Non-functional requirements
DOC
Future fashion report
PDF
Software Requirement Specification on Online Purchasing System
PPTX
Software Project Management for Entrepreneurs
Radical Requirements: Tips For Delivering What They Want
Mobile development process - My view
[DSBW Spring 2009] Unit 04: From Requirements to the UX Model
JCon Live 2023 - Lice coding some integration problems
Non-functional requirements
Future fashion report
Software Requirement Specification on Online Purchasing System
Software Project Management for Entrepreneurs

Similar to Lazy Programmer's Guide To Writing Spec (20)

PPTX
Non-Functional Requirements Are Important (with Explanatory Notes)
PDF
Software Engineering SDLC phases and SRS.pdf
PDF
apidays Australia 2022 - API design challenges and making APIs your common la...
PDF
project.pdf
PDF
Moving beyond request reply - designing smarter APIs
PPTX
Software Development Demo:GDSC&UISS .pptx
PPTX
AppliFire Blue Print Design Guidelines
PPT
Lec 1 intro
PDF
Computer Programming for Lawyers
DOCX
RabbitMQ in Microservice Architecture.docx
PPT
Software Factories in the Real World: How an IBM® WebSphere® Integration Fact...
PDF
Unit 04: From Requirements to the UX Model
PPTX
Skill of superb developers
PPTX
Requirements Gathering for SharePoint Developers
PPTX
Lets focus on business value
PPTX
qr code (1).pptx
PPTX
Object Oriented Software Development revision slide
PDF
DDD Belgium Meetup 2017: Events, flows and long running services
PDF
Refactor your Specs - 2017 Edition
PDF
apidays Paris 2022 - API design best practices, Ryan Clifford & Ros Bennis, F...
Non-Functional Requirements Are Important (with Explanatory Notes)
Software Engineering SDLC phases and SRS.pdf
apidays Australia 2022 - API design challenges and making APIs your common la...
project.pdf
Moving beyond request reply - designing smarter APIs
Software Development Demo:GDSC&UISS .pptx
AppliFire Blue Print Design Guidelines
Lec 1 intro
Computer Programming for Lawyers
RabbitMQ in Microservice Architecture.docx
Software Factories in the Real World: How an IBM® WebSphere® Integration Fact...
Unit 04: From Requirements to the UX Model
Skill of superb developers
Requirements Gathering for SharePoint Developers
Lets focus on business value
qr code (1).pptx
Object Oriented Software Development revision slide
DDD Belgium Meetup 2017: Events, flows and long running services
Refactor your Specs - 2017 Edition
apidays Paris 2022 - API design best practices, Ryan Clifford & Ros Bennis, F...
Ad

More from Hean Hong Leong (19)

PPTX
Telegram Bot
PDF
How To Work With UI/UX Designer
PPTX
How not to be a mediocre developer!
PDF
Gitflow Workflow
PPTX
Developing Better Software
PDF
Go serving: Building server app with go
PDF
Webhook & Mailhook
PDF
Hacker Culture
PDF
Do More With Message Queue
PPTX
Building A Software Team
PDF
What the HACK is HHVM?
PDF
Developing MyTrafficCam
PDF
Mobile Payment
PDF
Android and web services
PDF
Color filters for the dummies
PPT
Android security
PPT
PHP_Frameworks_Discussion
PDF
Rubik Cubes For Geeks
ODP
Geekcamp Android
Telegram Bot
How To Work With UI/UX Designer
How not to be a mediocre developer!
Gitflow Workflow
Developing Better Software
Go serving: Building server app with go
Webhook & Mailhook
Hacker Culture
Do More With Message Queue
Building A Software Team
What the HACK is HHVM?
Developing MyTrafficCam
Mobile Payment
Android and web services
Color filters for the dummies
Android security
PHP_Frameworks_Discussion
Rubik Cubes For Geeks
Geekcamp Android
Ad

Recently uploaded (20)

PPTX
Transform Your Business with a Software ERP System
PPTX
Reimagine Home Health with the Power of Agentic AI​
PPTX
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
PDF
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free
PDF
Flood Susceptibility Mapping Using Image-Based 2D-CNN Deep Learnin. Overview ...
PDF
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
PDF
System and Network Administraation Chapter 3
PDF
2025 Textile ERP Trends: SAP, Odoo & Oracle
PDF
wealthsignaloriginal-com-DS-text-... (1).pdf
PDF
How Creative Agencies Leverage Project Management Software.pdf
PDF
Odoo Companies in India – Driving Business Transformation.pdf
PDF
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
PDF
Nekopoi APK 2025 free lastest update
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 41
PDF
Design an Analysis of Algorithms I-SECS-1021-03
PPTX
Introduction to Artificial Intelligence
PDF
top salesforce developer skills in 2025.pdf
PDF
How to Choose the Right IT Partner for Your Business in Malaysia
PDF
Wondershare Filmora 15 Crack With Activation Key [2025
PPTX
L1 - Introduction to python Backend.pptx
Transform Your Business with a Software ERP System
Reimagine Home Health with the Power of Agentic AI​
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free
Flood Susceptibility Mapping Using Image-Based 2D-CNN Deep Learnin. Overview ...
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
System and Network Administraation Chapter 3
2025 Textile ERP Trends: SAP, Odoo & Oracle
wealthsignaloriginal-com-DS-text-... (1).pdf
How Creative Agencies Leverage Project Management Software.pdf
Odoo Companies in India – Driving Business Transformation.pdf
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
Nekopoi APK 2025 free lastest update
Internet Downloader Manager (IDM) Crack 6.42 Build 41
Design an Analysis of Algorithms I-SECS-1021-03
Introduction to Artificial Intelligence
top salesforce developer skills in 2025.pdf
How to Choose the Right IT Partner for Your Business in Malaysia
Wondershare Filmora 15 Crack With Activation Key [2025
L1 - Introduction to python Backend.pptx

Lazy Programmer's Guide To Writing Spec