Learning SCRUM in 90 minutes

I want to improve flow at work. I think the most pressing thing is that we don’t adapt often enough our process. This is good and bad at the same time. Maybe SCRUM can help.

scrumtrainingseries.com has some great videos on scrum, all around 15 minutes: http://scrumtrainingseries.com/


The first introduction video with 17 minutes as a starter which I can really recommend. It gives overview over roles, meetings and artefacts: http://scrumtrainingseries.com/Intro_to_Scrum/Intro_to_Scrum.htm

The roles are:

  • Development team: Cross-functional group able to develop a shippable feature, collaborates, self-organizing, 5-9 individuals
  • Product owner: Responsible on Return Of Investment (ROI); Prioritize backlog, gives product vision
  • Scrum master: Has no management authority, doesn’t have project manager role, is a facilitator, helps the team

The meetings are:

  • Sprint planning: Development team draws cards from the backlog and discusses coarse technical road.
  • Daily scrum: Short 15 minutes stand-up meeting of the development team. Everybody of the team reports to each other.
  • Sprint review: Development team shows all features to the product owner and stake holders.
  • Sprint retrospective: The development team discusses about what went good, what went bad and what might be improved for the next sprint.
  • Backlog refinement meeting: Product owner and team tries to take a look in the future and try to order the backlog. Find dependencies, etc.

The artefacts are:

  • Product backlog: Includes all user stories sorted by priority. Does not contain tasks!
  • Sprint backlog: backlog items where the development team committed to do in the sprint

Sprint planning meeting

In the scrum master facilitated time-boxed meeting, the development team and the product owner will agree to sprint goals.

In the first part of the meeting, the development team commits on implementing to the top feature cards from the product backlog. In the second part, the features will be broken into tasks. It’s OK if only 60% of the tasks are known upfront. A task should be less than one day for one person to work on.

The meeting should last around 2 hours per week of sprint. So when doing two weeks sprints the meeting should last 4 hours.

The development team should also agree on a definition of done which means when a card is finished. This should at least include: properly tested, refactored, potentially shippable.

A great intro to spring planning can be found here: http://scrumtrainingseries.com/SprintPlanningMeeting/SprintPlanningMeeting.htm

Daily scrum meeting

The daily scrum meeting is same time same place every day stand-up for only 15 minutes for the development team. It should encourage team collaboration. Every team member should quickly answer the following questions in front of all others:

  • What did I do yesterday?
  • What will I do today?
  • What impediments blocking progress?

It’s up to the team if the product owner should attend or not.

How the daily scrum could look like is described here: http://scrumtrainingseries.com/DailyScrumMeeting/DailyScrumMeeting.htm

Sprint review meeting

In the sprint review meeting, the development team shows all features from the sprint to the product owner. The product owner decides if they meet the acceptance criteria. The sprint review meeting is open to all stakeholders, CEOs, everybody who is interested. The highlight is the live demo of every feature. When a card is nearly done or rejected it gets back to the product backlog. Here’s the agenda:

  1. Product demonstration
  2. Product owner declares what’s done
  3. [Measure velocity]
  4. Stakeholder feedback

About sprint review meeting: http://scrumtrainingseries.com/SprintReviewMeeting/SprintReviewMeeting.htm

Sprint retrospective meeting

Whereas the sprint review meeting is to inspect and adapt the product, the retrospective is to inspect and adapt the process. It’s the change of the team to improve the process.

It is very important to create a safe room where this discussion can happen. That is why no one outside of the scrum team except for the scrum master attends. A suggested agenda is:

  • What went well, as positive
  • What went not so well, as negative

Everybody participating the meeting can bring up points that are written to the whiteboard either on the positive or the negative side. At the end of the meeting the team has to decide and commit for action items that they want to change in the next sprint.

The video is a great inspiration to the retrospective: http://scrumtrainingseries.com/SprintRetrospectiveMeeting/SprintRetrospectiveMeeting.htm

Backlog refinement meeting

In this meeting, the product owner and the team take a small look into the future. The goal is to break epics into small story cards that are

  • independent
  • negotiable
  • valuable
  • estimateable
  • small
  • testable.

Each story cards should contain, the who, the what and the why. For example “As a user I want the button to be bigger so that I don’t miss it so often with the mouse”.

This video contains everything you should know about the backlog refinment meeting: http://scrumtrainingseries.com/BacklogRefinementMeeting/BacklogRefinementMeeting.htm


SCRUM is just a framework for organizing your development. It’s really useful to get things done, especially in a fast pace environment. But never forget that this will not solve underlying problems you have in your organization.

A big thank you to Michael James for the great videos. I can only recommend watching them or even better: hire him!

Debug: A project with an Output Type of Class Library cannot be started directly

If you try to debug from inside Visual Studio and it gives you the following error “A project with an Output Type of Class Library cannot be started directly” you probably tried this with the startup project set to a class library:


Error message when trying to debug a class library

A class library can not be directly executed. Instead it gets always loaded by an executable. So to debug it you need another executable that loads your DLL. If you develop for example an PowerPoint Add-in, you would specify PowerPoint as that executable like this:


Properties of project


Start with external program

Learning ASP.NET Core in 12 hours

ASP.NET Core is the new open source version of ASP.NET based on .NET Core which is completely open source. Smart move from Microsoft…

I start by installing the .NET Core SDK from https://www.microsoft.com/net/core#windows as I already have Visual Studio 2015 Community Edition installed. The “hello world” goes like this:

    mkdir hwapp
    cd hwapp
    dotnet new
    dotnet restore
    dotnet run

As installation takes forever (as expected), I start reading the introduction at https://docs.asp.net/en/latest/intro.html which gives a good overview over what ASP.NET Core is: Louse coupled Services, middleware, server, ioc, …

Lets implement the first web app from console as described here: https://docs.asp.net/en/latest/getting-started.html

Then dive into the tutorial on how to create a ASP.NET Core app using Visual Studio: https://docs.asp.net/en/latest/tutorials/first-mvc-app/start-mvc.html

In the next step, the MVC pattern and the controller is described. The controller serves as a HTTP endpoint and each method returns a text or view:

Ohh and there is a video tutorial to Asp.net MCV. About 8 hours long with much information:

Introduction to ASP.NET MVC: (01) Basics of MVC and the Moving Parts

Introduction to ASP.NET MVC: (02) Creating and Configuring Models

Introduction to ASP.NET MVC: (03) The Power of Visual Studio

Introduction to ASP.NET MVC: (04) Deep Dive into Controllers

Introduction to ASP.NET MVC: (05) Deep Dive into Views

Introduction to ASP.NET MVC: (06) Introduction to Bootstrap

Introduction to ASP.NET MVC: (07) Introduction to Authentication in MVC

Introduction to ASP.NET MVC: (08) Supplement Your Knowledge

If you need to re-create your DB from model, follow http://stackoverflow.com/questions/20304058/how-to-re-create-database-for-entity-framework

Next is the introduction on what’s new in ASP.NET Core:

ASP.NET Core Deep Dive into MVC from build conference:

Learning Ractive.js in 30 minutes

Heard of Ractive.js as a great js library. Let’s start with the introduction on their site:

“Ractive.js is a template-driven UI library, but unlike other tools that generate inert HTML, it transforms your templates into blueprints for apps that are interactive by default.” — http://www.ractivejs.org/

It’s a library that allows UI templating and data binding. So its

Data + Template = HTML/DOM.

Let’s now dive into the tutorial

Now I learned that Ractive combines HTML templates with data to output a DOM. There are variables so that a template can display the values from the data.


    <p>{{greeting}} {{name}}</p>


    var ractive = new Ractive({
        el: output,
        template: template,
        data: { greeting: 'Hello', name: 'world' }

    ractive.set("greeting", "Yo");

That looks promising. Also variables can be used to style stuff like this:

    <p style='color: {{color}}; font-size: {{size}}em; font-family: {{font}};'>
        {{greeting}} {{name}}!

As I like what I see, I need to invest more time in Ractive now… Interesting features are

  • Expressions in templates, e.g. calculate total sum from price and quantity
  • Formatting of text using JS that can be references from template (ToStringConverter)
  • Animation of data values (animate instead of set)
  • Proxy events with more convenient syntax than DOM events

Admin: Internet Explorer not starting on Windows 10 with EMET 5.5

Internet Explorer 11 does not start on Windows 10 with EMET 5.5 default settings installed. There was the following entry in the Windows Event Viewer:

    Faulting application name: iexplore.exe, version: 11.0.10586.20, time stamp: 0x56542a5e
    Faulting module name: ntdll.dll, version: 10.0.10586.103, time stamp: 0x56a8483f
    Exception code: 0xc0000409
    Fault offset: 0x00000000000a9b40
    Faulting process id: 0x31e8
    Faulting application start time: 0x01d16fb151f8b677
    Faulting application path: C:\Program Files\Internet Explorer\iexplore.exe
    Faulting module path: C:\WINDOWS\SYSTEM32\ntdll.dll
    Report Id: 93111a31-ea1b-4010-8343-8021f6c9c10e
    Faulting package full name:
    Faulting package-relative application ID:

2016-02-25 10_53_11-Event Viewer

I had to disable the following settings im EMET App Settings:

  • EAF – Export Addess Table Access Filtering
  • EAF+ – Export Addess Table Access Filtering
Afterwards IE started fine.