An interview with Randy Miller about Visual Studio Team System, Team Foundation Server and Microsoft Solutions Framework (1/2)
Granville 'Randy' Miller,
Microsoft Solutions Framework Program Manager, is an expert on agile software development process design and an architect on the Microsoft Solutions Framework. He is the co-author of
Advanced Use Case Modeling and
A Practical Guide to Extreme Programming. He brings 18 years of software development experience in the delivery of software applications. He has been actively promoting modeling, software development technology, and software process for over a decade in various public forums, and he has an Advanced Certification in
UML 2.0. In 1999 – 2000 he espoused eXtreme Programming, and actually is the mind behind
MSF for Agile, the agile development process released as a methodology support to realize software projects with
Team Foundation Server and
Visual Studio 2005 Team System, after having been employed in
Together and later, after merging, in
Borland. As a natural consequence for my articles, I wanted ask him about .NET development and project management present and future directions. The Net is so small a place, so I could interview him whilst he was in Minneapolis at
The Agile Conference. He was very happy and having 1111 people at the conference, a 60% growth over last year.
This agile stuff is really taking off, he said. So, what better a moment to ask him about?
Also spracht der PM.
P. De Nictolis: well, Dr. Miller, has The Man Who Worked To Borland Together, you're probably the best one to describe actual and forecasted market share for MSF methodologies and Visual Studio 2005 Team System (VSTS), a product that, I'd like to remember, is the first Microsoft tool for ALM (Application Lifecycle Management), in a landscape dominated by mature, long-used UML products, such as Borland and IBM Rational ones, but also various Telelogic, Embarcadero,….
R. Miller: Regarding market share of MSF, sincerely, I don't know. Conspiracy theorists would say that Microsoft and IBM are going to dominate the software development landscape and that there is no room for anyone else. I believe that there is plenty of room and lots of companies will take advantage of the "holes" in both companies products to make money. There is a whole lot of shops that use both .Net and Java. As far as MSF is concerned, well, we have just started. MSF for Agile Software Development and CMMI Process Improvement have only been officially released for the past two months and we are seeing pretty rapid adoption. A recent survey by
Scott Ambler (soon to be published on his Web site), who is my counterpart at IBM, showed the agile MSF passing
Crystal... in two months! Well
AUP has been out for a bit longer than our MSF for Agile Software Development. Expect a bit of a battle. Scott and I will stay friends and all of the folks using these processes will benefit from the competition. I'd like to see our MSF processes succeed but there will be room for many processes in this landscape. Kinda like which sneakers do you like.
About second part of the question, the evolution of UML is quite fascinating. In the mid 1990s, UML really unified the modeling community. There were so many different notations at that time, Coad, Booch, Rumbaugh, Objectory. It was really quite a mess. UML could have really become a staple of the industry if it hadn't been for three trends. First, the folks that created UML 2 weren't really software developers. Second, the growing agile community was rebelling against
BDUF (Big Design Up Front). Third, the biggest players, Rational and Together were about go offline for a year in mergers. Could you imagine UML as part of THE college education program? You have to learn a programming language and UML in
Introduction to Computer Science Course. This is where the trend was going until about 2003. That isn't to say UML is bad. It is quite good. It just got a little lost along the way. So to answer your question. The field has become wide open again. UML has probably not evolved with the times. If you release a new version every five years and the programming languages are releasing new constructs every year, you will probably not be very synchronized with them. Think of it this way, can my UML 2 class diagram model generics in Java or
Linq in .Net. You may explain this away by saying that isn't needed but how abstract is too simple? So you add modeling constructs to UML and pretty soon it becomes 'not UML'. Some would argue as well that the best model is the code... and, those rebellious agilists
P. De Nictolis: as a new entry in market, extensibility is a key commitment for VSTS, but I see a possible overlapping between an initiative like System Definition Models and interoperability with UML-focused products. What do you think about? And, specifically, don't you think a
proprietary, just Microsoft, model language such as SDM would conflict with UML?
R. Miller: So the SDM models have some overlap. The application and system diagrams are a lot like component diagrams although they have
more detail. The logical datacenter and deployment diagrams are like UML deployment diagrams. There is no equivalent of the sequence diagram or the other diagrams that show dynamic behaviour. Regarding
possibility of a conflict, the
DSL work is all about extensibility and people are using it for all kinds of things. From data flow to process modeling to UML, Visual Studio is meant to be extended. There are so many things that can be done.
P. De Nictolis: let's speak about requirements management. VSTS incorporates Scenarios and QoS requirements traceability, but lacks of a specialized module, leaving these tasks to other products (I think especially to Borland's
Caliber and Silk, which integrate with VSTS). Is a requirements management module planned for future versions?
R. Miller: There are no immediate plans for it. What we have right now is good enough for the agile community. With better linking, we can finish off our CMMI story: this is planned. I like some of these products and I would add that
Personify Design TeamSpec has a neat Word integration.
P. De Nictolis: whilst a general-purpose project management tool, VSTS has, as obvious, a special commitment in Source Code Control. How do you see Microsoft product with respect to large-specialized tools, such as
Serena PVCS (formerly Merant)? And, don't you see a possible market cannibalization with anyway-improved Visual Source Safe? Finally, what do you think about
SourceGear's Allerton to-come line of products to use version control and work item tracking features from any platform, including Mac OS and Linux? Allerton clients are, in large part, Eclipse plug-ins: isn't there also here a market cannibalization risk?
R. Miller: So, i think that both VSS and TFS will coexist happily. The larger projects probably weren't using VSS anyway. I think that TFS (VSTS) will raise the bar on PVCS and the others. It is not enough to just be CM any more. You must have an integrated work item system. With a work item system, you must support processes. It really changes the market. Allerton is an interesting idea. It brings TFS to people who wouldn't normally have it. It doesn't really cannibalize TFS as VS is most likely the client of choice on the Windows platform. By the way, I worked on
VA Smalltalk. It will be great when they realize that we have the best CM tool (lol).
Of course, if you're so lucky a guy you've Randy Miller at a virtual microphone, you wouldn't stop here. But, perhaps is better if we all read again all answers, and prepare for next round