I am really, really thrilled to be speaking at Øredev in November, when I will be giving two talks. It’s also a chance to spend time with good friends and just talking with amazingly, inspiring people – those people that always leave me feeling like I just slipped back a few rungs on the ladder. Then I realise that the ladder was much higher than I thought.
You can check out the full program details here, but here is a personal perspective on the talks.
Architecture in an Agile World: On the agility track, this talk will have a distinctly technical flavor. At the JCSE in July I gave a similar talk, but this will be more technical than that, I think. There are many things that I observe in teams, but one screams at me most often. Some process/methodology is hauled in, some discipline is put in place. People are set free, slavery is abolished. Everyone is agile. But the code is still imprisoned. Then, you flatline and then you start the decline. Agility is a lot about design too, and how you constantly need to find ways to move from ignorance to knowledge, and again, and again, and again, …
Truth and Reconciliation: Agile Lessons from the Rainbow Nation: In the S.African community I talk almost exclusively about agility at the code face, but there is another side with which I assist teams without casting labels – that is dealing with the social aspects of software development. This talk is very personal, semi-biographical maybe, but something that I don’t see teams in S.Africa recognising, yet it is part of our history. Ooops, that’s presuming a lot — it’s part of MY history, not yours. This talk is on the collaboration track, largely about trust, but there are one or two twists and turns too.
And it’s time that Øredev heard some vuvuzela music!
I will be running a 6 hour long session at the Scrum Gathering in Cape Town in September titled Modeling Out Loud. I’m now convinced that the Scrum tribe are weird. They call these sessions Deep Dives. Presumably, you need to carry enough oxygen to survive the session.
I think I’m going out on limb here because I will be challenging the value of Product Owners writing stories. I’m also suggesting that when Product Owners write stories riddled with behavior then developers are disconnected from domain experts and you regress into a waterfall mode of execution fronted by a Scrum Board. So be prepared to experiment with me and turn up your self-reflection to maximum level because we will challenge many assumptions.
Next week, I will give a talk at the JCSE Architecture Forum entitled Architecture in an Agile World (or maybe it’s the other way around). It’s not a new topic but since I visited it at a MagmaTec conference late last year, I have updated my thoughts a bit. The angle is also different because I want to explore what it means to be agile in process, and agile in practice and how that relates to understanding a problem and carving out solutions. Often, it is actually a choice to find a solution that is just and that is able to balance the various tensions.
But, I think I am equally excited at the possibility of seeing some familiar faces again in Johannesburg.
I have no idea what I’ve gotten myself into now, but I’ve agreed to help out the Empirical Evaluation of Software Composition Techniques workshop will be held as part of the next Aspect Oriented Software Development conference. I doubt I will attend ESCOT or AOSD but it will be good to collaborate once more with some very enlightening people that I met at OOPSLA last year.
I guess I’ve got quite a lot of reading coming up and it will be fun to read what is coming out of the research channels and cast my own weird industrial perspective on things 🙂
One of my contributions to 97 Things Every Programmer Should Know will be included in the book. My good friend and colleague, Niclas Nilsson, also has a contribution which will be in the book as well. But don’t just read mine, read all 97 and the amazing contributions that did not make it to the printed book as well. I have know idea how Kevlin Henney managed to select these 97 things from so many contributions.
In a couple of weeks I will be at the OOPSLA conference in Orlando, USA. I am absolute OOPSLA nOOb but am already excited about it. I’ve heard lots of nice things from the OOPSLA “veterans” at factor10 and now I can’t really wait to get there.
I will be giving a tutorial on using AOP to solve some domain problems, not just removing the infrastructural noise from your domain models. Also, I’ve been invited to be part of a panel on my best-loved-hated subject … modularity. I will also take part in the Cloud Computing Design workshop.
There’s also an amazing line up for the other tutorials and OOPSLA still has a “Pay for 3 and attend 4” promotion going on. Take advantage of it. If you already signed up for 3, then just sign up for the 4th. If you’ve signed up for 2, then pay for the third and register for the 4th too.
So much happening in just a short week. But, it will be lot’s of fun and worth the 24 hour travel time from Cape Town.
It was a privilege in itself to be invited to speak at Scrum Day but my expectations were blown out the water. Knowing some of the people behind the scenes made me realise, again, what can be achieved when you put a bunch of talented people into a room with a common purpose. Although, I am pretty certain that these passionate people didn’t just share a common purpose – it meant everything to them. And so, to all these wonderful people who gave up their time so we could learn a lot more, take a huge bow. You deserve it! (PS: Can’t wait for next year!) And if you’re looking for copies of the slides, then hop over to this page.
A few personal observations about this event:
- smooth! very, very smooth!
- Excellent speakers, excellent content, great questions.
- Nice buzz. Felt like there was something for everyone – from noobs to old war horses.
- Adoption Challenges! Seemed like this was a topic that came up in various guises during the day.
- The magic wand / silver bullet was not in the building.
- Professional event with a warm community feeling.
And a small note on my presentation since I heard the comment “So what’s agile design got to do with Scrum?”. Short answer: everything! Absolutely everything. If you’re using Scrum do build software, then agile design is the best feedback loop that you have. The fact of the matter is that code does not lie yet it is the most ignored area in Scrum.
Well, I thought it was ignored until Jeff Sutherland, in his keynote, answered that Scrum hands off all agile engineering practices to Extreme Programming.
And read what others have tweeted about #scrumdaysa!
I finally got out of neutral and pulled together the first public offering our Domain Driven Design courses in Cape Town, South Africa. Normally we give these courses on-site with people on the same development team but I thought it may be fun and inspiring to open it up to everyone for a change. Now I’m all excited again and really looking forward to a diverse mixture of people. Hopefully, I will see some old faces and lots of new people.
The one thing I can tell you is that the course is a very immersive experience. I really hate lecturing but I enjoy probing conversations and that’s how I give the course. I don’t have answers to the practical work and concerns are addressed as we go along. As a result, the day takes unexpected turns and routes. But in the end I get you to the right destination. Come along; you will leave exhausted, but inspired!
Take the Fast Track to Domain Driven Design
about the course / course contents / should you attend? / register for the course
factor10 has expanded its services in South Africa to include our advanced and
expert level courses aimed for the software professional. On September 8-9, 2009,
we will be offering a fast track to DDD for Architects at the BMW Pavilion in
Who should attend?
This course is for software professionals that want to take the right steps towards
advanced and expert levels in their careers. Register for this course if you want to …
- learn more than just another syntax and set of tools
- write software for large, long living systems
- increase the quality and maintainability of your design
- design high quality models and use code to represent those models effectively
- develop applications with a good APIs
- add a design edge to your skill set
Why should you learn DDD?
More and more developers and architects realise that learning every detail of a new
API just isn’t the way to deliver the best business value. It’s such a tough balancing
act; focus on the solving the business problem and focus on building working software
with your frameworks.
One way of taking a big leap in the right direction is to learn and apply domain driven
design. It is definitely not abstract and fluffy; it deals a lot with the code also. DDD
leads us to focus on understanding and to communicate that understanding very well;
in language, in design and in code. You will shift your focus away from designing for a
technology, and you will learn to design for the business domain; to the core of the
problems and solutions. Those are the most interesting parts and what your users
and customers really care about.
about the course / course contents / should you attend? / register for the course
It’s already halfway through the year, so let’s see what events are is in store for the rest of the year.
June: Next week is SPIN week. Join us after the June 16 public holiday. Same time, same place. Last month we had 40 people attend and we just about ran out of chairs. Lots of new faces. Please come along. The talks are normally good and the conversations are great.
July: Really need to get my act together and get to the next SA Developer‘s talk. Hilton Giesenow tells me it’s a great local event. And On July 27, Lia turns 5! Simply amazing!
August: Hmmm, seems quiet? I think I’m going to submit a tutorial proposal for the ICSE conference happening in Cape Town in May 2010.
September: Looking forward to the Scrum User Group‘s conference in early September. I may be giving a talk on the techie track. I think it’s going to be a great event. Carlo and Peter tell me so. But on September 3, Fiona turns … older 😉
October: My tutorial on using DDD and AOP to create clean, rich domain models has been accepted by OOPSLA. So, October is OOPSLA time for me.
November: I will miss Oredev. The competition to get in was so much tougher. That just means it’s going to be better than last year. If you’re a S.African developer, you should make a plan to get there. It’s a great event that is very high on value for money. But my November highlight is Khaleel turning 9 on the 22nd! Boy, how did that happen so fast?
December: Crazy season again. I really hope it’s a quiet, relaxing one this year.
I will be presenting a half-day master class for the JCSE on 27 May 2009 in Johannesburg. It’s titled Credit Crunch Metrics and aimed at geek managers. But it’s all about your code. It will be an interesting 4 hours. We will read a lot of code, look at a lot of pictures of designs. Examine the workflow of teams. All of this with the explicit intention of determine the cost of writing and maintaining your software.
Why Credit Crunch Metrics? Because we, as an industry, are contributing to the global financial slump. We need to critically look at how we produce and maintain software by examining “environmental” signs that are commonly ignored. The cost of development lies in your code, your design and your workflow. I will show you how to look at these signs and learn from them. And then, just maybe, we change our industry for the better – one code base at a time. Otherwise, we might as well substitute “software developer” for “lawyer” in those old lame jokes.
Why am I targeting management in corporate teams? Because managers have the access to the boardroom and they should be fighting the battle for their developers. So, get your “manager” to sign-up. Better yet, come along with your “boss” and then take the battle to the boardroom together.
The JCSE and I and both hoping for 15 or more people to attend. This is not a hard rule, but anything less than 10 will most likely force us to cancel the event. That would be a sad reflection on the priority thinking of people in our local community.