Download presentation
Presentation is loading. Please wait.
Published byVivian Howard Modified over 6 years ago
1
IF RAILWAYS CAN DO IT EVERYDAY, WHY CAN'T SOFTWARE DEVELOPERS?
CAN YOU ASSEMBLE A “CUSTOMISED” TRAIN IN JUST A FEW HOURS WITH A FEW SKILLED WORKERS? IF RAILWAYS CAN DO IT EVERYDAY, WHY CAN'T SOFTWARE DEVELOPERS?
2
Railways can do it because of The “Modular” Approach
How do we apply it to Software Development?
3
THE “MODULAR” APPROACH
Build individual, self-contained carriages. Enable connectivity across carriages. Place & move the carriages on a flexible, common rail. .
4
THE “MODULAR” APPROACH FOR SOFTWARE
Build individual, self-contained carriages. Identify individual output elements, action elements, operations & processes. Find commonalities across them. Decide optimum number of code-units of optimal size. Make each code-unit “self-contained”.
5
Examples of individual, self-contained carriages.
All screens have common items like textboxes, labels, listboxes, etc. Can we write a common code which will read screen definition & generate screen dynamically? Many times, we need actions like “Show orders of chosen customer” or “Show outlets in current area”. Can we write common code which will handle all such “Show X for chosen Y” requests ? A common routine to save ANY entry into ANY table? And more ambitious – can we accommodate ALL types of transactions in a single database table? 5
6
THE “MODULAR” APPROACH FOR SOFTWARE
Enable connectivity across carriages. Make each code-unit “easy to connect”, by standardising connections. Make error-detection simple, visible & mistake-proof. Provide “auditable” log.
7
THE “MODULAR” APPROACH FOR SOFTWARE
Place & move the carriages on a flexible, common rail. Add a process to connect the code-units, as per need. This process should be able to add, delete or bypass any code- unit, as per need. Keep process definition separate from the code-units.
8
Example of connectivity across carriages.
Visualise a process having 5 steps, in which step “C” is exercising credit control. Conventional approaches Modular Approach A B C D E A Monolithic OR Hard-wired B C A B C D E D E 8
9
A C B D E A B C D E C A B D E C A B D E A B C D E
Example of connectivity across carriages. Change request – “Activate Credit Control before step B (“Invoicing”) instead of step D (“Delivery”). Conventional approaches A C B D E A B C D E After 3 years, … C A B D E C A B D E A B C D E … the system HAS TO BE redesigned. 9
10
B C D E A C D E A C D E A B C D E A A C B D E C A B D E A B C D E
Example of connectivity across carriages. How Modular Approach handles changes … Conventional approaches Modular Approach B C D E A C D E A C D E A B C D E A A C B D E Monolithic OR Hard-wired C A B D E A B C D E 10
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.