Showing posts with label Agile. Show all posts
Showing posts with label Agile. Show all posts

Monday, November 22, 2010

Agile Tools That Just Work

Here are some nice tools that I use and generally make life easier in an agile world.

Scrumy

http://www.scrumy.com
Free kanban board for managing projects (and life).

WebSequenceDiagrams

http://www.websequencediagrams.com/
Quick way to create sequence diagrams and the input is text meaning its easy to share with other that don't have tools like Visio or EA etc. I actually prefer this to visio and our scrum team used it a lot in our last delivery.

SpecFlow

http://specflow.org/
I like Fitnesse but there is too much friction (not a lot, but enough) in terms of the development cycle (e.g. its odd source control management). SpecFlow is close enough to cucumber for me (in the .Net world) and does not rely on Ruby to be installed. Ruby installs on windows are still a complete PITA as far as I'm concerned and I'll generally do anything to avoid it. SpecFlow also runs with your existing (x/n/mb)unit testing tool of choice. I must say I didn't like this tool at first but having come back to it, either the experience is cleaner or I have opened up a bit more.

Gist

https://gist.github.com/
Like Pastie but associated to my GitHub account. I'm starting to use it more and more to do brain dumps of simple code snippets (e.g. PowerShell functions etc) that can be handy to reuse, but not really worth its own repo.

If I was running an external commercial project (e.g. at home) I would seriously consider the use of LowDown. It fits my development style very well without the clutter and bollocks associated with other ALM/project management tools. Git integration makes it very interesting too.

Thursday, January 8, 2009

TeamCity - Late adoption

TeamCity is a build server put out by the wonderful JetBrains team, possibly best know in the .Net community for ReSharper.
TeamCity is a builder that basically take on the likes on CC.Net but aims to make the process a little less painful in terms of set up.
A little painful is probably an understatement. TeamCity rocks!
In about 10 minutes I have a build server up and running, including install time! It was completely trivial. I use a build script (Nant or MSBuild) anyway so all I had to do was point source control, point to the to the script and I'm done. Completely painless.
For those not completely au fait with what a build server is, this is what TC is doing for me:
On check someone checking in code to source control:
  • It gets latest from the source control
  • Builds the code using my config
  • Performs static code analysis
  • Runs unit tests
  • Run integration tests
  • Deploys to a drop location, so our "tester" can always get a copy of what we are currently working on.
That's a pretty basic build process but it is fine for me and our team. I am well happy with the last 20minutes of work, cheers Jetbrains!

Wednesday, May 28, 2008

Still not unit testing?

Another little TDD post:
Firstly: there is a new site up called DimeCasts.net that shows 10 minute crash courses on a given subject. So far the first bunch is really good, they hover around the 10 minute mark and are covering NUnit. So if you have not done any unit testing or want some reinforcement that how you are tackling TDD is correct, check DimeCasts out.

Secondly; BDD
As I work on a several side projects I come to realise how beneficial DDD, your Ubiquitous Language and BDD can be.
My "at work" project is so badly organised, especially in terms of communicating business ideas to code, these concepts could have saved the project. Its a subtle mind shift but a beneficial one. The biggest thing I see is the barriers DDD removes. It becomes less Us vs Them (i.e. Code Monkeys vs Suits) and much more about correctly defining the problems at hand and putting into a language that fits all intend audiences. BDD is not really a new way of think but again a subtle refinement of the DD practices and honing the language. I am going to pushing forward with these concepts with a pretty large scale project I may be tackling solo (initially). The business owners are completely non technical and are still fleshing the finer points of the business. To me these more agile practices should be a perfect fit for the on coming workload. :)

I may even venture into the BDD frameworks that support the processes