RSS Feed

Just last Saturday, I returned from Dallas, Texas. Today, I leave for Penang, Malaysia! I was in Dallas attending Agile2012. While at the conference, I hosted a workshop with Rebecca Wirfs-Brock on the subject of Testing System Qualities. During the workshop, we showed how to write Quality Scenarios that emphasize architecture capabilities such as usability, security, performance, scalability, internationalization, availability, accessibility and the like.

We also collaborated on a lecture entitled Pragmatic, Not Dogmatic TDD: Rethinking How We Test. During the presentation, we challenged the "norm" for TDD. While we agree that testing should be an integral part of your daily programming practice, we believe that you don’t always need to derive your code via many test-code-revise-retest cycles to be test-driven.

Next on the agenda is a trip to Penang, Malaysia. I am excited to be making my first trip to Malaysia. The purpose of my trip is to teach a course on Pragmatic Test Driven Development. While there, I will be visiting with a friend and taking the time to do a bit of site seeing.

The following is a description of my keynote address which is entitled "When Should You Consider Meta-Architectures? Using Meta to Scale the Cloud."

The recent surge in cloud computing has really changed the way architectures are evolving. Platforms as a Service (PAAS) and Software as a Service (SAAS) is becoming where organizations can get necessary resources as needed without having to worry about many hardware and software configuration issues. It is no longer the case that systems need to be isolated to a single platform or set of platforms with a lot’s of possible maintenance issues. The core premise with the cloud is that different resources including services can be allocated and integrated as needed, adapting to the specific needs of the organization or systems being built.

Additionally, “Cloud Computing” allows for a large numbers of users and flexibility for different services being provided. Different types of resources and services provide maximum configuration and flexibility within the cloud and metadata is key for this type of variability. , It is quite often the case that cloud applications need to be able to dynamically adapt at runtime, without stopping the application. It is important to provide a way for users to customize their own experience with cloud applications. Trying to do this without ways for users to describe and adapt to their specific needs will not scale at all. This scaling and adaptability problem becomes even more imperative when you have many different organizations with different requirements. If, in the cloud, these organizations cannot adapt and define their different needs, the cloud solution would not be that compelling to them. In these situations, it is important to allow the ability for different customizations of the services, and to allow the users themselves to dynamically configure the systems. In order to be able to adapt to these dynamic requirements, the demand for Meta-architectures, such as those provided by Cloud solutions such as SalesForce, are necessary to make these types of adaptability possible!

What does it take to build a system that can be changed and adapted without programming? When is it appropriate to consider stepping into the meta world to build such an extensible system specifically in the “Cloud” environment? This talk answers these questions and presents ideas about using meta-architecture to scale in the “Cloud”.

I am also leading a BootCamp that focuses on teaching the principals of writing and being a part of the patterns community.

This is my first time to Panama and have enjoyed seeing the sites and taking many photos of the Panama Canal, Old City Ruins and the old city, which was rebuilt after the city was burned down by pirates in the early 1600's!

I attended another Agile Portugal this year in beautiful Porto, Portugal. Pre-Conference started Thursday early evening with a talk and discussion about "Better Science Through Art", June 21st. That was followed by watching Portugal win the Euro 2012 quarterfinals.

On Friday, the conference started with many Open Spaces which lead to some great dialog about various topics. Saturday started with a talk from Richard P. Gabriel's entitled "Life in the Trampoline of Amnesia." After that I took part in several talks and speed-talks. In the afternoon, I gave my Keynote address entitled, "Pragmatic, Not Dogmatic TDD: Rethinking How We Test."

Saturday night was the night of the annual Festival of São João party in Porto...it has become a tradition for me. The music, lights, fireworks, and food are amazing every year. The real highlight of the event for me was getting to see my friends again, particularly Ademar Aguiar, Richard Gabriel, David West, and Peter Sommerlad. Richard, David, and I did some post-conference site-seeing. The convention really went by too fast, and I'm already looking forward to next year!

by Joseph Yoder and Rebecca Wirfs-Brock

What do we mean by Pragmatic TDD?

Pragmatic Test Driven Development (TDD) is a practical approach to testing that focuses on the bigger picture of how testing best fits into and enhances your team’s software development practices. Rather than insisting that developers only write a lot of unit tests, you need to find a testing strategy that gives you higher quality software. You need to determine how testing best fits into your development context with your developers for your kind of software.

Refactory Profile

The Refactory, Inc. and its consultants provide top notch on-site training and consulting services. Through our combined years of industry and academic experience, the principals of The Refactory base our consultation on proven practices backed by industry leading research. We have the skills, experience and ambition to make your project successful.