Sprint Planner Helper – Session 16

I am now almost ready with the first user story of my own backlog.

  1. As a user, I can create a product that describes the product and the product owner so that the purpose of the product is known.

Each product has a product backlog that describes what is left to do.

Each product backlog item requires at least a Number (1.2.1), description, and initial priority.

Other properties are story points (how big is this compared to others) and a document with additional business rules.

The one thing that is left is to be able to create new backlog items.

My GUI for editing a product right now looks like this:

edit a product

As I said before, I will not put too much effort into the design of the GUI, but I have noticed that the MVC-pattern opens up for GUI-design...

Read More

ASP.NET MVC – Running Transformation Error

UPDATED
This is solved. See this.

I ran into this problem:

Template Processing resulted in 1 Errors: Error: Running Transformation

It appeared when I added an Edit-view for an inline view-data class. That is, I created a special class to hold the view data that the controller is acting upon, and that class is declared inside the controller.

When the Add view-dialog (which I love by the way) of the ASP.NET MVC closes with OK – this dialog appears.

I think it’s a bug in the RC-release, but I am not sure. I’ll send this to the ASP.NET MVC team and see what they have to say.

I am not sure that I will have the view data class as part of the other class since that violates the Single Responsibility Principle (SRP) – but if I do, I get this crash.

The...

Read More

Sprint Planner Helper – Session 15

I don’t think I have ever been doing system development in a nicer place – I am right now in Hyppeln in the Gothenburg archipelago. The weather is wonderful, and we have actually been sitting out for coffee and even managed to do some barbecue…

OK – I am pressing on with the Edit controller action for the Product. I ran into a bug in the ASP.NET MVC framework, which is the first one I have seen – pretty good for a Release Candidate…

I think that I have missed some part of the TDD process by not being good at “testing my boundaries” (a Code Smell from Clean Code by Robert C. Martin). When I first read it, I didn’t fully understand it, but as I am beginning to grasp the TDD approach, I realized that for most cases this means writing tests for NULL...

Read More

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