God & software design
What in the world is this guy talking about?
This is probably a very odd connection for many, and likely lost on those outside the software industry, but I've found my walk with God to be amazingly similar to software development.
In one respect, there's the creation process and development of systems and/or components that interact with each other. All of these components have properties, functions, etc, and may be derived from a separate base component. On a small scale, consider a mouse (or jackelope... they're real, right? I suppose now is not the time for comic relief), which may derive from MammalBase, deriving from AnimalBase, VertebrateBase, OrganicLifeBase, etc. Type Mouse would implement MammalBase's abstract methods such as GrowHair() and ProduceMilk() or NourishOffspring() or something like that... you get the picture. On a larger scale, consider the water cycle. There's way too much going on there even for a shallow design discussion like this one, but I think that would have been a fun project.
[Examining the structure and organization of life to the smallest things on earth but also the universe on a broader scale is one reason that I am simply unable to believe we are products of macroevolution... there's far too much organization and design for me to accept the claim that our "system" has no designer. With that said, it's kind of exciting to be mimicking God's design process in my work.]
For agile practitioners, it might be interesting to note that the business feedback cycle works the same way as God's feedback cycle. As interaction with the business decreases, so inversely goes the success of the project. Just as in the software development process, there is tremendous reward for constant feedback and interaction with the provider of the requirements. I could give examples with previous experience on both sides of the coin. As Christians we learn to recognize when we're straying from God's will and feel that pull back to the plumb line (what we do about God ringing on line 1 is a different topic...). Over time it becomes clear the road is much smoother with regular prayer, worship, and overall proximity to God. In the same way, a software development project seems much more of an uphill battle without end-user interaction. Both relationships are personal where two-way dialog is required to achieve success.