Archive

Archive for the ‘Uncategorized’ Category

Downloading Confessions of a serial product owner

Can now be made more easily thanks to Franco Martinig at

http://www.devagile.com/modules/news/article.php?storyid=346!

Teams in an agile organisation

Version One just posted an interesting blog post on how you view teams in a successful agile organization. You should view the organization is built by separate building blocks, which together form the organization. Everyone who’s ever built something with Lego can recognize what they mean. And this can also give ground for interesting exercises for organizations adapting agile patterns. You can divide a group into different teams. All teams get the objective to build something. But when they are finished, they are to take all their different parts and make one model made up from the different team’s models (like a company which organization is optimized for the need of the specific grouping but not the whole organization). You can also play different games with special parts: when are they good (create a very special model) and when are they bad (lacking or too many).

Categories: Uncategorized

Thinking the best of people

One of my new favorite blogs, Predictably Irrational, covers many aspects of the human mind which is really worth some thought. Yesterday’s post was no different.

And, as it turns out, that is quite literally true: Harvard researchers Kurt Gray and Daniel Wegner recently found that we experience greater pain when we perceive it to be deliberately inflicted, rather than by accident.

What’s more, deliberate pain was not just more acute, it also lasted longer: whereas participants rated the unintentional shocks less and less unpleasant as the experiment progressed, the intentional shocks remained just as painful.

I have no research backing me up on this, but couldn’t it be true that this does not only apply to physical pain? If we think for example that someone is disturbing us deliberately, we react harder than if we think it was an accident? Thinking "he did that on purpose" makes stuff harder to take. We get irritated. But thinking that something is deliberate is not the same as knowing and try to remember that if you think something is deliberate, you make the pain bigger. So, why not spill the beans and stop guessing? Or even better, why think stuff is deliberate in the first place?

Categories: Uncategorized Tags: , ,

Getting the best developers available

IMAG0027

Getting things to grow is a joy for many. Last spring my house was filled with plants, growing from seeds to full grown plants. I don’t know if it’s true that your own tomatoes taste better. But it was fun.

Getting things to grow is also hard work, about being patient and knowing what you’re doing. Yelling at plants or presenting them with a time line does not make them grow harder. Well, yes, breathing on plants do have some effect but that does not help if you’ve watered them too little or too much.

To summarize: it’s easier to kill a plant than to make it grow.

It is also easier to kill the creativity of a developer than grooming it and building it. Yes, there are developers not worth the name as there are plants that will never grow. But if we ignore that problem (before discussed on my previous blog), you must think that you have a number of developers and that you should everything to make them the best developers available. But what am I talking about? Well, if you have the developer Brad. There is Brad and you should make your best enabling him to the best that he can be. How you do that is up to you, your organization and the person in question. Agile methodologies include many tools enabling developers becoming the best version of themselves. But like with plants, individuals need to be considered just as such. And if you instead want the worst available developer, try following the advice of Geek Daily. In an earlier post, the reader who is a developer himself can also read some advice on how you can become the worst developer that you can be. It is so easy.

Franco Trindade also discusses a perspective on getting the best team effort and how we often are schooled and rewarded into preferring individual achievements rather than team success. His post is called The forces of Destruction, after a citation by W E Deming. For example, we’re individually graded in school.

Categories: Uncategorized Tags: ,

Microsoft Project Tutorial Part 15 – Reporting progress a more in detail

In part 14 of this tutorial, I covered the basic principle for reporting progress, so you need to grasp this chapter before moving on to this part.

When work does not follow duration

Have you ever worked on a task where the actual work does not follow the progress of the duration. Or in other words: have you ever been in a situation where most of the work is spent on the last part of the task?
If you use the default settings of Microsoft Project, you can use % Complete to specify how you’ve progressed and if you change the value, Actual Work and Actual Duration is changed. But if you want to change these values independent of each other, you can do so. First you need to remove the link between these values. This is accomplished by changing a setting.
Choose Tools–>Options–>Calculation. Deselect Updating Task status Updates Resource Status:


Now you can insert the field % Work Complete and change these values independent of each other:

When different resources work with different pace

But this is probably not what you really have in mind. The most value for this setting can be done when different resources on a task work with different pace. To be able to track this you can for example view Gantt chart and then select Window–>Split. Right Click the grey area of the form and select Resource Work. If you’ve disabled the link between % Complete and % Work Complete you can using this form update progress for different resources on a specific task.
In the example below, we can see that originally two resources were set on the task (since the Baseline Work is 0 for one of the resources). The first resource is almost done with the task and the last resource is done. But we’ve added a new resource which has not started.

When you need to track progress over time

If you need to know when resources spent time on the different tasks you can also select to work in the Resource Usage View or the Task Usage View. If you right click in the chart part you can select to add the field Actual Work. Here you can enter actual work on all assignment rows (white). I also often include the field Remaining Work in the table part so I can see how much time remains of current plan. Observe that you can on both places also choose to view the Baseline Work to see the original plan.

Add Me

Microsoft Project Tutorial Part 14 – Reporting progress simplest ways

For some, this is when Microsoft Project gets really interesting, for most, this is when you give up using the program. The most important thing you can do is decide how much effort you want to put into reporting progress. The second most important is what you want to track.

This first post is just going to show the easiest ways: an upcoming post will cover the more complicated methods.

The simplest solution – just track percentage complete

The easiest thing you can do is that you can simply just select how much of the task has been completed.

For accomplishing this you have a field called % Complete.

If you insert this column in the Gantt chart you can simply change the value. Another method is selecting Window—>Split and change the value there:

TaskForm

You can also select View—>Toolbar—>Tracking. This toolbar include butcons for some different values for % Complete.

When you start changing this value you can see that something happens to your bars in the Gantt chart. They become filled with a black line. This shows the actual progress.

Finished_task

But how is it calculated?

Well, up until now, we’ve talked about Duration and Baseline Duration. The difference between these two values were covered in the previous session of this class but to put it shortly: the Duration value shows us the current plan and Baseline Duration shows us the plan when we started the project (or the last time you saved a baseline).

Now we add two more columns into this mess: Actual Duration and Remaining Duration.

Duration = Actual Duration + Remaining Duration

The part of Duration which is Actual Duration is % Complete. Easy as pie! Or not…

I gave the example with Duration, but you can also add the same thinking to Work, Cost, etc. You can easily insert these columns and watch the values for yourself.

So, when it comes to the easiest way to track progress, it’s simply just adding this column and change % Complete.

The easiest way to get a feeling for the project is showing Project—>Project Information—>Statistics. Her you can see the current plan, Baseline, Actuals and remaining.

projstats

Microsoft Project Tutorial Part 13 – Save Baseline, A K A Start the project

Before you get cracking at completing your new project using Microsoft Project, you need to stop and think. What do you track during the project?

During the project you need to:

  • Track progress, in other words: how much resources are spent and how much time did this take
  • Make changes to the current plan
  • Compare changes in plans and actual work with the original plan

To enable these tasks, you need to track these. And now it’s time to get back to the terms Work, Duration, Unit and Cost. The meaning of these fields are in fact:

  • Work= The planned workload, according to current plan
  • Duration = The planned length, according to current plan
  • Unit =The planned allocation, according to current plan

If you look at other columns like Cost, Start, Finish, etc, you can see the same pattern: they are all about the current plan.

If you right click a column in for example Gantt chart and select Insert—>Column you can view the column list by browsing the Field name dropdown:

InsertColumn

If you scroll up to B you can see a lot of columns starting with the text Baseline. If you continue scrolling to A you find a lot of columns starting with Actual. This is what they mean:

  • Baseline Work= The planned workload, according to Baseline plan
  • Baseline Duration = The planned length, according to Baseline plan
  • Baseline Unit =The planned allocation, according to Baseline plan

 

  • Actual Work= Actual workload, according to current reports
  • Actual Duration = Actual length, according to current reports
  • Actual Unit =Actual allocation, according to current reports

Baseline is a snapshot of the plan at a given time. To save Baseline, you select Tools—>Tracking—>Save Baseline. In the dialog box you can select which baseline you want to save (you can save up to 10 baselines).

SaveBaseline

Observe that you can save the Baseline for only selected tasks or the entire project.

When you click OK, the values in the current plan (Work, duration, start, finish, cost, unit, etc) is copied to the baseline columns (Baseline Work, Baseline duration, Baseline start, Baseline finish, cost, unit, etc). So, if you view one of these columns now you can see that they are now filled. You could have accomplished the same if you manually had copied the information. But this is of course a bit faster…

You can now go a head and make changes to your plan. Since the values has been copied, you can compare them later, for example in Tools—>Project—>Project Information—>Statistics.

You can now also switch view to View—>Tracking Gantt.

TrackingGantt

The grey bars are your Baseline values while the colored are your current plan.

When you switch to the Tracking Gantt you can now see that some of the bars are red. They are the tasks which cannot be delayed without delaying the whole projects. Exactly how much they can delay the project can be found in the column Total Slack. Select Format—>Bar styles and take a look at the definitions in the chart part and you’ll probably get a hang of this.

One tip for the road: don’t delete tasks, assignments, etc after you’ve saved a baseline. Since the baseline values are stored on the same rows in the tables, the baseline values are then lost forever.

Next stop in this guide will be tracking progress!

Microsoft Project Tutorial Part 12 – Planning for Costs

If you select View—>Resource Sheet, you can enter the costs for a resource.

ResourceList

Resources can be of two types: Work or Material. The difference is how costs are added. If you have a time based cost, the resource is of type Work and if you have a per unit cost, the type is material.

This means that if you have a test environment which costs per hour, the type is Work but if you buy a computer, the type is material.

You can also see that you have different rates for one resource. If you change the type to Material, you cannot enter all types.

Std rate is used when you normally assign the resource to a task.

Ovt rate is used when you specify that time is to be spent using the overtime rate. That means that even if a resource is overallocated, the Ovt is not used. You specifically have to state that overtime rate is to be used.

Cost per use is used to set a one time cost for each allocation. Observe that this a poor choice for the consultant who takes a fee per day: the Cost per use is one per assignment on a task independent if the task is one hour or one day. This is useful for example a test environment which has to be set up for each new test task.

Accrue at  is used to specify when during a task the costs are added to the task: before the task starts (if you’re billed in advance), during the task or after the task has been completed (billed afterwards).

If you double click a resource you can see that there is a tab for costs. In this you can set up five different price scales for the resource. This is useful if a resource costs differently on different tasks.

When you assign a resource to a task, the planned costs can be found in a field called Cost in the Gantt chart (View—>Gantt chart). You can select to view the column by right clicking a column and selecting Insert Column. Select Cost in the Field name drop down.

InsertColumn

You can also select to change the table to the Cost Table by Selecting View—>Table.

ViewMoreTables

In the table you can see the column Fixed Cost. This can be used if you want to add a cost which is not related to a specific resource. Observe that the Fixed costs are not summarized on Heading tasks so you can add a fixed cost on all rows in the Gantt chart.

Another trick when your working with costs is that you can select Window—>Split. The form is visible on the bottom of the Gantt chart.

TaskForm

If you right click the form (grey area) you can select a form called Costs. Here you can see the costs and you can also specify how much of the time uses the Ovt rate. Observe that the OVT rate is never used automatically.

If you want even more control on your planned costs, you can select View—>Resource usage or View—>Task usage.

ResourceUsage

Here you can change the table the same way you change tables in Gantt chart (View—>Table) but you can also right click the White/Yellow part and select to view the OVT Cost and Cost fields.

Another thing you can do in these views is that you can double click the italic rows in the tables, in other words; the assignments. Here you can see the planned costs but you can also set which cost rate table is to be used on the assignment.

AssignmentInformation

Microsoft Project Tutorial – Part 11 – Linking projects, using resource pools, sharing resources and dividing projects into sub projects

2009/05/03 3 comments

Microsoft Project Server is the enterprise solution for this problem, but if you don’t have that and just want to divide your projects into separate files and see which resources are over allocated, this can be accomplished during the ordinary Microsoft Project application. But it’s a solution if you’re a single project manager: if you are many project managers you will probably need Project Server. The reason is that only one person can have write privileges to a Microsoft Project file at the time and if you’re using a Resource Pool in the standard version, all Project files will be locked if someone is editing his project.

But if you just want to work on your own, here is what you do.

You start by creating the Resource pool. This is the file where you add all your resources and where you make edits to calendars. A resource pool is just an ordinary Microsoft Project file but you might want to give it a good name like Resource pool.

SaveAsResourcePool 

Then you add all the resources and change the default calendar and all the resources’s calendars. This is covered in earlier parts of this tutorial, but you can find the resource list in View—>Resource Sheet.

ResourceListResourcePool

Be sure to save. And now you have a resource pool!

When you want to use the resource pool, you create a new project file and save it. You should make all the changes to the settings you normally do on project files: the only thing you don’t have to do is add the resources.

Before you start assigning resources, you need to open the Resource pool file. Then you make sure that the new project is active and then you select Tools—>Share resources. Select Use Resources and the Resource pool in the combo. Confirm by clicking OK.

ShareResources

If you view the Resource sheet in your new project, you can now see the resources from the resource pool, and you can start assigning resources, for example.

TasksProject1ResourcePool

This can be done again for multiple projects and in this example, I’ve created yet another project file with the tasks and assignments below (observe that I used the resource pool for both Project files.

TasksProject2ResourcePool

If you make any saves when you’re using a resource pool, the dialog box will look slightly different. You will be prompted to save all connected files. And if you have two files connected to a resource pool, you will have opened all three files, which mean that saving affects all three projects. Now you can imagine the problem if you are two project managers…

SaveLinked

If you activate the Resource pool, for example using the Window menu, you can see that eventual over allocations are visible in Resource list:

ResourceListResourcePoolAllocated

But if you open the Gantt chart, the task list is empty. Most of the time, you want to see all the projects in the Resource pool, so what you do is that you select Insert—>Project:

InsertProject

Select the Project file and confirm with OK.

Now you can see the Project in the Task list and if you expand the Project you can see the individual tasks:

InsertedProject

InsertedProjectExpanded

Take a look at the ID column: there are two ID 1. The reason is that the first 1 is row nr 1 in the Resource pool and the second 1 is the first row in the Project file Project1. Confusing…. There is a column for Project so you can see to which project a task belong. And this is important if you have many inserted projects.

Before you add another project, be sure to collapse the current projects, otherwise there is a risk that you insert the new project in the already inserted project…

InsertedProjects

InsertedProjectsExpanded

When you’ve inserted a number of projects, you can start working the file like you were just using a single project. You can insert or edit task, change assignment, etc. You can even make links between tasks in different projects:

InsertedProjectsLinked

If you close everything and then try opening one of the files, you are prompted to specify which files you wish to open. Depending on if you’re opening the resource pool or one of the other projects, the texts might differ, but the important thing is to be able to save changes, you need to open all files.

OpenLinked

In this case you should select the second option and confirm.

When you’re using links between tasks in different projects, you can see linked tasks from other projects. They have grey bars in the Gantt chart and if you open the Task Information dialog box, there are some other attributes.

ExternalTasks

If you work with multiple project files, remember that this means that you should not have the same task names in different files. If you for example have the task Project end in four projects, which one does an external task refer to? Yes, you can view the Project column, but it’s much easier to select better task names.

Microsoft Project Tutorial – Part 10 – Exploring some interesting views for resource planning

If you’ve followed the tutorial and understood the previous exercises, I hope you’re starting to feel like you’re getting the tools you need to create a project plan using Microsoft Project. We’ll get into costs and what happens during the project later, but you should be able to use Project for your planning now. So, get cracking. It takes about five project plans before you’re really secure about what you’re doing so be prepared that it will feel hard in the beginning. But hang in there and get back to me if you run into problems!

But, I’m going to cover some really nice tools which are available for you to help during your planning (and also during later stages of your project). We start with the Gantt chart. If you select Window—>Split you can see a form on the bottom part of the screen.

TaskForm

This can be used to change the values on the top selected row. Just select the row you wish to edit, make your changes and confirm by clicking OK. As you can see, this form has a huge advantage over the Assign Resources Dialog box: you can specify the number of hours per resource! So, now you can really play with Duration, Work and Unit. You can also edit the links to predecessors in the right column.

If you right click on the grey area you can change form using the contextual menu. You can for example choose Predecessors and Successors:

TaskForm2

This is excellent if you have many tasks with complicated dependencies: you can directly see all connected tasks to the selected task.

Observe that the forms are actually views and besides from seeing the form in the bottom part: you can select the blue line at the absolute left and select another view in the View menu. This can be really confusing for the beginner, so skip that right now and be sure to select Window—>Remove split before leaving the Gantt chart view.

One other view that is really interesting when you’re working with resource planning is the Resource usage view, selectable from the View menu:

ResourceUsage

Here you can see all the resources on the left. Under each resource you can see which tasks they’ve been assigned to and how many hours are planned. On the right side you can see when these hours are to be spent. Observe that this is a time line so if you double click the dates on the top you can change the scale:

TimescaleWeeks

You can also hide the assignments (the tasks under each resource) and get something like this:

ResourceUsageWeeks

Doesn’t that look very much like a weekly schedule? Yes it does… Also, observe that all the white cells are editable, so you can change the assignments on a specific date or week. But remember that if you change a 20 to a 10, you remove 10 hours from that task and you’ll have to add that on some other date if this is applicable.

If a number is red on this list it simply means that on at least one minute of the period, the resource is over allocated. But you shouldn’t stare yourself blind on the color. Look at the numbers instead.

You can also double click rows on the left side. If you double click the row of a resource, you can edit the resource details:

ResourceInformation

If you instead click one of the assignment rows, you can edit the assignment details instead:

AssignmentInformation

(Yes, we’ll get back to costs later…)

Resource usage view is one of the most useful views, so get to know it. But if you look at the View menu, you can also see that there is a Task Usage view. Let’s take a look on that:

TaskUsage

You might have guessed correctly: it’s the same as resource usage view, the only difference is that the grouping is per task instead of resource. Otherwise, it works exactly like Resource Usage.

So, when do you use which View:

  • Use Resource Usage when you want to see when the resources are booked or available.
  • Use Task Usage when you want to see when we plan to work on specific tasks and when stuff are planned to be finished.