Sprint Planner Helper – Session 14

Ok – today I’ll start by creating a factory for the Product class. I have some issues with the factory pattern and here is my reasoning: Another class is the creator and must have access to the NEW method of the class to create it. Since that forces at least a protected-level on the constructor, it means that I cannot be sure that clients use the factory and not the constructor.

If I place the factory method on the class I am creating, I can ensure this. But then I am violating the Single Responsibility Principle. What to do, what to do…

For now, in TDD/XP fashion, I’ll implement the simplest solution: a static Create method on the class I am creating. I don’t have several different Product types, so it’s the same factory for all products, possibly with overloads.

Flame...

Read More

Sync Issues – my contact are back

With a little help from Windows Sync Center and my own stupidity all my contacts (200+) disappeared without any possibility to undo. I actually answered Yes to the question “Are you sure” but I didn’t get the concept partnership…

But what are friends for… My good friend Christer did some forensic work at my customer computer and managed to bring all the contacts back to life…

Thank you Christer! I was at a loss without my contacts. Everyone was a new acquaintance.

Read More

Avega – Top of the Game!

Avega has the best consultants in Sweden! We of course knew that already, but now it’s proven since the Avega team won the Swedish Championships in Business Value. More here. And here.

The Avega team shattered the competition with 1365 points (about 1200 points ahead of the second place!!!).

Great work, guys! We are very proud of you. And I am humbled to be a part of the Avega team. We rock!

So – if you want to work with the best, you’ll know where to find us!

Read More

Sprint Planner Helper – Session 13

After some consideration, I have decided to follow the ASP.NET MVC best practices quite closely – and do the listing of the products as a separate page, the Index method on the Product Controller.

I’ll focus on this before the actual adding is fleshed out. This is because the Create method of the ProductController does a redirect to the Index action.

Also, I will keep the GUI very simple. If I do the MVC right, it will be easy for anyone who knows this.

[Wait one hour – Marcus is coding :)]

I actually got a product added today! And the more I work with TDD, DDD, and ASP.NET MVC, the more right it feels. Read this and you’ll see what I mean.

I will have to create a factory for products… but my hour is up.

Read More

Why DDD Rocks – The Marcusoft.net Version

Today I had a very interesting conversation with a colleague and friend. He is very accomplished in matters concerning Application Lifecycle Management (ALM). The more we talked about that and the things I am learning with the Sprint Planner Helper (TDD, DDD, and ASP.NET MVC), the more I am convinced that I am on the right track. It’s the way to go – especially if you want to be agile.

Just take my experience with this project. I have now coded for some time (about 15 hours) without having to lock down to a database design and data access strategy. Not even near – I am working out the model. I am even planning to handle the database stuff at the very end.

You could choose to view the data access strategy and database as a “necessary evil.” I know I will need one to persist my data,...

Read More

Abbe in the Pulka-Slopes

Winter has “struck” Stockholm and we have lots of snow. And knowing the Stockholm weather, we expect most of it to be gone in a few days.

So we hurried out and bought Abbe his first pulka (kind of small sledge) and went to the slopes of Kronobergsparken.

We thought that it was loads of fun. Elin and Abbe swished down the slopes. I got a few runs myself (for myself also ;) and the memories all came back. Running up the slope with the pulka in a string behind you. Getting cold after the first run… Ahh the memories.

Abbe pulka

Apparently, Abbe was not as amused as we were.

Abbe scared

Read More

Sprint Planner Helper – Session 12

Today, I started off with some refactoring of the code from yesterday. The ASPX page had some pretty ugly code that I’ve now cleaned up by adding properties to the domain model.

Progress on Product and Backlog Functionality

I began working on adding functionality for the Product and the product backlog. This immediately led to some trouble as I realized I needed a list of product owners to populate the form. This meant more test data and repositories were needed.

While Test-Driven Development (TDD) is fantastic, it doesn’t solve the problem of test data. Even with a solid repository pattern, it’s still a challenge. I hope that the effort will pay off in the long run.

Since I’m alone and Abbe is sound asleep, I decided to break the 1-hour rule and push on a bit further.

ASP.NET MVC Integration

ASP.NET MVC integrates smoothly with Visual Studio...

Read More

Prayer works – Jesus hears them

I have this last week got two very real answers to my and other peoples prayers.

I am still amazed that I still become amazed that prayers are answered.

But that is how it is – it works. So if you ever find yourself in peril just put your hands together and whisper “Jesus – help me now!”.

He will hear you!

Read More