By Manoel Pimentel Medeiros
Pinky and The Brain is a cartoon about two mice (Pinky and The Brain) who are opposites in nearly every way. The interesting thing about this cartoon, and why it’s relevant to software development, is the struggle between the key characters. I will use them to illustrate the ideal of balance between technology solutions and simplicity.
First, let’s learn a bit about the characters. For those of you unfamiliar with Pinky and The Brain, The Brain (the short mouse with the big head) is the thinker. Pinky, the taller mouse with the big smile, is a goofy jokester. The Brain has a high IQ that he uses to plan and create highly complex solutions to simple problems, often much more complex solutions than are needed. For example, when asked to invent a device for drinking lemonade, The Brain’s solution would likely be a super engine with hydraulically driven pressure tubes, initiated by a solar energy collector and stored in a thermo-nuclear device. Brilliant, but perhaps a bit too involved. A simple glass might do just as well.
The Brain makes some of the same mistakes we make in software development. How often has an analyst or software architect established a super-sized project, using various combinations of technologies and techniques, just to create a simple screen to access a database? It’s not that his solution is wrong; it’s just too complex and risky for the problem at hand. I am not speaking only of the complexity inherent in combining technologies and techniques; I am also speaking of the complexity in fully understanding how the technologies work together, which can kill the productivity of the project.
Then there is Pinky, who believes in everything that The Brain says. Unlike The Brain, Pinky’s tendency is to simplify things. By using his intuition and doing the easiest possible thing, he inevitably achieves more effective results, with less effort, than The Brain. Pinky represents those who prefer simple and easy solutions to software problems. The flip side, though, is that these same individuals might lack the vision necessary to solve problems that require a more complex or scalable solution.
Neither Pinky, with his overly simplistic view, nor The Brain, with his exaggerated complexity, is a model to follow in our approach to software development. Instead, it is important to note that the characters perform optimally when in partnership, balancing an intelligent solution with a simple approach. Too often, we design a spacecraft when we really only need a simple car. At the same time, if we limit the design of the car too much (not giving it a large enough engine, perhaps), we run the risk of over-simplifying the problem. Solutions that lack vision can be just as detrimental to the success of a project as solutions that are overly complex.
Remember, too, that in software, our solution must be aligned with business rules in terms of the scope of the application, and that any solution should enable the implementation of changes or updates that will allow us to adapt to the progressive needs of the customer.
Know the technologies, seek knowledge, and explore possibilities, but always remember that a project is an investment and that all parties want to have good results. Whenever possible, make simple solutions the priority. By doing so, you reduce the complexity and the risk of failure. Striving for a balance between complexity and simplicity will maximize your level of productivity. Use technology as it was intended: to help and not harm you. Think about it!