I went along to an Agile Testing in Finance session run by Gojoko Adzic. The session was entitled: Executable Documentation – The Remix. Always a good gig attended by intelligent folk who realised that there is much more to be done to mature the process of software development.
You can find some detail on Gojoko’s website and this post is not so much about the tools presented, but in a nutshell:
Chris Agmen-Smith talked about Pettswood, an attempt to make executable documentation accessible by business users.
Matt Wynne – Relish, an extension to the cucumber project to bring the specifications alive on a very presentable html report.
Cirilo Wortel – Xebium, Which I thought of as bringing FitNess up to date and giving it a modern UX.
So my take on all this? It seems to me that the most important thing is forming a good team around a key business user. That client team should have people from development a product owner, possibly a BA and at least one senior business user. Bring the requirements discussion, and priority right out into the open involving the business as much as possible.
Then tools like the ones discussed this week can be used to bring alive the tests in a format that the business can view and edit. Which just leaves the easy bit…. implementation. (I jest)
If you can’t form a Client team, there is little point exploring BDD or live documentation, as the important part is that conversation and interaction that the client team has over the specifications.
This Video by Adam Wiggins of Heroku (the guys who wrote their own cloud platform) is a brilliant introduction to the concepts behind a cloud platform. It’s an excellent way to come quickly up to speed.
I have come to learn that there are several ways. Here are my favorites.
Build your own maven plugin to build .NET projects. Package 3rd party products as zips and put them in maven. Write a plugin that reads solution and project files and calls MSBuild with the appropriate flags. Advantage, maximum flexibility. Disadvantage, lots of effort.
Use the existing maven-dotnet-plugin. Advantage, does a lot for you including various types of test and coverage systems, plus it can run sonar. Disadvantage, Hard to get it to work on complex silverlight projects. In fact hard full stop. The docs are not great.
Use NuGet. Advantages, it has .NET pedigree and Microsoft Backing. Adoption amongst .net developers is probably an easier sell than a java utility. Disadvantages, Very early days for the project, as yet unproven.
Finally npanday. Advantages, nice integration with Visual Studio. Disadvantages, very hard to get it to work with silverlight. Impossible in fact as MS have kindly removed the command line baml compile utility.
So in summary. There are ways to do this now. There is hope for .NET dependency management!
Several months ago now I posted a series of articles about offline backup. Its a topic that more and more people are dealing with. The realisation that you have many gigabytes of digital media that could easily be lost combined with better broadband is prompting a move to off-site backups. So I posted up my exploration into backing up off-site. Recently I have had a few people ask me if I am still happy with my final choice, crashplan.
Even my mum uses it!
I am very happy with the choice. In the original posts I managed to setup three home machines, one Linux one windows and a mackbook. Since then I added the iMac that I keep at my parents. This is a sign of how easy crashplan is to maintain. In a nutshell once you have set it up, you just forget about it. This has to be one of the most important things about backing up. It does not require any maintenance whatsoever. This is encouraging when your several hundred miles away from one of the machines. I can use the web to see if its backed up, and get alerts if a period goes by and it fails. I just checked it now, 100% backed up today.
The backup client allows you to set how much bandwidth and CPU its allowed to use. I use the default as I have never found it hogging either. I am probably lucky that so far several backups on different machines have not started at the same time. If it did its easily curable.
If you have anything worthwhile keeping, and want off-site backup – get a crashplan account. If you have friends with space, use crashplan for free and backup to each others machines. In fact do both!