Tuesday, June 16

PMBOK and Agile

Let me first say that I am looking forward to writing more on project management, software development and my experiences with both on this blog. That being said…

It so happens that I have been pondering Agile management and PMBOK based project management. The group I am working with now is working toward implementing Agile features to their software development cycle. I have been interested in and read considerably on the ideas of Agile for a while, but this has brought it, obviously, more to mind.

As an aside, seems others have been thinking about Agile and PMBOK recently as well. From the LinkedIn Agile Project Management group, I stumbled on a a great series of posts over at Chad Albrecht’s blog on the similarities between PMI theories of project management as outlined in the PMBOK and Agile management theory. I recommend them. They’re a good read.

There have also been several posts on GanttHead.com on the topic as well discussing how to merge Agile ideas into more traditional project management. 

I had been thinking about where the overlap is between PMI project management ideas and Agile. Traditionally, the two ideologies have been seen as at odds with one another mostly because of vocal advocates on both sides. Obviously, you get zealots on either side. You have PMP’s that insist that protocol be followed to the letter. The PMBOK to these folks is the spoken word. These are the folks that love ISO, CMMI and any other acronym they can pull out to provide forced structure.

Then you have Agile zealots that see management as the key constraint to any progress and efficiency. Frankly, they sometimes are right, unfortunately. Management not executed well becomes overbearing and hinders the team’s innovation, progress and efficiency. More on that, though, in another post.

However, are the PMBOK and Agile at odds with one another? Not really.

The PMBOK really illustrates an iterative approach to project management. First, projects are temporary endeavors. If circumstances change in a project—new scope, unforeseen constraints, etc.— it’s the project manager’s job to work with the team to cycle back through the first four steps of a project—initiation, planning, executing, controlling—until the team has what it needs to work and all stakeholders are clear on the work being executed.

What about Agile? First, please pardon my over simplification of Agile ideas.

Rather than projects, Agile teams have releases or builds. They start with some initial planning, take the input of the planning and move into development then testing. All along, scope, load on the team and other impediments are controlled so that the team can operate as efficiently and effectively as possible. Just enough documentation is created to get development going.  Obviously there are differences in the ways that Scrum, XP or Feature Driven Development implement these ideas, but the base is the same.

So what’s the role of the project manager in Agile? Measure the costs; manage budget and stakeholders; evaluate project viability; communicate with the team… all the things a PMI project manager would do.

Sounds vaguely familiar, huh?

I am looking forward to digging into this more in Agile Project Management with SCRUM by Ken Schwaber (Microsoft Press). First I have to get through Making It All Work by David Allen then I will try to get my grubby paws on Schwaber’s book.

Tuesday, June 2

Evernote and Launchy Integration

So, as of version 3.0.0.842 for Windows and 1.18 for Mac, Evernote has had scripting capabilities that allow for the automation of, among other things, the addition of notes. You can get notes on the scripting here: http://www.evernote.com/about/developer/.

Well, since this post is about Launchy and Evernote, obviously I am writing about the Windows scripting. There is Mac scripting ability via AppleScript, but I don’t have a Mac, so if anyone cares to share the same thing in AppleScript, please send me an email and I will add a link to this post.

To start with, I really love Evernote because it’s the first app out there that allows me to sync seamlessly between machines. I used to use OneNote, but it was tied to one machine or the other and without Live Mesh or another syncing program, there was no sync. Also, I have a Blackberry, so no mobile notes.

So now, I use Evernote for my GTD implementation and can capture home items and work items anywhere—including on my Blackberry. Great OCR on photos, too. I won’t get into my GTD system here as that’s for another post.

I use Evernote to capture tasks and reference material for just about everything and wanted a quick way to do this at my desk. I ended up using the command line scripting from Evernote to integrate into Launchy.

Setup

Obviously, first you need to have Evernote and Launchy installed. If you don’t have them, go get them.

Environment Variables

Next, you need to find the enscript.exe directory for Evernote and put it in your Windows Path Environment Variable. Typically, the Evernote directory will be
C:\Program Files\Evernote\Evernote3.” Go to Computer in Win 7 or Vista or My Computer in Win XP and right click and select Properties.

win_properties

From there in Win 7 or Vista, find Change Properties

change_settings

Then Environment Variables on the Advanced tab

env_var

Find the Path variable and add the path to enscript.exe.

image

Scripting Overview

Let’s look at the scripting, now. One thing to do first is to put a text file in the Evernote directory that simply has a space in it. To add a note to a notebook, you need to pass a text file. I haven’t found a way around this or a way to pass text in through the command line.

The basic format for my note adding script is:

enscript createnote /n NOTEBOOK-NAME /i TITLE /s PATH-TO-TEXT-FILE

So, a script to add a new action to my inbox would be:

enscript createnote /n @inbox /i “Title” /s "C:\Program Files\Evernote\Evernote3\blank.txt"

You can try this out in your command line, but make sure you put that blank.txt file in place first. If you don’t have an @inbox notebook, it will automatically get created.

Launchy Setup

Next, you are ready to setup Launchy. What you are going to do is add to the Runner plugin that Launchy comes with by default. I will show you how to set up a Next Actions list, but this can be repeated for any other notebook or list.

Personally, I set up a new notebook for different lists. You can take a look at the documentation on Evernote scripting to look into using tags to do something similar. I just populate a subject line with a new list item that I can add notes to later if I choose.

To implement in Launchy, first hit Right-Alt and Space to bring up Launchy and click the little gear to get to the Options panel:

launchy

Next, go to the Plugins tab and go to Runner. Click the plus sign button at the bottom of the tab to add a new option for runner.

There are three sections you will need to create:

  1. The shortcut name that you will type to add a note
  2. The script that is being run
  3. The parameters

For my inbox, I just call it “in.” For the script, put in enscript. Since this is added to the Windows path, there is no need to give the full path.

Next come the parameters. This was the script that works in the command line:

enscript createnote /n @inbox /i “Title” /s "C:\Program Files\Evernote\Evernote3\blank.txt"

To make it work with Launchy to pass in text for the title, though, you need to replace the word Title with $$. This will then put in any text you enter into Launchy into the title of the note.

Your entry should look something like this:

line

Setup is done now.

Using It!

Now, just hit Right-Alt and Space to get Launchy. Type in and hit tab. It should look like this:

launchy2After the arrow, enter the text for the title and hit Enter.

launchy3Open up Evernote and you should see your note.

evernote  

Feel free to leave comments if you have any questions!

Saturday, May 30

Been a long, long time

It's been a while to say the least. Okay, three years. But I am back. I want to use this blog to talk about my life in the tech industry... as a project manager (sr. project manager to you) and nerdy, techy, management, nerdy things. I really like Jim's and Tom's blogs, though, admittedly, they are are developers and have more code type things to chat about, but there's a place, I am sure, for PM's in the blogosphere (a term I actually hate). Actually, just check out Mike's blog.

As Tom pointed out a thing that Jim pointed out, blogging makes you look at what you are doing and think more objectively about your decisions and their consequences.

So, expect more... or less depending on how you look at it.

Seriously, when the last post I had was getting my PMP and I am up for my 3 year renewal, that's bad.

Saturday, January 28

PMP!!!

I passed! Today, I officially became certified as a Project Management Professional (PMP) from the Project Management Institute! I am really excited. Between this and MBA, though, I am done for a long time. No more studying for a long, long, long time.

Sunday, October 2

Jeff's iPod 2004 -2005 R.I.P.

It's been a sad time in the Small household. Last Thursday, my beloved iPod died. It was a fatal hard drive failure. It had been acting weird all day, so I tried to reformat and reinstall the firmware. After that, "Jeff Small's iPod," as it was inscribed, wouldn't play anymore. No more playlists, no more live Phish and Dave shows in the car. I am stuck with Q101 which isn't so bad with their new slacker-oldies format, but nothing like the 20 gigs of customized music I am accustomed to.



Replacement isn't going to happen soon. Cars to fix. Credit cards to pay. Appliances to replace. The iPod ends up low on the priority list. Guess it's off to Target to buy blank CDs.

Friday, June 10

Damn Funny

Amy found this in the Trib today in a review of the new Barnes & Noble:

The only negative about the cafe area is aural. When wooden chairs are scooted along a tile floor, the sound can be roughly akin to a constant throat-clearing by Nick Nolte over a P.A. system -- just after he has swallowed a bucket of rusty razor blades and a boat horn. It's a brutal noise, it can't be helped, and I only mention it because it can snap a reverie over human fragility like that.

Thursday, February 3

School

Tonight I start my last term of school for my MBA. It is probably going to be the hardest. The two classes are in my weakest area so far—finance. Mondays will be Investment Theory and Portfolio Management and Thursdays will be Analyzing Financial Statements. Lot of math, stats and accounting. It's about time I had some more classes that really challenged me. Last term was quite a bit easier than the first few terms--more of the management side rather than hard business. Now it's time to round out the degree with some hard business.

There is a certain level of geekiness to this stuff. It'll be fun and rewarding. I intend on using this to understand my company's business more.

Friday, January 14

My Nerd Score

I found this in a post on MSDN Blogs:

I am nerdier than 95% of all people. Are you nerdier? Click here to find out!

Tuesday, January 4

How to speed up Firefox

Found a link to this (oddly) on MSDN Blogs:

Type "about:config" into the address bar of Firefox and hit return. Scroll down and look for the following entries:
  • network.http.pipelining
  • network.http.proxy.pipelining
  • network.http.pipelining.maxrequests
Normally the browser will make one request to a web page at a time. When you enable pipelining it will make several at once, which really speeds up page loading.

Alter the entries as follows:

  • Set "network.http.pipelining" to "true"
  • Set "network.http.proxy.pipelining" to "true"
  • Set "network.http.pipelining.maxrequests" to some number like 30. This means it will make 30 requests at once.
Lastly right-click anywhere and select New-> Integer. Name it "nglayout.initialpaint.delay" and set its value to "0". This value is the amount of time the browser waits before it acts on information it receives.

Tuesday, December 28

AntiVir Personal Edition

Tired of paying for antivirus software? This is a free alternative. I use it at home and really like it. Takes a little bit more work. You have to manually update the definitions, but it's protection is just as good as Norton.

Download AntiVir Personal Edition