Thanks to all the voters who voted for my wildcard proposal on Entity Framework 4.0, I will be speaking at the Microsoft Developer Days 2010, again. Last year, the whole wildcard thingy was a bit fuzzy, but this year, the organization has gone through great lengths to seriously include us wildcard speakers in the entire planning process.
I’ll be speaking on March 30st, at 11:05. I’m not sure about the room number yet, but I do know it should be able to handle up to 80 attendees. Check out the most recent schedule here.
Now I still have to decide whether to move to Visual Studio 2010 RC before the conference. I probably have to to evaluate CTP 3 which is essential when looking at the Code Only features (oh, sorry, Code First), so might have to. Shame that we don’t have SIlverlight 4 yet in the RC build.
Even though Aviva Solutions is still a relatively young company and we too have ‘noticed’ the changes in the economic climate, but we’re still growing steadily. Consequently, we are actively looking for medior and senior developers that are willing to join us in the journey of becoming the best Microsoft-focused company in the Netherlands.
Obviously thorough knowledge of the .NET platform is of essential importance to every developer within our company. But we do see some differences in the areas people naturally focus on. These include:
- Custom Development & Software Factories
- Integration
- Information Worker
- Business Intelligence
- E-Commerce.
That doesn’t mean you have to choose between one of them, it just means that you may favor one area over the other just now. I, for example, am leading the Custom Development & Software Factories theme including things like Application Lifecycle Management, Agile development and the many double-D practices (DDD, TDD, BDD). But I still keep an eye open for the things the other people are doing. This enables me to consider all options when challenged with a complex consultancy problem.
Regardless of your area of interest, if you're looking for a fresh change in your career, be sure to check out our career site. Aviva Solutions currently employs almost 40 professionals, and of course we do have an informal but professional work environment, and yes, we do offer competitive conditions. But what makes us different from all those other IT companies is the passion with which we engage any challenge, and the freedom and acknowledgement that our two CEOs offer us. And I’m not even going to start on the social event we have each year in some warm and sunny country...
Anyway, if you’re interested send me an email or call me at 0647-033908.
It’s only a few days ago since we released the first version of Fluent Assertions, and we already have a new release. The reason for this is that the first release was just the public release of an internal set of classes that we’ve been using for a year or so. But this week, we've worked hard to add some important missing features that we really needed, and also improve resilience against illegal arguments such as an empty collection or null. Release 1.1 includes the following improvements.
- All dependencies on MSTest assemblies have been removed. So assertions will work with all testing frameworks.
- Added support for Silverlight
- Improved the verification messages around assertion of collections so that you don't need any debugging to figure out what went wrong.
- Added object.Should().BeAssignableTo()
- Added object.Should().Satisfy() to verify against a lambda or delegate.
- Added extension methods on an Action or Action<T> which allows better support for the AAA syntax. We've rewritten a large portion of the framework's unit tests and it definitely improves unit test maintenance.
- Added a ValueOf property to the exception assertions syntax that allows chaining additional Should()s on the properties of the exception.
You can download it here. The documentation can be found here.
My Dutch article on User Stories in Team Foundation Server 2010 is now available online at the SDN site. Read it over here. I will translate it to English soon.
In essence, Test Driven Development (TDD) is a practice in which the interface and the behavior of a component is designed while writing a unit test. In other words, you typically start writing a test case and define the exact members, behavior and names on the fly. In fact, the word Test in TDD is misleading at the least, because the whole practice is really a design methodology that promotes creating testable loosely coupled software. And since this is going to be a difficult endeavor without applying the right design principles, you usually end up with a maintainable and extensible system which by incidence also includes a high code coverage. Without TDD, these same goals are very difficult to reach.
Read more…
About a year ago, me and some other colleagues started to create a simple framework for verifying the outcome of unit tests in a more natural way. Martin Opdam already blogged about this in June and since then we have been adding some minor features.
A few weeks ago I discovered the much more powerful SharpTestEx and decided to drop further development on our own extensions. I do like some of SharpTestEx’s features, but I found some limitations that causes me to reconsider. Last weekend, I decided to reinstate our extensions under the name of Fluent Assertions and release them on CodePlex.
So why do I think it is better? First of all, because we only have one level of indirection (the Should() extension method), it is much easier to add you own domain-specific extensions. This is something we do often and should be very trivial.
Secondly, all our verification methods accept a phrase stating the reason of the expected outcome such as “because it is a required field” that is used to generate a clear and comprehensive error message when the verification fails. This should help you from staying out of the debugger hell when a test fails.
As I’m writing this we are already working on the next release which should be available in the next few days.
It’s Sunday morning and I’m looking back at an awesome DotNED event in Doorn. The location was very nice, the audience was a blast, and my two fellow speakers Jonne Kats and Peter Hesseling did a great job. Thanks to everybody for being there!
Read more…
While working on my demo code for my full-day talk on Software Development Practices in Practice I was a bit ambitious and introduced both Silverlight 4 and WCF RIA Services. Apart from the fact that the preparation caused a bit too much of my social live, I ran in some things I don’t really like and hopefully will be improved in next versions of the WCF RIA Services.
Read more here…
Yesterday, a colleague of mine asked for some guidance on how to partition a Visual Studio solution into individual projects. Instead of simply answering his email I thought that blogging about it may be useful for others as well, so here are my rules.