Last week Alex Thissen and I competed in the RAD Race 2006. We arrived Thursday at 7 in the morning to setup our computers, and we got the assignment at 8. From then it was full speed until 6 in the evening. Again at Friday we started at 8 in the morning, and went full stop at 3 in the afternoon. Then the jury came to see what modules everyone had completed. And it wasn’t as much as they expected.
Normally in the RAD Race, the second day is for change requests. You get a new set of modules which may be completely new functionality, but also changes on modules you (might have) already completed. But the organizers probably underestimated the complexity of the assignment, because none of the teams were up for the change requests. This resulted in another day to work on the same assignment, and even than no one completed the assignment fully.
The assignment was to create an application to create workshops, seminars and conferences. Visitors should be able to register for these events. All three were different in a way, which made it really complex. Conferences could span multiple days and have multiple (parallel) sessions per day, where a workshop could span multiple days, but could only be registered as a whole by visitors. Additional requirements were multiple webservices for credit card registration, management functionality for editing employees, users, assigning hotels and speakers to events, and more.
Everyone of course worked really hard for two days, and many teams had all different kinds of problems. One team implemented a large module, to see it crash in the end because they hadn’t tested it anymore. Another team had some problems with their framework. A lot of teams overlooked minor requirements in the specifications, or just didn’t implement parts because of the complexity.
One of our problems was that we completely focused on WinForms, where about 80% of the assignment was web-based, which made us decide to go completely for a web application. We could’ve had setup a complete website with user registration and all, which is something we’ll definitely do if we’ll compete next year. 😉
The tools we’ve used are Visual Studio 2005 and of course Microsoft .NET 2.0 and ASP.NET 2.0. For our database we’ve used SQL-Server 2005 and for generation of our datalayer we’ve used LLBLGen Pro. I’m very pleased with LLBLGen Pro, as for our RAD experience, it was great. Creating an eventcollection, adding a filter and tell it to retrieve the data worked really fast. Optionally adding filters, paths through other tables to retrieve those as well, etc, etc. Two thumbs up in my experience. Perhaps later I’ll add another post how LLBLGen Pro turned out to work in a ‘real’ application using a distributed scenario, which I’m currently working on.
Alex and I both think we didn’t do that bad, but it’s really hard to tell what team really stood out of the rest, or who completed most modules. The assignment was very complex and the jury will have a hard time, I guess.
At the end of next month, we’ll have to see who has finally won, at the Database Systems event, where the winner will be announced. The experience was great though. We have no idea how we performed, compared to the other teams, but we already know next year we’ll do a lot better, as we’ve really learned a lot about Rapid Application Development.