|
Advanced Software Perspectives
|
Or is it really:
The Spiraling Dancing Act of Balancing Perspectives?
In one of my current projects I have noticed this funny little spiraling convergence on a design solution that involves the main perspectives of the software package at this time. Each perspective is designed in turn, going round and round, visiting each perspective multiple times, iterating until there is nothing left to design.
But sometimes it goes something like this:
A particular perspective, Perspective A, is designed such that the it is ‘perfect’. This perspective may be the Domain Specific XML Langauge, the Graphical User Interface, the Framework’s Architecuture, or the Implementation of the code.
At this point the particular perspective’s design is Absolutely F’n Perfect. It shines by its own light. We’re talking Nobel Prizes and stock options to the moon. Such Simplicity and Elegance that pigs are launching into the sky in massive numbers.
Been there? Then you know what comes next.
The impact this Grand Awesomeness of a Design has on the other perspectives is so nasty and incongruent with their current designs that one is presented with 3 options:
1) redesign the rest of the perspectives from scratch to try and preserve the beauty and prestineness of perspective A
2) try to do the best one can with the other perspectives - allowing them to have some dampened impact on Perspective A.
3) with the Grand Design of Perspective A in mind and in support of its primary, most beautiful aspects, design each of the other perspectives so that THEY now are the designs that shine of their own beauty. And in this round robin, spiriling in approach, keep optimizing each perspective in turn, allowing it to impact the others, but all the while trying to keep the best from the previous design iterations.
I’ve done all three approaches in the past. #2 is the most efficient and what we all have to do when we do not have time for #1 or #3.
#1 is easier than #3, but I personally rarely have the confidence in the awesomeness of the design of Perspective A that I feel comfortable throwing away other working perspectives.
Sometimes a couple of perspectives will ‘gang up on’ another, weaker perspective and force a redesign of the weaker perspective at that point.
Which is where this project is now. It is a mix of #3 and #1, where sometimes a perspective is put out of its (my) misery and rewritten, but usually it is just pounded into submission in resonse to another perspective’s requirements, and then polished so that it is beautiful on its own.
Or until the next iteration of the spiral, anyway.
And what if the spiriling through the perspectives doesn’t ever converge and pop out a complete working design with all perspectives working in unison?
Does it ever converge?
Depends on whether one is wearing an engineer’s hat or an artist’s hat…or a marketeer’s hat.
I got one of each of these hats around here somewhere… and I am trying to get the marketeers hat to fit, yet not cover my eyes at the same time.
Along with one that says in Commander Scott’s voice: “Eet eez tim for a backup, Aye Capt.?” But that one is always to quiet to hear, stuck under a pile of very dirty clothes…
Discussion
No comments for “The Spiraling Balancing Act of the Dancing Perspectives”
Post a comment
You must be logged in to post a comment.