Subscribe: with pants comes dignity
Added By: Feedage Forager Feedage Grade B rated
Language: English
agile  book  code camp  code  development  good  great  prince agile  prince  process  read  software development  string  work 
Rate this Feed
Rate this feedRate this feedRate this feedRate this feedRate this feed
Rate this feed 1 starRate this feed 2 starRate this feed 3 starRate this feed 4 starRate this feed 5 star

Comments (0)

Feed Details and Statistics Feed Statistics
Preview: with pants comes dignity

with pants comes dignity

this is the ramblings, complaints, thoughts and observations of a confused and opinionated individual

Updated: 2014-10-07T14:35:52.106+11:00


How Agile and PRINCE2 Can Play Nicely Together


I'm involved in the "How PRINCE2 and Agile can play nicely together" presentation that will be given at the next Prince2 and Agile Meeting.

I'm really excited by this. Yes, excited.

I know you think that I'm nuts and yes, you're probably right, but this is one of the issues that faces Agile developers in a government department.

We have to appease the gods of process and control - that's where PRINCE2 comes in. Upper management love the way that they feel like they're in control.

And if we can convince them that Agile is not a dirty word and will work with a governance method like PRINCE2, then we may just be able to bring new concepts into the area.

That way, everyone's happy.

And that can only be a good thing.

PRINCE2 and Agile, Round #2


The next PRINCE2 and Agile interaction meeting will be on Wednesday night at Wizard Solutions, 15 Barry Drive Turner, starting at 6pm.

This month there will be some small presentations on the way that PRINCE2 and Agile methods can play nicely together and what documentation from PRINCE2 is similar/different to documents in Agile methods.

See this for more details.

let me at them!


I was at a workshop with the business today. I spent over 2 hours presenting material on:
- what we've been doing,
- what we are about to do,
- prioritising coarse grained requirements,
- discussing a particular chunky concept, and
- gathering new requirements.

It was brilliant. I really enjoy these kind of things.

We started getting the business involved in a more agile development way and showing them how great things can be achieved faster and easier than they imagined (or are used to). All it takes is motivated people and the ability/authority to communicate.

As an example, a requirement that was suggested today, should be further analysed and delivered to production within about a month.

I know that according to Mary Poppendieck that cycle time should be improved, but it's the best I can do right now!

The best comment I received today was from a BA on our team said that she thought I would make a great BA. I take that as a compliment as I like to bust the preconceived ideas about what a developer is. (Damn stereotypes)

Report on the Agile and PRINCE2 Meeting


That was a fantastic start to the discussion of this topic.

We had some very experienced PRINCE2 people, including the person who brought PRINCE2 to Australia.

We also had some experienced Agile people there too. (Agile is younger than PRINCE2, and I don't want to start a competition!)

The discussion was very constructive and both parties were interested in seeing why and how they can interact. From the initial conversation, I can't see how with a little tweaking it can't be achieved.

We intend to break into small groups and look at particular issues and spend some time working out how they can be overcome.

I would like to thank Rowan who did most of the organising and Lawrie for coaxing the PRINCE2 guys to come along. Great Stuff!

There is more information on the Agile Canberra Group page at this link.

PRINCE2 and Agile - the meeting


On Wednesday 12th September at 6pm at Wizard Solutions Building in Civic, we will be having a meeting to discuss how PRINCE2 and Agile processes may better interact.

I'm excited by this kind of thing. I really enjoy talking about software development and ways to make it better.

I'm hoping to discuss how a structured project management process, PRINCE2, can interact with a process that is more flexible. We have some very experienced PRINCE2 practitioners and trainers coming along, so it should be great.

I hope that all can walk away with a better understanding of what each is trying to achieve and find ways to work with each other, rather than against.

If you want to come along, then please contact me by commenting on this post and I'll send you the details.

I will post up any exciting outcomes...

PRINCE2 vs Scrum


I was at 1 day overview of PRINCE2 today. It was interesting. Much better than I expected. The trainer was very good and he showed interest in the business aspect and the delivery as much as the process. Previously, I had viewed PRINCE2 as process focused, I.E. if I tick this box, then my project must succeed.

I am a certified Scrummaster. I wanted to better understand PRINCE2 so that it will be easier to see how the two play together.

Essentially, both frameworks/processes want the same thing: Successful delivery of projects to the customer/business. They have a few differences in their approach, but I think that this can be worked out.

I'm going to keep in contact with the trainer, as the Agile SIG that I'm involved in is also keen to get this sorted. He was also interested in this issue.

Oh, and I'm still an agile fan, but we need to determine how we can still function in a more process driven framework. I can't see PRINCE2 disappearing in the short term...

bye mitch


I read tonight that Mitch has moved to Melbourne.

I used to see Mitch every so often around the Canberra and at local geek events and I'm sorry to see him go.

I wish him well in Melbourne.



I lent a colleague one of my recommended books a while ago - Code Complete by Steve McConnell. He returned it today with five $1 scratchies.

Thanks Dave. Much appreciated, but unnecessary.

I'm more than happy to lend my books in the hope that it improves their knowledge and they may do the same for myself or others.

special thanks


I must give special thanks to Nick Randolph. I asked a question during his session at Code Camp Oz 2007 and he promised to send me a book as he didn't have any with him.

I have recently received the promised book. I'm impressed that he bothered.

It is much appreciated, but wow, bothering to remember to send me a book - some guy who interrupted a presentation, especially one requiring postage to the other side of the country!

I'm not sure that I would have, given the effort required. Obviously he's a better man than I.

end of an era


Several long standing members of our team left on Friday.

Shaun. What can I say about Shaun? He supported me when others wouldn't. I doubt that I would have had the opportunities I've had without him. I owe him many thanks. I learnt a lot from working with him.

Paul. What can I say about Paul? I can say that he hates plurals and doesn't like grammar. But he is an excellent team leader and has the respect of many. Yes, including me. He's gone to Brisbane for a change. Good luck.

Eddie. What can I say about Eddie? I can say that his knowledge is formidable. He was the go-to guy for the Dev team. I'm sorry to see him go, but it was his time. I wish him well.

Geoff. GT, you were not here long, but you were well liked. I was amazed to find out that you were in a Disco band. Good stuff. I hope that you enjoy your new job and I look forward to working with you again.

I will miss them all. They were a great bunch of guys. I wish them well in the new endeavours, and look forward to crossing paths with them again.

There are several others leaving at the end of June. I'll leave the teary farewells for them until then.

Certified ScrumMaster


I am now a Certified ScrumMaster.


I returned from the two day course in Sydney tonight. I wholly recommend that if you're interested in Scrum that you attend a course like this.

What did I learn? Lots - and it's great to interact whilst learning. I had read the book and have been trying to get something like Scrum implemented for a while now. But to be able to talk with those that have is refreshing.

(And no, I didn't receive any gifts or payments for this recommendation. In fact, I had to fund the entire cost myself, including losing 2 days pay!)

Certified Scrum Master Training


I'm off to the Scrum Master Training in Sydney to get Certified!.

Should be good.

after code camp 2007...


I really enjoyed Code Camp 2007. It's great to go to a conference where everyone is keen and is obviously committed to their career, demonstrated by being prepared to spend a weekend of their free time to attend.

Big thanks to Greg Low and Mitch Denny. Fantastic work.

As an aside, we were asked to leave the venue as clean as we found it and so I collected about half of the Readify pamphlets for the up coming WPF session in Sydney that had been placed on each chair.

As a joke, the guys from my work have been placing those very same pamphlets on my seat at work whenever I get up form my desk. This has been going on since we got back. I'm amazed that they are so committed to the joke. The funny thing is - I bet they get tired of it before I do...

repeating myself


I want to repeat the contents of this post, but that would be breaking rule #1.

Seriously, I am amazed that there isn't a ruler poised above the knuckles of every developer that raps down whenever they duplicate code. Naughty, naughty, naughty.

Code Camp!


It's less than a week to Code Camp 2007. I'm really looking forward to this years event.

I have been to the last two and really enjoyed myself. If you thinking of going, then I recommend that you do.

Hope to see you there.

why pipelining? (response to Andreas)


Andreas added a comment to about this post.

The question was why would you pipeline?

Perhaps a definition is in order - I define this as encapsulating the conditional call check inside the function to:
- reduce duplication of code
- to remove the possibility that the check is not made before the function is called and
- ensure that the function is only executed when appropriate

I noted that this was different to Design by Contract (DbC), as in DbC if you fail the preconditions, then the application will throw an exception.

Consider this code, without Pipelining:

public partial class Form1 : Form
public Form1()

private void OKButton_Click(object sender, EventArgs e)
string cleanText = string.Empty;
if (removeCheckbox.Checked)
cleanText = ReplaceUnderscoresWithSpaces(sampleTextBox.Text);

System.Windows.Forms.MessageBox.Show(string.Format("Cleaned text: {0}", cleanText));

private string ReplaceUnderscoresWithSpaces(string p)
return (p.Replace("_", " "));

This, rewritten with pipelining would be as follows:

public partial class Form1 : Form
public Form1()

private void OKButton_Click(object sender, EventArgs e)
string cleanText = ReplaceUnderscoresWithSpaces(sampleTextBox.Text, removeCheckbox.checked);

System.Windows.Forms.MessageBox.Show(string.Format("Cleaned text: {0}", cleanText));

private string ReplaceUnderscoresWithSpaces(string p, bool execute)
string temp = p;
if (execute)
temp = p.Replace("_", " ");

return (temp);

(Changes in bold)

Now, forgetting the simplicity of this example (and some of the other minor issues), it shows that:
- the function identifies what it needs to execute,
- the conditional is inside the function, not dispersed throughout the code
- there is less complexity in the calling code
- the conditions of execution are in the function

But this technique is only useful for functions that do not have a side effect if they are not executed. I only do this when it's necessary to do so. But it's still a nice technique to remove duplication and clean up the calling code.

Code Complete, Second Edition


I've posted about this book before.

I bring it up because a colleague asked me about it, or I mentioned it, I can't remember - it doesn't really matter.

He said that he'd been told it was a good read.

I absolutely recommend this book to everyone in the software development industry.

It's a fantastic grounding on lots of topics that developers and others may not have considered.

There's two things I must say about this book:
1. It will take a while - stick with it.
2. Read it and then move on. As I said - it's a great grounding, but you need to keep reading other books after this one. It's just a good one to have read, or be going to read.

Patterns of Enterprise Architecture


I finished "Patterns of Enterprise Architecture" yesterday. It's very good and definitely worth a read.

I know, most don't read these kind of books cover to cover, but I like to amass all of the knowledge I can, in the hope that a little sticks so the next time I see an issue or an opportunity, I have more options...

Which book next, I hear you ask? Well, I'm 24.4% through "Agile Software Development - Principles, Patterns and Practices". This is a great book, bringing together lots of Agile and programming concepts into one place. I'm really enjoying this one.

reply to start choppin


My last post got two comments! So far, that's the best ever. (Pity one was deleted.)

But I'm not sure that I didn't cause confusion. Sorry.

To clarify, I was talking about programming languages. Not written languages.

If you read Start Choppin's comment you'll see what can happen without capitalisation in English. (Superb example, by the way.)

Careful, I've entered rant mode now...

I cannot think of a good reason to have case sensitivity in any programming language. If you have a good reason, then please let me know.

Rant mode off.

One reason I was given today was that the developer wanted to name the variable the same as the class, but only differ in case. For example (in C# syntax):

Link link;

Where Link was the class name and link is the name of the variable.

OK, seems a sensible reason. Except that it's bad form to name your variable the same as the class. Why, let's just say one word. Confusion. Much Better to name it something appropriate:

Link nextPageLink;

We can't have descriptive programming! No, that's toooo sensible.

But if this is your only argument for case sensitivity and you must call your variables the same as the class, then why can't the compiler know what you're referring to based upon it's context. Even VB6 could handle this.

And, the real point of my post was that we do things in software development that make it harder than it needs to be. Case sensitivity is just one example.

Another would be choosing to use an Object Orientated database instead of a relational database. (Can't wait to see the comments about that statement!)

stupid, stupid, stiupid!


I will never understand the need of case sensitivity in a language.

I'm sure that because C had it, everyone else who thinks that their "serious" language must have it as well.

I refuse to like having something in a language/application that enables me to make mistakes and have it next to impossible to notice.

Stupid, stupid, stupid!

back of my t-shirt


I've ordered a t-shirt for Code Camp Oz, 2007.

On the back I've put something that's a bit obscure. Those that know me will know that that's exactly me favourite kind of joke.

So, if you see me and don't understand it, then check out this link.



I posted here about the lack of a particular feature in VS 2005. Turns out that it's already there, but turned off by default. (Thanks Rory for pointing it out!)

I'm not sure why - everyone I've talked to about this thought it should be turned on by default.

I was going to crack open the IDE extensibility area to add it myself, but it's already done.

I wonder how many other useful features are "hidden" in VS 2005/TFS?

my opinion


This is funny - Mitch has commented on this as well. (In fact, that's where I found it from. Thanks Mitch.)

I agree, there seems to be a real lack of skilled programmers.

But I'm not talking about those that are particularly skilled in a particular language, or those that know how to do tricks - like the swapping values without using a temp variable (2nd comment on on that post).

I talking about the developers who:
- can work in a team
- can self manage
- are thorough and meticulous
- complete tasks to, well, completion
- know how to dissect issues
- know how to measure progress
- know development concepts, like patterns, coupling, code structure, etc
- are interested in their career
- and know and understand development processes (and the point of it)

But unlike the attitude in that post and comments of just terminating those that don't reach the bar, I'm looking for those that:
- have the right attitude
- want to improve
- want to participate

Because then you can work with them so that they will improve and in return will help you improve as well.

I remember what it's like to not realise what I didn't know and not know how to find out. That's not a fun place to be.

website vs phone


A friend just had a new addition to their family. Exciting news.

My wife instructed me to send them flowers. Wives are good for remembering important stuff like that. So I found a local florist website and decided to use that rather than ring them up.

After about 10-15 minutes of having to fill out address and credit card information and select a suitable bunch of flowers, the deal was done. But it was a lot of effort.

If I had called them it would have taken about 2 minutes.

I've learned my lesson - next time I will just call them.

There are some things that don't translate well onto the web - having to be precise with address details, rather than just asking them to deliver to a particular hospital is an example.

I guess if they had automated the method of choosing the target location using common locations, then it may have been easier?

I think my point is, you shouldn't just translate a business transaction to the web without considering the usability aspect. There's no benefit in using this particular website over ringing the florist directly, in fact, it's a disincentive.

Silly, really.

something to do...



I was using VS 2005 yesterday with TFS and I was searching for some code using CTRL+SHIFT+F. You know, find in files. Very handy tool.

I double clicked one of the results and the file and the location in the code was loaded. Great.

But then I wanted to locate the file in the 100+ projects in the solution explorer.

So, right click on the tab for the file, but there's no option to highlight and show the current file the Solution Explorer. So I grabbed the closest team mate and had a rant.

He agreed with me. This would be useful.

So, my next task is to write an add-in or similar to make this work.

But, if you know of something or someway to do this already, then please let me know. Thanks!