I really like to paint. I started back in college, on a whim. One fine day, I bought some oil paints, brushes, and a canvas, and started painting.

In my experience, painting is quite similar to writing software. Both are a combination of art and science and both are iterative in nature. Just as importantly, both require you to evaluate the unfolding reality of your creation and adjust as needed. Or, putting it a bit differently, both require agility.

Allow me to illustrate with an example of a recent painting I completed.

It Started With Yellow Flowers

My project started with a simple requirement: create an art piece for the living room. Among the acceptance criteria were 1) simple yet visually interesting composition, 2) reasonably meaningful subject matter, and 3) specific color scheme to match the living room carpet.

I started with an idea of painting yellow flowers against a gray background. My inspiration for it came from the flowers growing in our front yard, right in front of the living room window.

Because the composition was quite simple and because I wanted to complete the painting quickly, I didn’t bother with an underpainting. The main thing to get right was the flowers, so I dove right in:


Reasonably happy with what I had so far, I proceeded to fill in the background:


It didn’t take too long at all before I had the main elements of the painting well fleshed out:

A Key Milestone is Reached, But With Issues

I’ve reached an important milestone of this project, end of iteration 1. As it the custom in iterative development processes, I reflected on how the first iteration went and started planning for iteration 2.

Looking at what I had so far, I realized that there were two problems with the composition. First, the main elements were too centered, resulting in a boring painting. Second, the painting was too sparse. In short, the project was not meeting requirements and there were quality issues to boot.

I had to do something to address these problems. One obvious solution was to start from scratch and repaint the whole thing. However, being that I am exceedingly lazy, this was not a great option.

After thinking through it, I decided to add more flowers to rebalance the painting and give it more visual interest:

Luckily, that seemed to work out well enough. Iteration 2 was completed and I was starting to see the end.

And Now For the Finishing Touches

Now that I had the composition and key aspects of the painting done, it was time to add some polish. First, main flowers needed to be punched up with color:


Once that was done, I added detail to background flowers and stems. I also added a bit of volume and flair to the gray background, to spice things up a bit more. Here’s the final product:


In the end, the painting turned out roughly how I wanted it to. It passed QA (i.e. my wife) and was successfully released to production (i.e. was hung in the living room).

You may also like:

Did you love / hate / were unmoved by this post?
Then show your support / disgust / indifference by following me on Twitter!

Comments are closed.