≡ Menu

What better way to bring an end to the year than by returning to beautiful Porto, Portugal. During this trip, I’ll be saying Olá to my friend and colleague Ademar Aguiar (along with others). He has asked me to come out to help work on an Adaptive Object Model project. I look forward to working on this exciting international project. During my trip, Ademar and Jens Ostergaard have invited me to sit in and participate in an Agile Scrum Master Course they are teaching. Although I have quite a bit of experience with Agile and Scrum, I have never formally sat in on on a Scrum Master course so it will be enlightening to see the masters at work. 🙂

I’ll be flying to Porto on December 3 and returning early December 16th. While I’m there, I will also be taking in the sites, maybe visiting Lisbon, enjoying the company of friends, and escaping from the cold Illinois weather. If you’ll be in the area and would like to meet up, send me a message.

Porto_smaller

{ 0 comments }

 group_picture_cropped

This year marked the 20th Pattern Languages of Programs conference. We celebrated this special event by returning to our roots at Allerton Park in Monticello, Illinois where the conference first began. This year’s conference bridged the gap between newcomers with great ideas and some old friends who have been with us from the beginning.

It was very exciting to see the familiar faces of Ward Cunningham, Ralph Johnson, Richard Gabriel, Ademar Aguiar, Rebecca Wirfs-Brock, Brian Foote, Kyle Brown, Peter Sommerlad, James Noble, Dirk Riehle, Bill Opdyke and many others. Just as exciting were the many new faces from all around the world. We had 16 countries represented and we also had many first time attendees. We even had a couple patternists this year in Jenny Quillien and Michael Mehaffy who have worked with the building architect Christopher Alexander, whose book “A Pattern Language” has had so much influence in our our community.

I’d like to thank Ward Cunningham for coming and giving his talk on federated wikis and for helping me create my first federated wiki (pictured below). I’d also like to give a special shout out to Dave West and Bob Hanmer, this year’s Shepherding Award recipients. And as always, PLoP wouldn’t happen without the authors who worked so hard to submit the great ideas and papers for our review. Thanks to every one of you who pulled together to make this 20th PLoP such a great celebration, and I look forward to seeing everyone again next year.

joe_ward_forBlog

 

{ 0 comments }

As the Cosmic Mud Tour comes to a close, it’s a relief to PLoP down home again (fizz fizz). And how fitting that the tour ends up where it all began, at the Pattern Languages of Programming conference hosted by The Hillside Group at Allerton Park in Monticello, Illinois.

The Pattern Languages of Programs (PLoP™) conference is a premier event for pattern authors and pattern enthusiasts to gather, discuss and learn more about patterns and software development. The conference program offers pattern authors a unique opportunity to have their pattern languages reviewed by fellow authors, which occurs mainly in the form of Writers’ Workshops.

This year marks the twentieth anniversary of PLoP, and as such it will be a special one. To start with, the conference returns to Allerton, where it all began, for the first time since 2007. To help us celebrate, may of our old friends will be joining new friends for a week full of events:

Writers’ Workshops will review pattern papers, Writing Groups will help evolving patterns, Focus Groups will embrace challenging topics, our ‘Birds of a Feather’ (BoF) will let writers informally organize their own sessions. We’ve kicked it all off with a BootCamp that helps by introducing patterns to newcomers. To keep things lively, there will be Games to exercise our bodies and minds as well as trust building exercises. And since it’s a celebration, there will be Gifts to give and get.

We’re getting together this year to think about what the pattern community has achieved so far, where we are and where we’re heading. It’s been an eventful twenty years and we look forward to twenty more and beyond. If you’re in town for the event, I’ll see you there!

{ 0 comments }

From Portugal to Brasil, and now onto Krakow, Poland, the cosmic tour has been a journey of mind, spirit, and best practices. I’ve given talks at the National Institute for Space Research in São José dos Campos, attended MiniPLoP and CBSoft, sat on a panel, talked twice while there, and presented with Eduardo Guerra on TDD Step Patterns. Now the cosmic tour has me presenting at JDD 2013.

The JDD conference is being held in Krakow, Poland, the second largest city in the country. I’ve attended the JDD conference several times in the past, but this will be a new experience, as I’ll be discussing the Big Ball of Mud in a new country with old friends.

If you’ve never attended JDD before, then you’re in for a real good conference, with many exciting lectures and topics to discuss. Here’s the conference description:

JDD conference is held every autumn in Kracow since 2006 and has already permanently entered the IT events calendar in Poland. Every year the conference gathers nearly 400 participants working every day with Java.

JDD is a two-day conference that offers more than 30 interesting lectures that take place in two or three paths. Additionally participants are invited to join special working sessions: workshops and networking sessions. Participation in training and discussions will be a part of the conference so that developers could easily exchange experience related to their daily work.

After the conference, I’ll be heading to Switzerland to visit with an old friend. The trip should be a good time, rewarding and, as always with this tour, cosmic. And, if you need further proof of the cosmic nature of this trip, just take a look at the JDD site’s background. Now that’s cosmic!

{ 0 comments }

BBoM-CBSoftMy Big Ball of Mud Tour began this year in Portugal at the Agile & Scrum Portugal 2013 conference. This leg of the trip saw me in Brazil.  It started on September 26, when i stopped by the National Institute for Space Research in São José dos Campos. After giving a talk about Adaptive Object-Models, I left São José and headed to the capital of Brazil-Brasilia. In Brasilia, I attended MiniPLoP and CBSoft, where I sat on one panel, gave two talks and presented a tutorial with Eduardo Guerra on TDD Step Patterns.  The first talk was about Test Driven Development. The second was about “Taming Big Balls of Mud with Diligence, Agile Practices, and Hard Work.” The topic of this talk referred to a pattern paper I wrote with Brian Foote in 1997 called “Big Ball of Mud,” which was published in 1998 in the book Pattern Languages of Program Design 4 (Software Patterns Series) by Brian Foote, Neil Harrison, and Hans Rohnert.

Strangely enough, in that paper, Brian Foote and I made reference to Brasilia and the way it was planned similarly to Washington DC. We used this analogy to discuss how even the best laid plans don’t prevent software architectures, like cities, from having entanglements. Although most cities, like software projects, don’t have the luxury of major planning. Software, like cities, take on a life of their own and keeping the architecture completely clean can be a daunting task if not impossible as requirements and needs evolve. Here I am, 15 years later, in the same city discussing that very topic. Wow, Cosmic!!!

From there, it was on to a last minute invitation to be part of panel on how the Brazilian Government can better support software research. The goal of the Research, Development and Innovation in Software panel is to discuss, informally, the future of research, development and innovation in software in Brazil.

The trip wasn’t all work for me, fortunately. I had a chance to reconnect with some old friends for great times, and even made some new friends as well. It seems the coincidences aren’t over for me, though. After CBSoft, I headed out to São Paulo to meet up with friends and colleagues. While walking on the busy streets of São Paulo on Paulista Ave, I ran into a friend and colleague Klaus Wuestefeld who recognized me in the mass of people. He was visiting to give a keynote address at Agile Tour 2013  just a few blocks from my hotel. Wow, is it a small world or what??? Of course I had to go to the conference with Klaus and there I not only met some new friends, I also ran into someone else I knew. I love it when the cosmos are in alignment :-).

All in all, the trip has been a great success and a lot of fun. I’m headed home for a short rest before I’m off to the next city on the tour-Krakow, Poland and then on to Stockholm, Sweden!

{ 0 comments }

It’s the end of September, and that means it’s back to Brazil for your friendly neighborhood agilist! I’ve got a full itinerary this year, and there are a number of stops planned for this trip.

To start with, on September 26-27, I’ll be visiting the National Institute for Space Research (INPE)  in São José dos Campos. While at INPE, I will be giving a talk entitled “Adaptive Object-Model Architecture: How to Build Systems That Can Dynamically Adapt to Changing Requirements.”

From São José dos Campos, I will be returning to São Paulo before embarking on my first trip to Brasília (Capital of Brazil), where I will attend MiniPLoP on the 28th. At MiniPLoP, I will be presenting the keynote address on the subject “Taming Big Balls of Mud with Diligence, Agile Practices, and Hard Work.” I will also be presenting a writers workshop simulation with Eduardo Guerra.

After MiniPLoP, I will be attending CBSoft from 9/29-10/3. During the 7th Brazilian Workshop on Systematic and Automated Software Testing (SAST 2013) at CBSoft, I will be giving a talk about Pragmatic Test Driven Development. At CBSoft, I will also be presenting a Tutorial with Eduardo Guerra entitled “Test Driven Development Step Patterns.”  I will also be reprising my talk “Taming Big Balls of Mud with Diligence, Agile Practices, and Hard Work” at the Brazilian Symposium on Software Components, Architectures and Reuse (SBCARS) while at CBSoft. On the 3rd, I will head back to Sao Paulo, where I’ll catch up with some friends and give a talk to some investors and start up companies about Agile Best Practices. I’ll head back home the evening of the 6th.

If you’ll be in Brazil during this time and would like to get together, please get ahold of me.

{ 0 comments }

In my previous post I described how AOM helped us build an agile development pipeline and increase the frequency, and more importantly the quality of our deliveries.  This time I will describe how we harnessed AOM to revolutionize our architecture from legacy RDBMS to Big-Data.

As a provider of real-time marketing solutions to Tier-1 Telcos, the Pontis platform should handle massive data volumes –billions of mobile subscriber events that need to be processed and analyzed every day.

In our efforts to scale up our solution to handle the rapid growth of data, we quickly discovered that HW and licensing costs increase super-linearly with scale. The unreasonable costs made us realize we had no choice but to switch to Big Data architecture to be able to achieve a factor of 5-10 decrease in costs compared to our ‘classic’ architecture.

Initially – like any R&D group I guess – we were reluctant to change. We offered many logical reasons. For one, we knew from others that moving to Big Data could be a long and painful process. It would involve re-writing from scratch, training all R&D engineers, building a new infrastructure and many more painful and time-consuming tasks. Such a transformation could easily take 2-3 years or longer.  And after all the effort was done, in order to support existing customers, we would end up with two product lines: the legacy platform and the new, Big Data product. This would mean two R&D teams and a never-ending compatibility headache.

AOM to the rescue

It then hit us. Our AOM development environment can come to the rescue. In this approach, business logic is written in Domain Specific Languages (DSLs) and is agnostic to execution technology. The model is platform-independent and handles the business-logic. Execution is done by thin engines that run the business-logic over the underlying technology platform.  The DSL user defines the business-logic using abstract language that may have several execution engines for different platforms.

The move to Big Data, then, could be much easier. The total separation between the business logic and infrastructure layers reduces the need for overlapping knowledge between teams. We would not need to maintain separate product lines to support different technology platforms. Instead, we could build an Analytics-DSL that has execution engines for both platforms.  We had to start by reverse engineering our existing Analytical application into an AOM DSL as it was originally developed in SQL.

 AOM_BigData

True, we still had to obtain Big Data expertise. But we did not have to train all or even most of our team.  Our infrastructure team mastered the necessary technologies, while the rest of R&D continued with their regular tasks.

Today, less than a year since we started our journey, we are in the certification stage and about to go live with our Big Data solution in a few weeks.

{ 0 comments }

Next week marks my first visit to Geneva, Switzerland. While there, I will be teaching a course on Refactoring to Better Design and Test Driven Development: Evolving Legacy Code at The European Organization for Nuclear Research, better known as CERN.

I’m excited to be making the trip and I hope to find some time while I’m there to take in the sights, not least of which is CERN itself. You may have heard of CERN recently, as scientists there have made international headlines with the discovery of the “God Particle,” the Higgs-Boson.

According to their site, “At CERN, the European Organization for Nuclear Research, physicists and engineers are probing the fundamental structure of the universe. They use the world’s largest and most complex scientific instruments to study the basic constituents of matter – the fundamental particles. The particles are made to collide together at close to the speed of light. The process gives the physicists clues about how the particles interact, and provides insights into the fundamental laws of nature.”

A less well known fact about #CERN is that it was the birthplace of the World Wide Web. The web started out at CERN in a project called ENQUIRE which was headed up in 1990 by Robert Cailliau and Tim Berners-Lee as a means of facilitating collaboration between scientists. A copy of the first web page ever created can be found here.

I will be arriving Sunday, Sept. 15 and returning Saturday the 21st. If you will be in Geneva that week and you’d like to get together to discuss #refactoring or #tdd, please contact me. For information about other upcoming trips (like Brazil!) visit my page at joeyoder.com.

{ 0 comments }

It’s a beautiful warm day here in Music City, #Nashville, Tennessee. I’m happy to be back in Nashville and to be attending #agile2013 again this year. The conference starts today, so I’m excited to be getting right into the event, although I have been talked into setting some time aside to go honky tonkin’ tonight!

I managed to get an early start to the conference by coming down a bit early to visit with my fellow Hillsider, Linda Rising, aka “The Queen of Patterns.” I also saw her talk today entitled “The Agile Mindset – what’s next?”

While here, I’m also meeting with my friend and colleague, Rebecca Wirfs-Brock, with whom I will be presenting a talk entitled “Agile Quality Scenarios: How to Be Nimble and Precise.” In the talk, Rebecca and I will discuss how to write Quality Scenarios in an #Agile manner in order to avoid the major refactoring and system architecture upheaval that often become necessary after software qualities like security, scalability and reliability are overlooked until late in the game as we are trying to rush to market.

I anticipate a lot of other interesting talks at the conference, as well, as over 200 other speakers will be at the event to discuss all aspects of Agile practices. If you’ll be at the conference or in Nashville this week, look me up!

{ 0 comments }

I’m excited to be headed back for my “annual” summer trip to Portugal. I’ll once again be arriving in the city of Porto, where I’ll be taking in the sights while I await the beginning of the Agile & Scrum Portugal 2013 Convention. This is the first year that these two conferences will join efforts to help promote the best for software development in Portugal. I will visit Ademar Aguiar for a couple of days in Porto before we travel by train to Lisbon where the conference will be held for the first time.

This is my second visit to Lisbon, and I’m excited to see more of what the city has to offer. During my first visit, Ademar and I had one intensive day to see the highlights of the city. This time I will be there for a few days, so I can be more relaxed while catching the sights. I’m also looking forward to reconnecting with my fellow Hillsider Linda Rising. During the conference on Friday afternoon, I’ll be presenting a keynote entitled, “Taming Big Balls of Mud with Diligence, Agile Practices, and Hard Work.” I will also be hosting a workshop Saturday on the subject, “Agile Quality Scenarios: How to Be Nimble and Precise.”

After the conference, Ademar and I will be headed back to Porto for the Festa de São João do Porto. One of the world’s biggest parties, this festival is something I look forward to whenever I have the opportunity to attend (which I have been able to attend for the last 5 years). If you’ll be at the convention or the festival, get a hold of me!

{ 0 comments }