Monday, December 29, 2008

Adventures while building a Silverlight Enterprise application part #2

In the previous episode we've looked at the requirements for our enterprise application and to some of the paths we've selected to solve some of the challenges we face. In this episode I wanted to give you more of an insight into our approach of tackling a kick-off into this project.
I know you people are craving for more technical stuff, but I found the following important enough to bug you with it.

Project organisation
The first thing that needs to be done to get any team to work is to get organized. This may seem obvious but this step is usually missed, skipped or otherwise ignored. We planned some moments of conversation for the team members, the first being every morning, take about 5-10 minutes to discuss what everybody is doing, so nobody gets into eachothers way and we also make sure everything we wanted to get done is being done.

The second moment of conversation is on a weekly basis. In this weekly meeting we can take decissions we need to take. To make this a smoother process, we take a few steps around this:
  1. Identify the need for a decission on some topic or question
  2. Apoint someone to write up a short proposal on the subject
  3. Make sure everyone gets and reads the proposal before the next weekly meeting
  4. Discuss the document during the next meeting
  5. Make any changes needed
  6. Approve the proposal, giving it a final status

The reason for this approach lies in the culture of our team. By writing a proposal we can keep our discussion on topic a little easier and also make sure that something is in print, that we can refer to at a later time.

Writing the book on it

Another thing that had to be done, was putting up some new coding standards. As a historical left over, coding standards were a bit out of date. Also as this is obviously our first enterprise application in Silverlight, some standard on XAML code and the coupling with the code behind and the services involved, would be a good idea. And a final subject we had to tackle was the layout of our TFS project. I won't bother you with all the details here, but if you have any specific questions, I'd be happy to answer them.


To actually get our project started we wanted to build a small sample of the application, containing some technical hotspots, but also some example code for the rest of the project. We will discuss this code after it's completion and revise it as needed, before moving production into full swing.

We identified the following topics to be a part of this first startup code:

- Security: Communicating with our security service and making sure the client can be authenticated, buiding the autorisation part of it, etc.

- Scalability: Loading multiple XAP's on the fly, testing performance degradation as the amount of code increases

- Multi language: Having the resource based multi language technology up and running

- Easy high volume data input: Build a module that allows for this

And besides this we also needed to include some standard modules, that would demonstrate how to build a module. Later on, this will evolve into a manual we can give new team members, for a running start.

Next time we will have a look at some code, that we build into this startup project. Please let me know what you think about this series and if there are any specific topics you would like to read about.

No comments:

Post a Comment