Microsoft will next month come a step closer to realizing its emerging Application Lifecycle Management (ALM) vision, by releasing a series of XML schemas underpinning its recently announced Visual Studio 2005 Team System.
The schemas will help partners integrate their own ALM tools with the planned Visual Studio 2005 Team System, due in the first half of 2005, providing a foundation for communication between distributed members of an ALM team.
Unveiled at Microsoft’s TechEd conference in San Diego, California, in May, Team System will see Microsoft provide a common foundation for lifecycle management tools on top of Microsoft’s SQL Server database.
Schema provide the building blocks for a set of Team System services that, for example, will allow ALM team members to link project elements that are housed in the database, like bug tracking. Microsoft believes this will help improve traceability, tracking and to also assign work to individual team members.
Prashant Sridharan, senior product manager for the .NET developer product management group, told ComputerWire yesterday, Team System would close the interoperability gap between vendors’ lifecycle management tools.
Most of the lifecycle tools today promote silos of thinking. We wanted to build an extensibility platform that lets all tools vendors share that information, Sridharan said.
Despite its considerable history in application development and the ISV community, Microsoft is a relative new comer to productized ALM. Microsoft has used some sophisticated tools internally, according to Sridharan, but not productized them.
ALM is, instead, dominated by companies like Borland Software, IBM/Rational, Mercury Interactive and Telelogic. Borland and IBM/Rational have added gravitas in the developer field, through the presence on their staffs of individuals such as IBM fellow Grady Booch and Borland’s David Intersimone, vice president developer relations and chief evangelist.
Microsoft has its own brains, such as former Rational senior director of technology for automated testing Sam Guckenheimer and distinguished engineer Anders Hejlsberg, formerly with Borland. However Sridharan concedes it remains vital for Microsoft to demonstrate Team System’s credibility as a new system. If we can’t do that we are dead in the water. Customers have to see this product is credible, Sridharan said.
Ease-of-use is one area where Microsoft believes it can gain credibility. Team System will be very intuitive and won’t soak up thousands of hours of training, Sridharan said. He added Microsoft would demonstrate value by saving both time and money, and helping developers to take on bigger and more complex projects.
An important – and contentious – part of Team System will come through application modeling. Team System uses Whitehorse, a planned modeling engine and framework based on Domain Specific Languages (DSLs) that also uses industry group the Object Management Group’s (OMG’s) Unified Modeling Language (UML).
UML has become synonymous with application modeling, used by Borland and IBM/Rational among others. Microsoft has raised eyebrows, and concerns the company was going its own way by not fully adopting a de-facto industry standard, when it said last year Whitehorse would support, but not be restricted, to UML. Microsoft, according to Sridharan, sees UML as a subset of DSLs.
Microsoft appears to be taking its own approach, by eschewing full UML, to simplify the modeling experience. Sridharan said UML would require more use of stereotypes, which require greater customizations and which complicates modeling.
We encourage partners to build UML2 implementations on top of Whitehorse, Sridharan said, adding Whitehorse is UML and more. Whitehorse is adopting what, according to Microsoft’s research, are the three most frequently used UML models, used for class diagrams, sequence diagrams and case diagrams.
Microsoft plans three DSL designers in Team Studio: a Service Oriented Application designer, logical infrastructure designer, and class designer. Microsoft will talk further about DSLs at the Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA) conference in October.