Prominent software design guru Ivar Jacobson, one of the three software design founders of the Unified Modeling Language (UML), this week pledged to support Microsoft Visual Studio 2005 Team System. A lightweight approach to design and modeling, as opposed to 'heavy' processes that constrict developers' ability to code, is the ultimate goal of the partnership.
The move follows news that other specialist firms will provide add-on tools to fill out the needs of teams using Microsoft's flagship developer product. Include among these Borland, Compuware, Sparx Systems and others.
Jacobson's firm, Ivar Jacobson Consulting announced that it has joined the Microsoft Visual Studio Industry Partner program. The anticipated result is a software process called the Essential Unified Process (Essential UP) that is based on the Microsoft Solutions Framework and integrated with Microsoft Visual Studio 2005 Team System. This move aligns a well-known voice of the UML community with Team System, which brings an alternative to UML-style design to market.
Together with Jim Rumbaugh and Grady Booch at Rational Software in the 1990s, Jacobson worked to develop the approach to unified notation of models known as UML. The three toured extensively, and were billed as the "Three Amigos." As Microsoft's new Visual Studio Team System product is viewed in many quarters as an alternative to Rational's suite of process-oriented tools, Jacobson's appearance in the Microsoft camp is a feat of sorts. Microsoft-competitor IBM bought Rational in 2002.
Agility and aspects
UML and the Rational Unified Process (RUP) gained adherents and critics over the years. The Agile Process movement particularly has tried to pose an alternative to methods some developers find restrictive. For his part, although he is a father of RUP and UML, Jacobson has embraced more recently elements of Agile Process and endorsed Aspect-oriented development. He has also criticized UML as too large.
"Today, everyone wants to be agile," said Jacobson. "Older methodologies have now become Agile methods. But in many cases that is just on the surface."
With the Essential Unified Process connected to Microsoft's framework, Jacobson claims a combination of "good methodology, process and agility" can be achieved.
"RUP is one of my babies. But some [babies] grow up and need correction. RUP, in a way, has grown, and become very large, and hard to train [for], and hard to support," he said.
"We need a much more lightweight version," he continued.
"We all realize UML grew over all borders that we had expected. That is a natural thing that happens when you put it in committee. When Grady [Booch], Jim [Rumbaugh] and I worked on UML, it was smaller. But it is still an excellent modeling language," said Jacobson.
Is the Microsoft-Ivar Jacobson Consulting move a coup? "Absolutely. No question," replies Carey Schwaber, analyst, Forrester Research. "IBM has to be feeling a little bit embarrassed about this."
Overall, there is a move to less restrictive processes in software development, she said. "I think the takeaway here is that there's a wide market for processes, but that the bulk of that market is for lightweight processes," said Schwaber. "The rapid uptake of Agile processes has underscored this, and vendors like Microsoft and IBM have taken note."
Certainly, a big component Microsoft's recently launched Visual Studio Team System 2005 is support for modeling the development of an application in order to improve the entire application life-cycle process. In fact, Microsoft's Team System development software suite has set a new course for modeling tools.
Microsoft has focused its modeling efforts around Domain-Specific Languages or DSLs. With DSLs, the modeling language employed is intended to be highly specific to the area of interest. The company has, for example, created a DSL for modeling the logical structure of datacenter hardware and host software configurations.
Microsoft took the DSL route after evaluating alternatives that included the very popular Unified Modeling Language, UML, which, in the end, Microsoft deemed to general.
While Microsoft representatives still support UML for notation and diagrams (it was used in previous versions of Visual Studio that included a simple Rational Rose modeler, and is supported still in Visio), UML is not the approach the company wanted to take with its own modeling product. Third-party software makers are providing UML tools that hook into VSTS.
The choice left Microsoft open to familiar criticisms that its development tools are too Microsoft-specific. In practice, UML replaced a plethora of methodologies. Although it originated with Rational, which later became part of IBM, it has been broadly supported, and was standardized under the auspices of the Object Management Group (OMG).
For its part, the OMG has welcomed Microsoft's entry into modeling as an opportunity to expand the modeling market generally.
Meanwhile, Microsoft is set on its path."On the modeling front, our focus has been to create a generic modeling platform and enable others to build domain specific modeling tools on top of that," said Prashant Sridharan, group product manager, Visual Studio 2005. "We tried to deliver modeling tools specifically for Web services. Our goal was to make building Web services as easy as building Web-specific applications."
At the time of the Visual Studio 2005 launch, Microsoft delivered a platform for process guidelines, and delivered two instances, one supporting so-called Agile design techniques, and one supporting Carnegie Mellon University's CMMI (Capability Maturity Model Integration) process improvement approach, said Bindia Hallauer, senior product manager, Microsoft.
"We're now trying to pair RAD (rapid application development) with processes," said Microsoft's Hallauer.
"We also know that one process never fits all scenarios, and that a customer's process doesn't add much value if it is not integrated with tool sets used by architects, developers and testers."
By integrating the life-cycle process into the development tool, Microsoft may make it easier for companies to enforce a quality software development process, Microsoft's Sridharan said, "We decided to build a process that was more than just books on the side. We wanted to make it part of your development process. It is not just process guidelines, but process guidelines developed and enforced by the system. By taking that process and enforcing it in the tool, you obviate the need to pull out the manual. I fully expect that a lot of companies will implement their process guidelines on top of team systems."
Many large companies have a significant base of both Java and Microsoft applications. Sridharan said, "Visual Studio is purely for Windows development, but the interoperability for Windows application is built via Web services. It is implied that when we interact with partners and other systems in our own companies, we do so via Web services. As long as all of these systems talk via SOAP and HTTP, then the interactivity and interoperability should be something we take for granted."
Unisys, an early Visual Studio Team System adopter, is hoping the new life-cycle management capabilities will help reduce development time and management overhead. The company is ramping up from about 400 VSTS users to 1000, at its development facility in North Carolina.
Jim Boak, vice president, Microsoft Strategic Alliance at Unisys, said, "It looks like we can reduce the overhead burden of life-cycle management, which, if true, is something we would like to demonstrate to our customers. It is more than just a cool tool, and speedy to deploy, you can reduce process costs through the use of infrastructure. In the course of our deployment, we hope to prove that out."
Forrester Analyst Schwaber cautioned that Microsoft's Team Foundation Server process-centric software configuration management solution is in its first version. At the moment, she said, "the applicability of the solution is limited by the platform support and scalability."
But the product has a cost advantage, she noted, and overall, she continued, Microsoft's approach of "instantiating development process in a tool is definitely a hit."