Subscribe via RSS

Whiteboard Wednesday: Benefits of Point Estimation

Filed Under Estimation, Whiteboard Wednesdays

This Whiteboard Wednesday talks about the benefits of doing your software estimation in points rather than in time. As I explain in the video, there is a great game called – Planning Poker. Here are some links on Planning Poker:

The Quest For Perfect Proportions In Your Software

Filed Under Architecture, Thought Stuff

Da Vinci’s Truvian Man

Without saying, I am impressed how intelligent geniuses such as Leonardo Da Vinci and Beethoven were; however, I am much more impressed how clever they were in applying it to their respective crafts.

One of the most prevalent examples of this is the underlying introduction of the Golden Ratio into art, architecture, and music.

Da Vinci used the golden ratio in a number of his works of art, his most blatant being his Vitruvian Man; however, he also used it in The Annunciation and speculated the Mona Lisa.

Beethoven’s Fifth is found with numerous instances of the golden ratio, as is Mozart’s sonatas. In fact, there is another whole discipline with the Fibonacci series called the Golden String which scrutinizes many violin constructions.

Before any of this – The Parthenon is filled with instances of the golden ratio and other mathematical wonders including optical modifiers.

For almost a year now, I have wanted to write about how software is much like the elegance of music. Both artistic from one perspective yet scientific and mathematical from another. So I continue by pondering the question – what would the Truvian Man or Parthenon look like if it were a MVC application stack?

With a quick introduction to the Golden Ratio maybe we can hypothesize. If the golden ratio equals:

Golden Ratio Equation

The only positive solution to this quadratic equation is:

Golden Ration Quadratic Equation

OK, now that we have that out of the way, normally we tend to draw a simple 3-tier architecture with 3 equal layers like this:

Normal MVC

But what would happen if we apply the golden ratio to this architecture stack?
Here are a few permutations:

mvc2.gifmvc3.gif
mvc4.gifmvc5.gif

The one that I hope represents reality the most would be this permutation:

mvc1.gif

So all of this brings up interesting questions, and lets assume you have your domain model layer completed.

First up, what is the optimal amount of software to support X number of entities?

This question completely depends on the application. Is it a simplistic data in / data out application? Then maybe your ratio of View to Model is closer to 1:1. Does your application have a ton of business logic? Maybe your ratio of View-Controller-Model is closer to 1.6:1.6:1.

Second, how does this change testing?

In the ROI of Testing I speculated at some values at the ROI of unit testing, business logic testing, and automated UI testing. How would that exercise change if your application demanded that you build the very top heavy permutation above (View layer is ~1.6 x bigger)?

In the end, does any of this matter? Being agile means only building the amount of software you need to do the job. If underlying patterns emerged – then neat, but not at all necessary to view the project a success.

500 years from now, I can only hope that someone goes through the hassle of dissecting my code and finding the mathematical brilliance of Beethoven’s Fifth…but in the end it will probably be more like Brittney Spears pop rock…

Concentrated Codesqueeze: January 2008

Filed Under Squeezed Links

This month started out pretty good, I gained over 1500 new readers due to Jeremy Miller doing a pretty cool post announcing CS as his favorite new blog. That was a nice boost of RSS love.

Although I had a nice success this month, I feel as if I haven’t been giving this blog enough love lately, so one of my goals for February is to get back on the horse and really deliver some new great and original content similar to Connecting the Dots Between Analysis and Design. Wish me luck…

Readers Choice:

  1. Best of Codesqueeze 2007
  2. How Your Socks Can Determine Software Lifespan
  3. Whiteboard Wednesday: The ROI of Testing
  4. Why Your Manager Doesn’t Like To Throw Away Work (And You Do)
  5. Book Review: Continuous Integration

Authors Choice:

« Older Entries Newer Entries »

Max Pool - © 2025 - {codesqueeze}. Sycorr Banking Solutions