Real World Software Architecture

Real World Software Architecture is dedicated to providing information and experiences from the field of Software Architecture.



Subscribe with RSS or ATOM Add to Google

Links

  • Home Page
  • Real World Software Process Engineering
  • Suggested Reading
  • .NET Dev and Arch Collection
  • SEI Essays on SA
  • Software Architecture
  • Bredemeyer
  • wwisa
  • Product Line Engineering
  • PLEES
  • Software Product Lines
  • MSDN Architecture Center
  • patterns & practices






Saturday, November 18, 2006

Microsoft Threat Analysis & Modeling v2.0

Microsoft claims that Microsoft Threat Analysis & Modeling tool allows non-security subject matter experts to enter already known information including business requirements and application architecture which is then used to produce a feature-rich threat model.

I have not had to much time to play with it, but the tool does look a heck of a lot less confusing than the first release.

Get it here.

posted by tadanderson at 8:23 AM 0 comments

Team Foundation Server (TFS) and Process Tailoring

This is a continuation of this blog.

We have moved forward with implementing our own process guidance in a Team Foundation Server (TFS) process template. One template is based on the UP/RUP/EUP and one is a Product Line Engineering process template. It is actually going rather well. The Process Template Editor takes care of most of the importing, but expect to find yourself in the XML files of the process template. Also keep in mind you are importing into SharePoint so MSI and CHM files need to be zipped up. We are integrating the use of Enterprise Architect (EA) into both templates and providing guidance on what will be handled in TFS (Work Items) and what will be handled by EA.

posted by tadanderson at 8:09 AM 0 comments

Friday, November 10, 2006

Free Code Library- Koders

Check out this site for free code samples.

http://www.koders.com/

posted by tadanderson at 6:18 AM 0 comments

Wednesday, November 08, 2006

Microsoft, TFS (Team Foundation Server), MSF 4.0 (Agile or CMMI), DSL (Domain Specific Languages), essUP (Essential Unified Process), Software Factory

It has been almost a year since I wrote this blog about the Essential Unified Process, and this one on DSLs.

I am currently looking at Team Foundation Server in the context of what it has to offer the development process. The one thing that still has me baffled is why Microsoft chose the two extremes for the implementation of MSF 4.0. Neither lend themselves well to tailoring a normal software development life cycle. What I mean by normal is the Unified Process with a little more or a little less ceremony than the baseline it offers. One thing to note about these processes is that they avoid UML. I find it hard to believe though, that Microsoft would go so far out of the way to avoid it. They do suggest it in some areas, like domain modeling. But there suggestion is to model in Visio, forward engineer the model to code and then open it up in their DSL class modeler. That is just plan dumb when tools like Enterprise Architect exist.

If we are going to use Team Foundation Server, we are going to have to implement a development process. It is doable but painful. They have no real tool support built for it. The ones that are out there are very painful to use. And I am including configuration management in the creation of our process repository. That will be the painful part. Where in the heck is the Essential Unified Process stuff they preached, and said they were working on? I was told before it would be available in the spring of 2006. This says the end of 2006 now. Hopefully that is the case.

Jack Greenfield wrote a pretty good article on Software Factories and VSTS here, called Measuring Success with Software Factories and Visual Studio Team System. The good news about Software Factories is that for the most part they use proven industry standards to accomplish there goals. The bad news about them is that they are basically a high ceremony product line engineering process, and Microsoft has ignored Product Line Engineering in there MSF 4.0. I do not get it. The article is excellent at showing the capabilities of VSTS and TFS as far as configuration for software factories goes, the problem is that it is not enough. It needs to go much, much further, or they need to start supplying out of the box resources for Product Line Engineering. Jack also mentioned Viewpoints. This is an excellent book on the subject.

I have finally come across a good candidate for the creation of a DSL. Jack also covers it to some degree in his article under feature configuration. This is an excellent book on PLE. The main problem with the book is that it uses the Orthogonal Variability Model to trace the variability in the project's artifacts, and there were no tools to support an Orthogonal Variability Model when the book was written. Since then a plug-in for Eclipse has been written. You can get it here. The problem is it kinda stinks. This is a perfect candidate for a VSTS DSL implementation. The problem is time to learn the VSTS DSL tools isn't worth it when I can continue to use the UML profile written for Product Line Engineering feature analysis.

We are still not sure if we will incur the overhead of TFS for our development environment. In some ways it seems like MS has done what a friend of mine pointed out IBM did a few years ago and made the mistake of making you use all their tools, or none of them. So far I don't think that is the case, but it could very easily end up that way and that would very bad. If it was reasonable to ignore MS I would just use Enterprise Architect for all our documentation and modeling needs, MS Project for planning, VSTS Developer Edition for the team members, plus one VSTS Tester for each team, SharePoint with a custom built process repository, and I'd flip a coin for VSS or Vault. But we cannot ignore them. Right now TFS has some definite rough edges, but it is a great start in the right direction for pulling together tools that if enhanced in the right direction could prove to be an excellent development process environment. Notice I did not mention VSTS Architect. Our company has phased out it's use completely. They did start with it, but soon realized it offered nothing for the Software Architect, only the System Architect. MS said that would change here, but it hasn't and we doubt it will.

We have made two decisions however that won't change in this evaluation. We will be using Enterprise Architect for all our documentation and modeling needs. MS has done nothing to provide an alternative for UML, and I doubt they will. Visio's UML tools are ancient, and the DSL class modeler isn't worth much either. We will also not be using the MSF 4.0 process implementations for anything. Which means we will start from scratch. We won't try to enhance or alter the MSF 4.0 CMMI or Agile implementations to a usable process. The only thing that may change this is if the essUP becomes available before we implement our own.

posted by tadanderson at 6:06 PM 1 comments

Visual Studio 2005 Team System and Team Foundation Server Training

These downloads include a training course with instructional videos, sample projects, and a virtual image with Team Foundation Server installed and configured. The virtual image is a great way to get to know the ins and outs of Visual Studio 2005 Team System and Team Foundation Server.

The Visual Studio 2005 Team System install contains Microsoft Visual Studio Tools for Office, Microsoft Visual Web Developer 2005, Visual Studio 2005 Team Edition for Architects, Visual Studio 2005 Team Edition for Developers, Visual Studio 2005 Team Edition for Testers, and the Team Explorer.

Get it here.

posted by tadanderson at 8:25 AM 0 comments

The .NET Framework 3.0 has been released. WWF, WPF, and WCF are ready for download.

The .NET Framework 3.0 has officially been released. Windows Workflow Foundation (WWF), Windows Presentation Foundation (WPF), and Windows Communication Foundation (WCF) are ready for download.

You can get all the downloads, uninstall instructions, and install instructions here.

posted by tadanderson at 6:04 AM 0 comments

Friday, November 03, 2006

Architect Thoughts

Less is better when it doesn't introduce complexity

Less is not always good

Simplicity is a goal that is always the hardest to reach

Simplicity does not mean less

The more I learn the less I know

If it is not broken, it may still need fixed

Attention to detail is the drab part of our job that produces excellence

It doesn't work as part of a solution until it is working

Any process can be implemented, but until it is institutionalize it isn't productive

Any process that can't be institutionalized is a process anti-pattern

Everything we do is a process that at some degree never ends, but always evolves or regresses

People are unpredictable and cannot be considered constants in process institutionalization

Nothing new is ever created, it is only discovered

There are always others doing what I do, better than I do it

Knowledge without wisdom is dangerous

Knowledge is temporary, freely available, and eventually worthless

Wisdom is a gift that always costs, and is priceless

Although the customer is always right, that doesn't mean they aren't clueless

Sometimes the best thing for a project is for me to leave it

Faith and Family always come first, there is always another project

posted by tadanderson at 10:49 AM 0 comments

Wednesday, November 01, 2006

SOA Patterns Book- A masterpiece in the works

If you are an Architect, and you are not following the posts on http://www.rgoarchitects.com/blog/ by Arnon you are missing out on a lot of great information.

Arnon recently started writing a new book, SOA Patterns. He has the first chapter available for download at here.

If this first chapter is any indication of how good this book is going to be, it is going to be a must have!!! The information is presented in a very easy to read format. His writing style is great. Everything is explained in a way that makes it easy to understand the topic. He is also making great use of figures to help visualize the topics he is covering.

Check out the first chapter. It is awesome on its own.

posted by tadanderson at 7:36 AM 0 comments

Previous Posts

  • DevOps: A Software Architect's Perspective Book Re...
  • Scaled Agile Framework (SAFe) LiveLessons Video Se...
  • Bulletproof Android: Practical Advice for Building...
  • Swift for Programmers Book Review
  • Security in Computing (5th Edition) Book Review
  • Swift in 24 Hours, Sams Teach Yourself Book Review
  • Sparx Systems Releases Enterprise Architect 12
  • Learning Swift Programming Book Review
  • Android Security Internals: An In-Depth Guide to A...
  • Adaptive Code via C#: Agile coding with design pat...



Archives

  • December 2005
  • January 2006
  • February 2006
  • March 2006
  • April 2006
  • June 2006
  • August 2006
  • October 2006
  • November 2006
  • December 2006
  • January 2007
  • February 2007
  • March 2007
  • April 2007
  • May 2007
  • June 2007
  • July 2007
  • August 2007
  • September 2007
  • October 2007
  • November 2007
  • December 2007
  • January 2008
  • February 2008
  • March 2008
  • April 2008
  • May 2008
  • June 2008
  • July 2008
  • August 2008
  • September 2008
  • October 2008
  • December 2008
  • January 2009
  • February 2009
  • March 2009
  • April 2009
  • May 2009
  • June 2009
  • July 2009
  • August 2009
  • September 2009
  • October 2009
  • November 2009
  • December 2009
  • January 2010
  • February 2010
  • March 2010
  • April 2010
  • May 2010
  • June 2010
  • August 2010
  • September 2010
  • October 2010
  • November 2010
  • December 2010
  • January 2011
  • February 2011
  • March 2011
  • April 2011
  • May 2011
  • June 2011
  • July 2011
  • August 2011
  • September 2011
  • October 2011
  • November 2011
  • December 2011
  • January 2012
  • February 2012
  • March 2012
  • April 2012
  • May 2012
  • June 2012
  • July 2012
  • August 2012
  • September 2012
  • October 2012
  • November 2012
  • December 2012
  • January 2013
  • February 2013
  • March 2013
  • April 2013
  • May 2013
  • June 2013
  • July 2013
  • August 2013
  • September 2013
  • October 2013
  • November 2013
  • December 2013
  • January 2014
  • February 2014
  • March 2014
  • April 2014
  • May 2014
  • June 2014
  • July 2014
  • August 2014
  • September 2014
  • October 2014
  • December 2014
  • February 2015
  • March 2015
  • April 2015
  • June 2015
  • July 2015
  • September 2015

Powered by Blogger