Question

Has anyone had any experience in building a 'real world' application with the Smart Client Software Factory, from Microsofts Patterns and Practices group? I'm looking for advice on how difficult it was to master, whether it decreased your time to market and any other general pitfalls.

Was it helpful?

Solution

We used SCSF for a real world app with about 10 developers. It was a steep learning curve to set up and develop a pattern of usage, but once it was set up, introducing new developers to the project was VERY easy. Using CAB and SCSF was very beneficial to our project especially getting each developer up to speed and productive.

A downfall of SCSF is that it provides ALOT of functionality that may not be used (we probably only used 60% of the functionality).

I am also using SCSF for a new project and am considering refactoring to PRISM. PRISM allows you to cull the functionality that is not used. If you use WPF, I suggest looking into PRISM.

OTHER TIPS

I don't have personal experience, so favor the advice of someone that does over mine. I know two coworkers that have used this factory and both had the same take-way:

  1. It hurt to set up and learn
  2. It was worth it in the end

So if you have up-front time to spare, I'd go for it.

We developed our SCSF Application (into recruitment) in 2006 with 8 (4 UI + 4 WCF Service) developers which is currently used by 350 users in one floor.

In beginning there was too much to learn as there were less tutorials, Am thankful to Matias Wolosky and Eugenio Pace who contributed a lot in patterns and practices/ codeplex. The key areas in which we scored were :-

1) Clear separation of UI and Business 2) Focussed role for developers 3) Module based on-demand structure of application 4) Easily deployable through clickonce 5) Ready patterns and helpers which makes developers life easy and more structured.

It has gained a lot of respect amongst users with time as it supports :-

1) RBAC - Role Based Access Control 2) Quick turnarounds of feature as we separated infrastructure services/Business services/ UI Helper services neatly and the entire application is module based (Best part of CAB).
3) Now we are thinking to move to WPF to add some more jazz element.

We use the Web Service Software Factory, and we really like it because it makes it easier for developers to follow standards and appropriate patterns. The learning curve for us wasn't bad - a few hours per developer at most.

Other than that, there aren't any other pros & cons worth mentioning.

We used SCSF for a real world composite app with 6 developers; the full team size was 14, including BAs, PMs, testers, etc. Like Torrey said, it was a steep learning curve for the 3 developers that didn't have OO or design patterns experience. Myself and two others had been OO-purists for years; so we took to CAB like ducks to water just by recognizing the patterns. Part-way through the project, we put together a one-week training course on OO principles and then design patterns. Once the other 3 went through this course, the productivity started to increase immediately.

My advice, make sure your team has sound OO and Design Patterns knowledge. The curve drops off when they can see patterns that they recognize.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top