Archive for category conferences
Torbjørn Marø over at kjempekjekt.no has posted his personal agenda for NDC 2009, and thought it was a great idea. And like all great ideas, they are copied relentlessly.
I have some favorites here, but some sessions have stronger competition than others.
|10:15||Michael Feathers||Seven Blind Alleys in Software Design|
|11:30||Michael Feathers||Working Effectively with the Legacy Code: Taming the Wild Code Base|
|13:30||Jeremy D. Miller||Lessons Learned from a Long Lived Codebase|
|14:45||Udi Dahan||Designing High Performance, Persistent Domain Models|
|16:00||Udi Dahan||Intentions and Interfaces – Making Patterns Complete|
|17:15||Michael Feathers||Design Sense Deep Lessons in Software Design|
I have intentionally left a couple of spots blank, ‘cause I can’t make up my mind. And unfortunately it has more to do with lack of topics in those particular slots than the opposite.
|09:10||Peter Provost||The Butterfly Effect|
|11:30||Ted Neward||Extend the Customization Possibilities of your .NET App with Script|
|13:30||Robert C. Martin||Clean Code: Functions|
|14:45||Ayende Rahien||Object Relational Mapping +=2: More than just Data <-> Object|
|17:15||Robert C. Martin||Clean Practice: Agility and Craftsmanship|
Even though this has some of the most interesting talks, I can live with seeing them later on video. I just don’t want to miss an opportunity to sharpen my saw with Scott Bellware.
Moltke said “No battle plan survives contact with the enemy”. If I rephrase it just a little to “No plan survives contact with reality”, it will properly relay my feelings about my plan on this occasion.
There will probably changes in the official agenda, and I might be infatuated with a speaker or two during the conference. Looking at my list, I sway in the direction of technology-agnostic topics. That sounds about right.
But more important: I’ll see YOU there, won’t I?
Most developers have seen the developers, developers, developers talk, and we had high expectations for this keynote. He was quite enthusiastic in Oslo as well, telling us about things he thinks will influence our industry in the foreseeable future. This search at Youtube seems to find the whole show.
The rest of the day I attended the main track, starting out with a Silverlight 2 presentation from Gøran Hansen. While Silverlight 1 was mostly about animations and media, I didn’t give much attention. But the second version looks promising, with the CLR and a subset of the .NET libraries present. What I miss though, is maybe some background about the fact that running .NET WinForms applications in IE in object-tags has been possible a long time (without the automatic deployment of the framework). Props however to MS for finally supporting more than Windows & IE only! Gøran did a great job presenting, I really enjoyed his presence on stage.
Next up was another presentation from Gøran, which gave the audience an introduction to ASP.NET Dynamic Data. For those of us who attended NDC2008 and Scott Hanselmans keynote there, it was plain repetition. The only difference might be that this was showing the final bits released with SP1 of the framework, and Scott showing us some earlier version. It seems like a great technology to get you up and running very quick, but I wonder how many pages you end up with in the CustomPage directory after a while. Even though the topic didn’t tickle my fancy, Gøran did a great job on this one as well.
Then it was time for lunch, rather late according to my stomach. But it tasted good, and there seemed to be enough to fill up all us starving geeks. As always during the breaks, old colleagues and friends sneak up on you and says hello. Which I really do appreciate!
After the break, Anders Norås gave a talk about SOA. More specifically about how we should start thinking along the lines of enterprise service buses and leave our old crusty webservices in the dust. I really do concur with a lot his ideas, and I’m always happy to see code with binsor-love. I also liked his onion-architecture, which resembles my standard layered architecture (no, not the "standard standard"). Hmmm, looks like another blog post (again).
"Debugging your debugging habits" was up next with Rune Zakariassen from Microsoft. He showed us some tips & tricks for your debugging needs in Visual Studio, and presented a step-by-step recipe on how you best can find bugs in your code. I thought it was a nice presentation, even though my only real takeaway was the tracepoint functionality in VS. I’ve been a sucker for Debug.Writeline when I don’t want to impact the run of things stepping through, but this gives me an even less intrusive way keeping track of how the program executes.
Finally, Gøran entered the stage for the last time this day. He showed us how WPF databinding can be used with a variant of Model-View-Presenter called Presentation Model. The emphasis was really on this pattern, and how it helps attain SoC. He also mentioned DIP with the short version "Program to an interface, not an implementation". A good thing can’t be said enough so here is the original:
High level modules should not depend upon low level modules. Both should depend upon abstractions.
Abstractions should not depend upon details. Details should depend upon abstractions.
All things considered, yet another great talk from Gøran, keep up the good work and preach on about those design patterns and OO principles!
I arrived Tuesday at NDC2008 full of anticipation and excitement; there were a lot of great talks scheduled as I could see it, and I had trouble choosing which ones to attend. I almost immediately found some old colleagues and class mates, which I hadn’t talked to in several years. That was really an added bonus, and I really appreciated the little "reunions".
Scott Hanselman started the show with a keynote, showing us a little LINQ and the new Dynamic Data-bits. Hanselman was witty, and was a great presenter. There might have been a couple of things that did go to fast if you hadn’t seen a lot of .NET 3.5 before, but I guess most got at least a glimpse of what it can do.
After the keynote I was considering several sessions, but I decided to attend Mary Poppendiecks first session titled Thrashing. She went through the reasons for them, and what can be done to remedy it. As a reader of the Mythical Man Month, Slack, Peopleware, and others, I found she conveyed a lot of the same information found there, and I really share their views. A new aspect I hadn’t thought of before was queuing theory, which we apply consciously to hardware and related problems, but seldom to team and people dynamics. I will make a follow up post on the matter.
I’ve lately dabbled with some reflection, so next I attended Roy Osheroves talk Deep Reflection, hoping it would be as deep as promised (level 400 session). It certainly was, and I’m glad I’ve recently been looking at both Reflection.Emit and CodeDom-programming. It also helps to extensively take advantage of the vanilla reflection utilities regularly. This was a prerequisite, but it seemed like a lot of eyes glazed over when it was presented. He ended the session with a song, and I think he did his presentation on this heavy topic in a great way.
Supposed to be doing a talk about agility in Typemock (the firm), I gave Roys next session a chance. But the agenda had changed and we were introduced to Designing for Testability. I had this part mostly under control, so I was a bit disappointed that the original talk was exchanged. It was an introduction to IoC, DI, and IoC-containers, as well as our options when designing for testability with mocks or subclassing. This session ended in a song as well, and the lyrics was funny as always.
There was unfortunately another change in the agenda, Roy had originally a Threading-talk I’d like to see, but it was changed to a Testing your data access layer session. With this change, I attended Mary Poppendiecks talk on The Role of Leadership in Lean Software Development. Contrary to popular belief in most Agile circles, she thinks there is a place for leaders, not only self-organizing teams. I must admit that this is something I’ve personally experienced as well; when everyone is responsible, no one takes responsibility. I won’t go into more detail here, but I think it was a great talk, and she definitively hit home many points with me.
I start out attending an Agile Panel discussion hosted by Scott Hanselman, featuring Mary Poppendieck, Roy Osherove, Ken Schwaber, Chet Hendrickson, and Ron Jeffries. An example topic was what are the first steps to become agile. It wasn’t that much of a discussion really, as all the panelists believe in the Agile values.
The next two sessions I followed the Agile crowd in general, and Jeffries & Hendrickson in particular in their first two talks about Natural Laws of Agile Software Development. They presented the same material I saw from Smidig (Agile) 2007 on the economics of releasing early. I think it shows the potential payoff of releasing early, but it misses some aspects of going to early into maintenance mode with the software. I think this has to be explored some more. After showing these teasers, they went more into how early and frequent releases can be done baking quality into the process through the means of TDD and Acceptance Tests.
While I was humming along with Ron & Chet, it seemed like Roy got quite a following. It was almost impossible to get a seat on his Advanced Unit Testing session. It really seems my fellow Norwegians are good & ready for some ALT.NET techniques & practices, especially unit testing. I eventually got a seat on the session, but I must admin I personally was a little bit disappointed as I’ve already been down most of the roads before. Hopefully it was another teaser for all those who are thinking of getting into the whole unit testing business.
Next up, I attended Mads Torgersens Microsoft LINQ Under the Covers: An In-Depth Look at LINQ. And under the covers it was indeed. He gave us a great peek into how a LINQ-expression was disassembled, and showed us the output through Reflector. I must admit it was hard to follow everything, but I was at least familiar with all the constructs. All in all a mindblowing experience, and Mads gets credit for his enthusiasm during the session.
Finally, I attended Mary Poppendiecks session on The Discipline of Going Fast. We got new insights into the Toyota Way, a little bit of history, and specifically the Stop-the-Line practice. I definitively will continue this flirt the Lean methodologies.
I’m very pleased, and I was exhausted after two days packed with great content. The only thing I have a complaint about is that a couple of Roys talks should have been moved to accommodate the massive interest his topics achieved.
I must thank the hosts for a great event, and I will come back next year!
I’m happy to announce I’m going to NDC2008 in Oslo. It seems like it’s going to be two days packed full of everything a developer could want, I wish I could do Haugern.Clone() a couple of times.
I haven’t quite decided yet what I will observe first-hand, but whatever I choose, I’m sure it’ll be interesting!
I’ve just returned from an arrangement hosted by The Norwegian Computer Society, called Software 2008. I attended the “Agile methods in practice – What is it and how to do it?” full day seminar. (NB: The last two links are only available in Norwegian!).
Here’s a short review of the day.
The first talk was given by Aslak Hellesøy. He gave a general and a bit historical view of the agile methodologies. He spoke well, and had good anecdotes in his speech. I liked in particular the little story about how cargo cults came about, and how we see them all over the place today in the software industry.
The second talk was given by Trond Pedersen and Nils Christian Haugen. They had an original take on their speech, it wasn’t even a speech; it was a role play. They guided us through some typical scenarios in a software development project and showed the agile aspects of it. I think it was a bit contrived, but a think they got across some good points.
The “long” sessions are now history, and we’re given a serious of Lightning Talks. The topics ranged from how “GUI prototypes are evil” to “how to delete production code”. The two talks I enjoyed the most was from Kaare Nilsen, and the one from Trond Wingård. The first because of his charismatic appearance, and the second because of its great topic on present value effects with incremental delivery in agile projects. This could be a real eye opener to just about anyone.
The seminar crowd paired up with each other and interviewed each other to form mind maps. The topic was how we could introduce agile methods in our own organizations.
After a slow start with some standard awkwardness we managed to get some drawings and text down on paper. It was an ok exercise, but I’m not really sure I have any real use for it.
Here most of us was introduced to a concept called “open spaces“. I have heard of it before, but have not been a participant in such an endeavour. A range of topics from the days agenda was thrown on a flip over and we sat in on which topic we would find most interesting. Well, you could either have an “engaged foot”, or an “interested foot”, or both to participate in any given topic. But if you found yourself twiddling your thumbs, you just wandered off to another space to see if you would get any “feet” there.
I sat in on a topic about what agile practices does and doesn’t work, and I think we had some interesting discussions and got to poke a bit into the material. The session was a bit on the short side, but I certainly grew fond of the concept.
All in all, it was a good day, and I got some good input which I will take with me to my own organisation.
I liked the discussions and mingling the most, and I’m definitively going to engage more in such events.