Do you ever find yourself too busy “fighting fires” to do things “the right way”? Do you know that there are better ways of managing your project, but you find that you just need to get things done and can’t be bothered to fix underlying problems because it may slow you down? Ever find yourself wondering if you will ever have time to go back to a feature you released a year ago to make it better and move valuable to your users?

I have been “preaching” about why you should combine software engineering management practices for a long time (almost all of my presentations end with this as a call to action). A lot of people get stuck in the religion of their current practice (or the practice that they see in the industry that holds the most promise). Today Scrum is hot. Kanban techniques are also gaining traction – especially in the blog/twitter spheres. I’ve been a big proponent of Feature Driven Development in the past – and there are a barrage of other techniques stemming from eXtreme Programming, Test Driven Development, Behavior Driven Development … the list goes on.