3
MVVM often raises temperatures, causes high spirited debates, and can lead to ruined pub lunches. Looking at how and why is being used in commercial enterprise applications may provide a useful insight.

4
Who is Metastorm? A leader in Enterprise Architecture (EA), Business Process Analysis (BPA) and Business Process Management (BPM). Brings people, technology, and processes together in order to solve specific problems and connect strategy to execution. Recently acquired by leading Content Management vendor OpenText.

7
MVVM raised temperatures Confining the MVVM discussion to a “design pattern” led to conflicting views. But MVVM is not just another technique. MVVM liberates the design of User Experience to bring the user and developer together. Design Patterns are important! It’s too complex No pub lunch with you Why this extra work?

8
Where we used MVVM? The Silverlight-based Business Workspace, is a common framework for building all our end-user applications Including our free Azure M3 modeling application. http://m3.cloudapp.net/

13
Key Concerns Developers, and not UI Experts, were designing the UI. They were interpreting graphical mockups and it caused disconnects. We introduced Silverlight mockups which improved communication and reduced cycles but the interactivity was limited and it the design-abilty was often lost. Merging mock-ups caused integration defects and delayed user reviews and acceptance.

17
It was not all plain sailing… Steep learning curve / additional effort. Overkill for some simple cases where UI is not all that critical. Technical challenges in complex interactions (especially widget to widget events). Verbose duplication in data bindings and standard approaches in a large and distributed team– Homegrown equivalent to MVVMLight.

18
But we also noticed… MVVM decoupled UI and facilitated agile responses to changes. UIs designed by the UI specialist topped, regularly, user acceptance. Using MVVM educated our market-eers and users to what is feasible and made them more educated on the controls available. MVVM-designed features were more stable and had more unit tests and automation tests.

19
Both M3 and the Smart Business Workspace were the highlight of our user conference and have received a great response from analysts and customers alike. MVVM has been critical in making these products successful. It forced a user-centric shift in our software development

21
Dynamic MVVM We took MVVM a step further… Applied it to business processes to allow end-user mash up extensibility. Users can create their own data mash-ups, connected widgets, and interactive storyboards.

24
Some lessons learned Round tripping too complex for full UI round tripping. MVVM Requires Product UI Designer skills to get real value. ODATA and a centralized model management helps ViewModel generation. REST ODATA Services are easily accessible and help portability of the UI for the developer /designer round-trip. Eventing can become complex and needs a central event bus.

25
What we think now The learning, investment, and challenges is worth it, if the UI is important. Re-Investing the gains in UI productivity in unit test and robust app logic is a good way to highlight the value of separating concerns. MVVM is a product development issue, not just a technical choice. Application Design-ability, is a trend that will move to other platforms, including HTML5

26
What’s cooking in our research labs We are looking at using the separation of concerns in more specialised Business Process Design and management and beyond Silverlight. Using ODATA and jQuery for MVVM-like approach in HTML/HTML5. Metastorm BPM Designer Process-connected HTML