Today I tried to explain Technical Debt to a director of a hospital. That didn't really work - my mistake. However the Technical Debt metaphor is in turn based on something that most grown-up people understands: financial debt.
Friday, November 07, 2014
Communication debts and Brazilian office mornings
Today I tried to explain Technical Debt to a director of a hospital. That didn't really work - my mistake. However the Technical Debt metaphor is in turn based on something that most grown-up people understands: financial debt.
Tuesday, March 08, 2011
KanbanBoards VI–OpenId Integration
It’s been a while since I did any work on the KanbanBoards project, but now I got around to add some more features. I planning on doing some acceptance tests for creating new boards. The controller functionality was spec'd out in then last installment of the series.
To do that properly I need to touch on two main areas of functionality:
- Authentication – here I plan to use OpenID and see if I can plug-in some functionality that already exists.
- Uploading pictures – just for fun I will try to store the pictures in the database and see how that sits. I can already here give away the fact that I didn’t do this today.
And finally show that the whole thing works using an acceptance test that verifies the functionality end-to-end.
Let’s go.
Saturday, February 05, 2011
Kanbanboards V–creating new boards
OK – after the last post of refactoring I now feels great to turn my focus on some new functionality; I want to let the users create new Kanban boards. This involves some new views and controllers stuff, uploading pictures and also changes in the domain model.
I got some valuable feedback from my colleague Joakim Sunden on the real purpose of the Kanban board application / site. I actually never wrote it down. So I’ve updated the first post in the series with the following:
www.kanban-boards.com will be a site where users can upload their Kanban boards for other people to see, vote on and get inspired by. In this way we can share and learn from each other I think and hope.
The creation of this site is documented as my learning process.
On with the show!
Sunday, January 30, 2011
Kanbanboards IV–shaping stuff up
I have now coded away for a while and it’s time to reflect a refactor a bit. I don’t like code lying around that I might not need. YAGNI you know...
So I thought I’d give it an hour to clean stuff up. And maybe put some better looks on the site. Hopefully I’ll end up in a better place. Here are the things I have planned:
- Remove all the Views and Controller methods that I’m not using
- Bring in a theme for the site
- Shape up the lists on the first page
- Create a page object to write my acceptance tests against
- Introduce a read service for the site – the start of my CQRS initiative
Man – that looked long! But most of them are small. Just imaging how much better the code will be afterwards.
Here we go.
Sunday, January 23, 2011
Kanbanboards III–putting on the web
After my latest post-of-admitting-failures I got some really nice feedback from a lot of people. Apparently there are others out there who think that a failure is great learning opportunity. OK – I will most certainly continue down that path.
I actually write these post as I code along. It’s forward only mode in other words... Almost.
Comments
One of the nicest things that happened as a result from the last post was that Darren Cauthon gave me some insightful comments and patches to go with them. This “social coding” that is going on, on www.github.com (a.k.a. programmers Facebook) is really, really cool.
Darren has done a lot of stuff in and around the SpecFlow project, for example the SpecFlow Assist (table helpers) that is really great. So I value his opinions a lot. He gave me 4 points to think about and I thought I comment them here as I learned a lot from them and think maybe you will to:
Wednesday, January 19, 2011
KanbanBoards part II–two step forward and one back
Disclaimers and introduction
I am now the father of three kids. They are my #1 priority. This project will come second. I’m doing the project for myself mostly, but am very humbled by the fact that several people already have shown interest in my undertakings.
Up to now I’ve also have time to look at the project half-an-hour at the time. With several hours of back-in-my-head-thinking in between. That might be good.
I have no master plan. I will make mistake as you sure will notice in this post... I do not intend to document just the result but also my sidesteps and mistakes. I am a firm believer that it’s true our mistakes that we learn the most.
OK – on with the show.
In the first part of this series I simply wrote the first specification. So it’s no time to, outside in, get some of the steps passing.
Step carefully now
Where we left off we got an error message and stub implementation from SpecFlow like this:
Thursday, January 13, 2011
Developing in .Net–a new era has begun
News
The other day I just realized how much have changed in the way we develop code nowadays. Well it might just be me but it’s certainly some major changes that has taken place in the .NET development arena.
I don’t claim this to be in the right chronological order but here are some major milestones for me:
- TDD – didn’t use just 2 years back
- BDD – finally get the requirements and tester into the agile loop and an opportunity to work outside in which feels just right for me. My favorite tool right now of course is SpecFlow.
- LINQ – totally changed the way C# (VB.NET still sucks at LINQ if you ask me) looks
- ASP.NET MVC – a web framework that makes sense. And that you can test. I understand again.
And now the other day (the day of the many updates as it might well be known) Microsoft release a big load of new updates. Here’s the one I find most interesting:
- NuGet – really cool packing system. Hey – now you don’t have to create a lib folder and keep track of where you had the right version for what any more. All the open source you can manage – at the end of your “List-Package”-command
- Razor – a new, more concise way to write web pages
- SQL Compact Edition (or SQL CE) 4.0 – a small, fully working, easily deployable, free database from Microsoft.
- Code First Entity Framework – your POCO classes, mapped to a database, automatically. It looks nice, so nice.
- MvcScaffolding – scaffolds loads of stuff for you in MVC 3 projects. Looks *very* promising. I didn’t say “brings Ruby-On-Rails to the .NET sphere”... but I it was on my mind

When you put all these together you get something very, very cool I think. Or at least hope.
Plans
So I am planning to build a website using (all?) these tools and see where it takes me. I have already bought a URL (www.kanban-boards.com) to put some pressure on me. Here is the mission statement for the site:
www.kanban-boards.com will be a site where users can upload their Kanban boards for other people to see, vote on and get inspired by. In this way we can share and learn from each other I think and hope.
The creation of this site is documented as my learning process.
You can follow my progress on GitHub where I’ll check in stuff with each blog post. My plan is to try to write so little code as possible and get these tools to work for me. Also I progress step by step using the tools and my knowledge to solve the problem at hand, at the last responsible moment. I will *not* download a bunch of stuff that I think that I will need – only when I actually need it.