Thursday, December 08, 2005

Cubism, Pointillism: A Developers Canvas

Picasso

A short time ago I spent a few days in Barcelona. While there, I visited the Pablo Picasso museum. The work there showed the progress of Picasso's development and how he went from creating simple drawings to creating some wonderful works of art. Picasso is known for his work in the artistic movement knows as Cubism. Cubism's key concept is viewing an object from multiple angles at once. This concept of viewing multiple angles of a subject at once is an approach I have begun to work on when analyzing business modeling and solution architecting. Most people, when looking at Picasso's work, only see a distorted image made up of misshaped shapes. It is true that most people could never see the genius of Picasso's work. They just see the work and know that it is different and not understood as other styles of art. Business modeling and solution architecture is very similar to the approach taken by the cubist artist. You can never look at a process or issue and be able to design a solution in one straight forward look. Cubism instills this idea into its basic concept. Ideas and designs must flow from a multiple angle design approach. An auditory approach has to be taken into consideration if you want to avoid multiple iterations of the development lifecycle. Auditory thinking is associated with sequential thinking and visual thinking is associated with spatial thinking. Whoa!? This method has to be taken to allow for the unordered receiving of solution requirements. Never is there a sequential reception of requirements for a solution. If it is a business solution, a messaging queuing solution or some other crazy idea, it has come up during a conversation between Gsus and me. Spatial thinkers’ and organizers’ traits allow them to model and conceptualize advanced scenarios in their world between their ears. This type of person is your best architect for solutions. This trait needs to be nurtured in those who do not possess these skills to help their ability to view an issue, process, or scenario from multiple angles at one time.

Pointillism, the Drag-and-Drop coding approach

For those of you that love the new path of development studios, the drag and drop code blocks, take note. Microsoft has been making this practice more and more main stream for mission-critical solutions. I just want to know, when did object-oriented program actually go to dragging objects? The advent of Visual Studio and BizTalk's orchestration design and mapper tool has made certain programmers seem like wizards. People can read some basic how-to guide about what an item in a tool box does and then drag it out to the design area of their project. Well as a result of the lack of proper architecting, or more likely the lack of architecting altogether, this ease of bolting together a solution in a visual technique is causing solutions to be developed with detrimental performance in plan for them. This ease of developing a solution that works, in theory, has become a detriment to software platforms available today. So to all of you pointillism.NET designers, pick up a book on some advanced development ideas and apply them to the artwork you are working on.