Moses, Pharaoh and the importance of having defined requirements
Feb 2025
In my writing elsewhere, I’ve recently been thinking a lot about the importance of planning when writing software and knowing what the software needs to do (what the requirements are) before starting to write any code. When this isn’t clear it leads to incorrect assumptions, mis-communication, and additional time/effort being taken (and wasted).
In reading about the plagues the GOD sends against the Egyptians in Exodus (chapters 7 through 11) I saw a lot of parallels with badly defined software requirements.
Moses (well Aaron) says “Let my people go”. Pharaoh doesn’t see a good reason for this and so says “No”.
GOD/Moses/Aaron use signs to try and convince Pharaoh, but he still says “No”.
When Pharaoh first agrees they can “go” and worship, GOD/Moses/Aaron wants them to go further (3 days travel into the wilderness) than Pharaoh was expecting and will allow. So they end up going nowhere.
When Pharaoh next agrees they might be able to leave he expects only the men will go, but the intention/expectation was that male, female, young, and old would all go. Not being what was expected, Pharaoh lets no one go.
The third time Pharaoh agrees they can go, he’s not expecting the Israelites to take any of their livestock, but GOD/Moses/Aaron says they want to take all their livestock. Again, differing assumptions that weren’t clarified lead to delays and nothing happening.
The story ends with Pharaoh in a desperate state and almost exasperated essentially telling Moses and Aaron to do whatever they want. It’s a complete failing of negotiation, communication, and cooperation.
Ok, I know that’s not really the point of the story. GOD sent the plagues to show his power that his name might be proclaimed over all the Earth and his people would know that he is their God.
Still, it’s a pleasant surprise whenever I’m reminded by scripture that it can speak to my everyday in new ways. Even when reading a story I think I know and that I’ve heard countless times before.
Please consider sharing this with anyone you think would appreciate or benefit from it. twitter | facebook | LinkedIn | WhatsApp | reddit | email