Yesterday evening was another quite succesful usergroup meeting. With over 80 people, the attendance was pretty high according to our standards. I've posted some pictures here.
First off, Frans Bouma, shed some light on the different options available to us as developers to get from the business-tier to a database in an application. And as he was going over the options of a table-approach, the entity model and the domain model, it occured to me that over the last couple of years, I've used each and every one of these models, but almost never explicitly. For some projects the table-approach seemed most efficient, in others the entity model was more appropriate. Frans' presentation made sure that next time I design and develop the data-access tier, I will make a more educated decision. Or, I could use LLBLGen Pro of course! And not have to worry about a thing. ;-)
The second talk was presented by Jeroen van Helvoort. While Frans introduced his product with a bit of theory first, Jeroen started with a show of RADVolution Designer straight away. And, pressed for time, he had to. His product has many options, helping you in every step of Windows Forms development, with every option also overridable. I had a look at his product when I did a review for DevTips.NET. Nevertheless, I noticed he made some adjustments compared to the version I used for my review. The featureset is very cool, and a lot these features should been in Visual Studio for a long time. Then again, if Visual Studio had most of these options, Jeroen would have less demand for his tools.
Both talks were the start of a more general discussion on developer productivity. Michiel introduced both speakers with the comment that he used code generators as well in his project. Difference is, his codegenerator lives in Croatia. That's more of a general concern here. Depending on where you stand, off-shoring is considered a threat, a challenge or an opportunity in the Netherlands. My first thought was: hey, if we can use codegenerators and other tools to rapidly develop robust applications, we, as developers in western countries, do not need to fear for our position, since we have domain knowledge. We're close with the end customer, we sit and discuss his business requirements, and the more generic code that needs to be written can be handed off to our code generation tools. But then it occured to me, these tools are available to all developers all around the world. And who is to say how long it takes for big firms in India to attain the required domain knowledge, if they haven't already done so.
I have no personal experience with my work or project be off-shored. So it's hard to have a specific opinion on it. My guess is that it's a challenge for know, and competition is good. And in ten years time, the it-world will have other challenges.
The discussion went further on the general concept of codegeneration or productivity tools. The concern was raised that while these tools hide a lot of the complexity, you also lose some control over the end result. If your development time is reduced to 20 percent, you don't want to spent the remaining 80 percent fiddling and tweaking to adjust the code to your specific requirements. And what about the fact that these tools are developed by small companies, that, upon winning the lottery, may decide to quit. Most people talk about the proverbial tram that one may get run over by - yes we have trams in the Netherlands - but I prefer a more positive reason for losing support on a product.
I was a bit worried that, with more that 80 attendees, it would be difficult to have an effective discussion, if any discussion at all. But the general consesus was that it went well. Community, to me, is sharing knowledge, ideas and opinions, and in that respect, we had quite a successful usergroup meeting. Hope to see you all next time.