Feeds

Microsoft’s software factories

We talk to Jack Greenfield about the future of Visual Studio

Combat fraud and increase customer satisfaction

The means of production

“It's now been recognized that tools for architects have failed in the marketplace, repeatedly, because architects don't want anyone else's way of doing things, canned. What they want is something that's fluid and can evolve. That means we're building the factory platform and runtime, and evolving the DSL tools. We're also now working with Patterns and Practices as a provider of instances. The idea is that the instances they provide will be customizable and extensible, and the factory architecture is such that they’re building blocks, so rather than focus on composing components and services, we focus on composing the means of producing components and services,” says Greenfield.

What Greenfield calls a “runtime” is the piece that takes the factory that you have acquired, written or adapted, and executes it within Visual Studio. Currently, this is called the Guidance Automation Extensions, or GAX. The factory authoring tool is called the Guidance Automation Toolkit (GAT). Using these tools, you can create automated activities called Recipes, along with wizards and templates. The DSL tools let you add visual modelling to your factory. These pieces are used by the four software factories now shipping, which cover Web Clients, Smart Clients, Mobile Clients, and Web Services, and are free downloads. However, Greenfield describes the current runtime as “primitive” and promises something better in future.

There is also the question of why Microsoft is not using the standardised Universal Modelling Language (UML) and its associated Model-Driven Architecture (MDA) to speed productivity. “We are the UML guys, that’s the funny part of it,” says Greenfield. “I was one of the chief architects at Rational; I spent a lot of time deeply steeped in the UML and in the committee work in the OMG. Other guys on team go deeper than I do. Steve Cook, for example, was really the father of OCL [Object Constraint Language], and wrote the green paper for the family of languages which spawned the UML 2.0 effort. We’ve got deep roots.”

U and non-U

Despite (or because of) his background, Greenfield is now dismissive. “The UML is a collection of useful abstractions,” he says. “Unfortunately it’s been peddled as a universal modelling language, but the U never stood for Universal. We subscribe to Michael Jackson, author of Problem Frames, who says that there is no such thing as a universal solution. It's a childish approach. This is where the Universal Modelling Language marketing pitch fails. UML was never properly extensible. It also has the problem that it was designed by a committee.

Aside from that, things like state charts and sequence charts and activity graphs are very useful abstractions. UML becomes for us a repository of useful notational conventions and core abstractions, but in its form as packaged and delivered, not terribly effective. We view factories versus MDA the same way. MDA says you’ve got three viewpoints, CIM, PIM and PSM. The same viewpoints apply to everything, whether you’re building eBay or a mobile device application. We don’t buy that. They’re different things.”

It is easy to criticize the UML; but can Microsoft show that its new software factories are more effective than previous efforts to improve developer productivity? Greenfield mutters about customer feedback, and then talks about how packaged applications like SAP have replaced development from scratch in ERP (Enterprise Resource Planning).

"The general principle of having pre-defined architectures, components, skeletal applications and pre-defined database schemas, and a process to adapt that to a customer - that’s working,” he says. That’s true, but it’s more a validation of “buy versus build” than proof of the viability of software factories. This considerable effort may prove no more than an interesting experiment.

That said, it's a bold and intriguing vision. Greenfield will not be pressed on times or dates; he merely says that this is where Microsoft is heading

Perhaps it is reasonable, then, to expect a more fully realised version of the current factory platform in the high-end editions of the next Visual Studio. ®

High performance access to file storage

More from The Register

next story
This time it's 'Personal': new Office 365 sub covers just two devices
Redmond also brings Office into Google's back yard
Batten down the hatches, Ubuntu 14.04 LTS due in TWO DAYS
Admins dab straining server brows in advance of Trusty Tahr's long-term support landing
Microsoft lobs pre-release Windows Phone 8.1 at devs who dare
App makers can load it before anyone else, but if they do they're stuck with it
Half of Twitter's 'active users' are SILENT STALKERS
Nearly 50% have NEVER tweeted a word
Oh no, Joe: WinPhone users already griping over 8.1 mega-update
Hang on. Which bit of Developer Preview don't you understand?
Internet-of-stuff startup dumps NoSQL for ... SQL?
NoSQL taste great at first but lacks proper nutrients, says startup cloud whiz
Windows 8.1, which you probably haven't upgraded to yet, ALREADY OBSOLETE
Pre-Update versions of new Windows version will no longer support patches
Microsoft TIER SMEAR changes app prices whether devs ask or not
Some go up, some go down, Redmond goes silent
Ditch the sync, paddle in the Streem: Upstart offers syncless sharing
Upload, delete and carry on sharing afterwards?
prev story

Whitepapers

Designing a defence for mobile apps
In this whitepaper learn the various considerations for defending mobile applications; from the mobile application architecture itself to the myriad testing technologies needed to properly assess mobile applications risk.
3 Big data security analytics techniques
Applying these Big Data security analytics techniques can help you make your business safer by detecting attacks early, before significant damage is done.
Five 3D headsets to be won!
We were so impressed by the Durovis Dive headset we’ve asked the company to give some away to Reg readers.
The benefits of software based PBX
Why you should break free from your proprietary PBX and how to leverage your existing server hardware.
Securing web applications made simple and scalable
In this whitepaper learn how automated security testing can provide a simple and scalable way to protect your web applications.