Wednesday, April 16, 2008

4 Year Old Quotes: God

"I know who God is Daddy - God is in your tummy when you die"

- Hannah Oberlander, 4

Tuesday, April 15, 2008

A million small steps + learning from missteps = Amazon's Success

Nice article from CNN on Jeff Bezos's history with Amazon, its success through hard times, and its ventures ahead in digital media. One interesting thing for me is that they used the exact same principles we consider successful for agile software development to be successful with the business - many small steps followed by learning from each little misstep and corrective action. This is the concept of emergence in agile development.



From the article:


So how did he avoid the fate that befell so many dotcoms and turn Amazon into a real business? It's easy to believe that Jeff Bezos is one of the great innovators. But that's not exactly the case. His rise into Fortune 500-dom actually has little to do with innovation and more to do with iteration. If anything, Amazon demonstrates how a cutting-edge Internet company - of all things - can succeed slowly. The trick is taking a million tiny steps - and quickly learning from your missteps.

Thursday, April 10, 2008

Thoughts on The Google App Engine and Good Web Application Design

Last week, Google announced and made available the Google App Engine. I watched the series of 6 videos that discuss what its all about - including a demo of coding, building, and hosting a web application in 8 minutes. Given all of the complexities behind build, deployment, and hosting of web applications, I can see how this is very attractive.


But, I have also been spending a lot of time thinking about agility and its focus on code quality and code testability. I am currently reading Scott Bain's great book, Emergent Design where he discusses at length the need for professionalism in software engineering - that just because you can write code, doesn't make you a software engineer professional - and it is the lack of attention to professionalism and quality that has contributed to a poor relationship between the customer and the developer - because of years of crappy code, missed projects, and high costs dumped into fixing production bugs and re-writing entire systems. His definition of professionalism is tied to adhering to a set of design principles and patterns that have been learned and established over time.

In the google demo, we watch a web app strung together in a matter of minutes in a very non-object oriented fashion - very procedural, tightly coupled and without cohesion. The message - you too can write code in a matter of minutes and have a web app. But what we have learned so many times is that unless you pay attention to key design principles such as loose coupling, high cohesion, single responsibility principle , open-closed principle, encapsulation, etc (see Agile Principles, Patterns, and Practices in C#) - you will end up with code that is not testable and very costly to maintain or change - so much more costly in the end, despite the quick initial ability to get the app out there and see it working.

My point is, that with all the latest in rapid application development such as the google apps platform, python, php, and other scripting languages - we're not maturing as a profession (that of software engineer) until we can start demonstrating the use of these patterns and principles as part of the overall message.

Tuesday, April 8, 2008

Here's the real scoop on this ugly war.



One thing about working at Getty Images - I have the world according to pictures - 100% unedited and real, pass before me everyday. Forget the CNN headlines, the FOX news breaks - these pictures tell the real story. The problem is, so often I forget to look. As is with this picture, published nearly a year ago by one of our amazing photographers. Just do a search on the Getty Images site and you can get come face top face with the realities of the war. The reality is that it is just death, and sadness, and hatred, and lives ripped apart. This war needs to end!! I missed this photo last year when it came out. It was taken by John Moore, a photographer here at Getty. There are thousands of images out there that show the pain and horror of the Iraq war, but sometimes it still feels so distant. In this photo, it seems real as ever. I want to cry with Mary as I think of how she must feel - and am embarrassed by how distant and unattached the rest of us can be sometimes regarding what this war truly means. One of the great things about working at Getty Images, is that every once in awhile, one of these remarkable photographers will come in and talk to us about the story behind the photos. In the case of this photo, John Moore shared his encounter with Mary McHugh, the woman in the photo. Read about it on the blog. Here's an excerpt:

"Mary told me about her slain fiance Jimmy Regan. Clearly, she had not only loved him but truly admired him. When he graduated from Duke, he decided to enlist in the Army to serve his country. He chose not to be an officer, though he could have been, because he didn’t want to risk a desk job. Instead, he became an Army Ranger and was sent twice to Aghanistan and Iraq - an incredible four deployments in just three years. He was killed in Iraq this February by a roadside bomb."

Although I never knew Jimmy Regan, this is a man I admire with all my heart. Thank you Mary McHugh for letting the world glimpse in on your world and your pain and sorrow - it is not news - it is helping distant people like me here across the country, keep the reality of the Iraq war in the forefront of our lives - so that we can contribute to a voice to stop it.