If you've never been a fan of TreeSurgeon (http://treesurgeon.codeplex.com/)
then skip this post.
However, if have been there have been some interesting developments over the last couple of years.The biggest one is T4
Recently Bill Simser wrote a detailed post about the potential future of tree surgeon,
called "Tree Surgeon - Alive and Kicking or Dead and Buried"
He raised the question:
Times have changed. Since that last release in 2008 so much has changed
for .NET developers. The question is, today is the project still viable?
Do we still need a tool to generate a project tree given that we have
things like scaffolding systems, NuGet, and T4 templates. Or should we
just give the project its rightful and respectful send off as its had a
good life and has outlived its usefulness.
For myself, the answer is, keep it.
I've spent the last couple of years doing agile engineering coaching and architecture and from my experience, I can tell you, there are a lot of shops out there that would benefit from having Tree Surgeon as a viable product. Many would benefit simply from having the software engineering information that is embedded in the tree surgeon site be floating around their conversation.
Little things like,
- keep all of your software needed to run the build, with the build in the version control system.
- Have your developers and the build system using the same build.
- Have a one-touch build
- Separate your code from your interface
- Put unit tests in first, not last
I've seen companies with great developers suffer from the problems that naturally come from builds taking 3 and 4 hours to run. It takes work to get that build down to 10 minutes, but the benefits are always worth it.
Tree Surgeon gives you a leg up, by starting you off with a project that you can drop into your Continuous Integration system
, right out of the box.
Well, it used to be right out of the box. Today, you have to play with the project to make it work for you, but even with the issues (it hasn't been updated since 2008) it still gives you a framework, with logical separations that you can build from.
If you have used Tree Surgeon in the past, take a few minutes and drop a comment about what difference it made in your development style, and what you are doing differently today because of it.