måndag 3 september 2012

GitHub powershell prompt

Tired of the GitHub powershell prompt printing the whole path of the working directory, instead of just the name of it? I.e.:
C:\Users\Christian\Documents\GitHub\Wint [master]>
I don't want to change the window/buffer size of my console window just so that the prompt fits into it. Turns out it's relatively simple to fix. Just open up profile.example.ps1 which is located in a folder such as c:\Users\Christian\AppData\Local\GitHub\PoshGit_<some_hash>\, and change the Write-Host line into this:
Write-Host(split-path -path $pwd -leaf) -nonewline
Now you've got a nice prompt saying:
Wint [master]>
Nice and easy! :)

(Not sure if this is going to last for ever though, I guess GitHub will change the name of profile.example.ps1 into something better in the future...)

söndag 2 september 2012

Using scrum? Try kanban!

(Thanks to @gustaf_nk for recommending kanban!)

I had never before heard of kanban, but when I was introduced to it I got interested and had to buy a book in the subject. So I went ahead and bought Kanban and Scrum - making the most of both, and read it page to page in only a few days. Back to work I started to implement the kanban strategy in our current project, and it didn't take long before I started loving it!

Kanban is perfect for teams looking for quicker deployments and tighter feedback loops. Scrum limits you because of the sprints - you may only release after a completed sprint - but with kanban you can release as soon as you've completed a story, even if you've got other incomplete stories going on at the same time. You don't have to plan every sprit in details, don't have to allocate sprint time for a release, don't have to wait for the next sprint until you can start working on a new story and you don't have to split larger stories into sprint lengths. 

The only downside as I've seen with kanban is that it's a bit complicated to implement. In scrum all you need is your development branch, and when you release you simply release directly from it (or merge everything to a release branch). In kanban you need a separate branch for each story, since you don't know which stories will be included in the next sprint. Luckily all you need is Git and some basic knowledge in branching, and you are set to go!

I'll write another blog post covering the details of how we used Git to implement kanban. Until then, go check out that book!