Saturday, December 10, 2011

Making It All Work

I make a point of reviewing one of the GTD books by David Allen on a regular basis. My two favourite books are the original Getting Things Done and the more recent Making It All Work. I usually learn something new whenever I carry out a review.

During my latest review, I was re-reading the chapter on Control and came across the idea of bookmarking. Bookmarking is basically a benefit of practising and developing the capture habit. The idea is to capture what you are working on by taking notes while you are engaged in the task.

Bookmarking has two major benefits. First, it allows you to track where you left off and thereby create a bookmark for the task if you move onto something else. This is handy if you have multiple projects on the go and need to return to wherever you left of on a task at some point in the future. It will certainly help save time when you try and pick up a task and you need to remember where you where. Second, it helps you deal with interruptions.

Dealing with interruptions may be the biggest benefit of bookmarking tasks as you can never be sure when you are going to be interrupted and if you have the habit of writing down where you are when you do get interrupted then you never have to worry about loosing time by redoing work or trying to remember exactly what you have completed.

Thursday, December 1, 2011

Arrived iPhone App

Experimented with a new iPhone app called Arrived. I like the concept and think it's a great idea. The concept is simple. The app notifies others of your arrival or notifies you of other people's arrival at a location of interest to you.

You pick the locations and the people and Arrived does the rest. If you frequent locations or you meet with people frequently Arrived will let those people know when you arrive or when they arrive. A very cool idea because you can select the places you frequent most and let the people you care about know when you are there.

I like the concept of Arrived much better than FourSquare or LocalMind because it limits who has access to your location and you aren't required to check-in. My initial impression is that Arrived isn't entirely positioned to benefit the businesses you frequent and that it actually provides value to the user in a way that resonates with the original ideas behind social networking.

Arrived is great as a concept. I haven't been able to use it too much and can't vouch for the quality of the implementation. Definitely worth a look.

Saturday, November 26, 2011

Trouble Activating iMessage on an iPod Touch

I recently activated iMessage on an iPod Touch. Ran into the problem where the activation fails.

A little research on the forums led me to comments on the DNS server issue with a recommendation to use 8.8.8.8 as the IP address. Surprisingly, changing the DNS server to 8.8.8.8 resulted in my being able to active both FaceTime and iMessage.

I say surprising because I haven't seen any other DNS issues with the server I was originally using.


Unfortunately, in order to keep iMessage and FaceTime working I had to leave the DNS server address as 8.8.8.8. Changing the DNS server entry back to its original value resulted in iMessage working for a while but subsequently failing (presumably because the DNS entry needed to make iMessage work finally expired in the cache).

Monday, November 21, 2011

Wednesday, November 16, 2011

The Computer Scientist as Toolsmith

Every once in a while I have the pleasure of rediscovering an old article whose lessons have withstood the test of time. Two articles by Frederick P. Brooks Jr. entitled "The Computer Scientist as Toolsmith" pass this test.

Both articles appear under the same title. The first article was written in 1977 (reproduced in 1988); the second published in the Communications of the ACM in March 1996.

Friday, November 11, 2011

Unautomate Your Life?


I've talked about ZenHabits in the past on this blog. I am becoming dissatisfied with the posts on ZenHabits. In a recent post they discussed how to Unautomate Your Life.

Unautomate? Now they are making up words in an attempt to be clever. It's actually annoying.

(To be fair the ZenHabits post was by a guest blogger.)

Sunday, November 6, 2011

Using Tinderbox to Explore Frameworks

Eastgate describes Tinderbox as a personal content assistant that helps you visualize, analyze, and share your notes, plans and ideas. It's an interesting application to use. One of the key benefits I've obtained from using Tinderbox is the exploration and use of frameworks.

The benefit of using Tinderbox to explore and use a framework is twofold. First, you gain insight into the framework by developing a Tinderbox document describing it. Second, use the Tinderbox document describing the framework to explore a problem using the framework. It is this second benefit where Tinderbox really shines.

Thursday, October 27, 2011

iPhone 3GS Upgrade to iOS 5


I've been using iOS 5 for a week now. It's installed on a iPhone 3GS. The upgrade was a little painful because of the time it took but relatively easy overall.

To obtain iOS 5 you need iTunes 10.5. This is a large download around 500MB in size. There was also a Lion upgrade available. You need to Lion upgrade if you want to tie both your phone and your computer to iCloud but you don't need the Lion upgrade to use iTunes 10.5 (see the iTunes System Requirements).

Saturday, October 22, 2011

Story Points and Velocity


I am re-reading Mike Cohn's book "Agile Estimating and Planning". Chapter four, "Estimating Size with Story Points", introduces the concept of story points and velocity.

Story points represent a relative estimate of the complexity, size or risk in a story. As a relative measure the focus is on assigning stories of similar complexity, size or risk the same number of story points. A relative measure simplifies estimation because it separates size from duration.

Velocity is a measure of the number of story points a team completes in an iteration. Use common sense when managing velocity. For example, if someone takes a day off during the week their contribution to the team's velocty should be reduced.

Velocity also provides the abilty to correct estimates as velocity changes without having to re-estimate the stories themselves. For example, a team with a velocity of 25 might find itself moving closer to 20. This change increases the duration of the project because the total number of story points is known but the rate at which they are completed is reduced.

Duration is derived on Agile projects. It is derived by observing a team's velocity. Duration is the number of story points in a project divided by the team's velocity.

Duration calculations using velocity need to be considered in light of the assumptions velocity brings with it. For example, such calculations assume that all things remain equal over the course of the project. This means that personal changes on a team will impact velocity. It also means that duration calculations should bear in mind the lessons of the cone of uncertainty.

Monday, October 17, 2011

What Are Projects?


I am re-reading Mike Cohn's book "Agile Estimating and Planning". In chapter three, "An Agile Approach", Mike references an article by Hal Macomber entitled "Achieving Change in Construction". Hal's article pulls the main points from a study conducted on the construction industry with the same title.

Hal's article made me aware of a misconception of mine about project management in the construction industry. My view up to this point was very limited--I was under the impression that project management in construction was well understood and effective. Hal's article pointed out that even a well established industry can have its issues.

This article proved useful to me because it summarized in a couple of sentences what I believe is a key motivation behind adopting Agile methods:
... suggest there are two complementary approaches for achieving change. The first has to do with producing economic value. They argue that people will adopt an approach that produces higher value. They couple this with a high involvement high learning organizational approach. High involvement will bring about the change.
People will use an approach that produces higher value. If you add this to an approach the embodies high involvement and learning then the approach should be self perpetuating and result in real positive change.  For me, these two sentences really make explicit the motivation for Agile methods.

(The links in Hal's article to the original paper are dead. Use http://berkeley.academia.edu/GlennBallard/Papers/838052/Achieving_change_in_construction instead.)

Wednesday, October 12, 2011

Manifesto for Agile Software Development


I am re-reading Mike Cohn's book "Agile Estimating and Planning". In chapter three, "An Agile Approach", Mike references the Manifesto for Agile Software Development. A lot has been written about the manifesto. I won't add much.

Two important things stand out when I read the manifesto that I think are very enlightened. First, I like the acknowledgement that we are still learning how to develop software better. Second, I like the emphasis on people rather than tools and process.

The first point reflects an enlightened view of software development, particularly if you view software development as knowledge acquisition. You are learning how to do something that perhaps no else is doing. That is a hard job and worth acknowledging.

The second point reflects an enlightened view of software development because it recognizes that people are the important element in the creation and use of software. The shift in focus is a stroke of genius. It reflects a change in understanding around who is developing and using the software.

Friday, October 7, 2011

Toss Out Productivity


A recent post on ZenHabits entitled Toss Productivity Out has piqued my interest. The title says the post is about productivity but a lot of the content strikes me as a comment on the benefits of understanding your priorities. Understanding and focusing on priorities simplifies your life.

Take the simplification argument used against getting organized. If you simplify you are effectively making choices on importance. If not then you introduce complexity into your life. Simplification forces you to prioritize. If you focus your priorities life becomes simpler.

The same argument can be made on the number of goals you set. And again for focusing on a couple of things to be done during the day instead of keeping detailed context lists.

The post makes other points against productivity methods. These look like an argument against selecting productivity methods that don't help you identify what's important.

In all, the important message is about managing priorities and about selecting ways that support the identification of your priorities. Evaluating your productivity methods in light of how they help you determine your highest priorities and then focusing on them is a great way to simplify.

Sunday, October 2, 2011

Estimates are Not Commitments


I am re-reading Mike Cohn's book "Agile Estimating and Planning". It's turning into a good opportunity to take a second look at the references. In chapter two, "Why Planning Fails", Mike references an article by Phillip Armour "Ten Unmyths of Project Estimation" published in the November 2002 issue of  Communications of the ACM.

Mike's main point for referencing the article is to link the idea that an estimate represents a probability of completing a project but that it often become a commitment to an end date. I view this as a variation of the idea presented in chapter one "The Purpose of Planning" and what the concept of the cone of uncertainty teaches us.  The two reenforce the point that estimates are not 100% accurate.

Tuesday, September 27, 2011

David Moody's Hater and Autumn Series

I've noticed a trend in my reading of David Moody's books. In both the Autumn and the Hater series I enjoyed the second book more than the first. This isn't to say that I didn't enjoy the first book in each series, just that the second books were better. This might be a good sign as Hater is a trilogy and there are five or six books in the Autumn series.

Thursday, September 22, 2011

The Cone of Uncertainty

I have been re-reading Mike Cohn's book "Agile Estimating and Planning" in an effort to further deepen my understanding of Agile practices for estimating software. The first chapter, "The Purpose of Planning" introduces the cone of uncertainty to discuss software estimates and provide data on the accuracy of estimates over the various phases of a project.

I was intrigued because the cone and the approach used by the PMI were different—the cone views estimate accuracy as symmetric with initial estimates of ±4 times the actual cost of delivering a project. The PMI views initial estimates as asymmetric and places these estimates at +75% through -25% of accurate.

Some research on the cone lead to important insights that weren't clear from reading chapter one. The most important insight is that the cone of uncertainty represents the best you can do when estimating software. It says nothing about how bad you can do.

Saturday, September 17, 2011

No iPad for Me

I have been struggling with the decision on whether to purchase an iPad or not. Initially, I choose not to be an early adopter. That was easy as all I had to do was decide delay the purchase. Over a year has come and gone and I've learned a lot about what I'd like to do with an iPad if I were to purchase one. Ultimately, I determined that I would keep my laptop and not purchase an iPad.

My rationale for not purchasing an iPad comes down to two simple facts. First, not everything I want to use on my laptop is available on the iPad. Second, I don't need another device to carry around. I already have a MacBook and an iPhone. The thought of carrying a third device or having to make a decision on whether to take the laptop or iPad with me is not worth the effort.

I view the iPad as ideal for people who only want to surf and read email. I include in surfing, things like reading books and documents on the iPad. I won't replace the books I read simply because I am a little old fashioned and like my books made of paper. Surfing and email are the only things I do on an iPhone that I find inconvenient. These activities could be improved with the purchase of an iPad but the cost doesn't justify eliminating my personal inconvenience with these activities.

One iPad feature that took a lot of thinking to eliminate was the 3G option. I ultimately decided to forgo that since the iPhone now supports local WiFi though the personal hotspot feature. That and the fact that the cost of the 3G data plan coupled with the small data transfer sizes provided by Canadian carriers are patiently ridiculous.

In all, I won't be purchasing an iPad for myself because the two devices I already own more than meet my needs. I may still be ogling the iPad every time I drop by the Apple store or their web site but I don't think I'll be laying any cash down for the device itself.

Monday, September 12, 2011

What Job Does FourSquare and LocalMind Do For You?

In "What Job Does Social Media Do For You", Whitney Johnson identifies five jobs that she uses social media to accomplish. I thought it interesting to review jobs in light of what FourSquare or LocalMind might be able to accomplish. Of the four jobs that Whitney identifies as being achievable with social media, two are aligned with jobs that FourSquare and LocalMind are suitable for.

To be fair to both Whitney's article and FourSquare and LocalMind, the article was written for a professional audience and directed at expanding professional contacts. FourSquare and LocalMind have a business aspect to them but for the user who is going to check-in at a business or look for specials it isn't professional contacts they are trying to find. They are trying to meet new people when out with friends, locate new interesting places to visit or simply save money.

Wednesday, September 7, 2011

Giving Up More Than You Realize with FourSquare and LocalMind

In a post entitled Giving Up More Than You Realize with Twitter I described how the real time and public nature of Twitter can lead you to inadvertently expose your location to anyone following you. With Twitter, the problem of implicitly giving away your location by disclosing where you currently are located is also a problem.

It is worthwhile noting that FourSquare and LocalMind remove the possibility of implicit disclosure of your location by making your location explicit. This doesn't remove the risk of telling people when you are not at home but it does ensure that you know you are revealing your location whenever you use FourSquare or LocalMind.

Friday, September 2, 2011

A Critique of FourSquare and LocalMind

I recently experimented with FourSquare and LocalMind. Both are interesting concepts. If my experience with FourSquare on the iPhone 3GS is any indication then this application still needs a lot of work to improve the user experience and reduce power consumption.

LocalMind improves FourSquare because user interaction is simpler. LocalMind takes advantage of your check-in through FourSquare—if your LocalMind account has permission to access your FourSquare account. This means that you can check-in with FourSquare and LocalMind can publish your check-in and make it available to other LocalMind users.

Sunday, August 28, 2011

Do The Work!


I've been reading "Do The Work!", a book by Steven Pressfield and recommendation from the Accidental Creative. The basic is idea is that resistance is the enemy of progress and you should use it as a guide post to help you find your way. An easy read but I'd have to say it was dissapointing.

Tuesday, August 23, 2011

Giving Up More Than You Realize with Twitter

It took my discovering an iPhone application called Glympse to help me understand what bothered me about using Twitter. That might sound a little strange but it turned out that what I thought was a problem with Twitter was really a problem with privacy.

The epiphany provided by Glympse led me to the realization that I was thinking about Twitter as if it were just another blogging platform. To think of a Tweet as a 140 character blog entry is to miss the whole point of Twitter and the privacy implications associated with its use.

Glympse provides a way share your location using a text message. It creates a text message that contains a URL. Recipients of your message can view the URL using Glypmse or a web browser. The URL provides time-limited location based information on your whereabouts. For example, you can send a Glympse to someone when you leave the office and they can track your progress home.

The key difference between a Tweet and a Glympse is that the Glympse is short lived and distributed to only those who receive your text message. A Tweet offers no privacy.

It is the real time and public nature of Twitter and the ease with which you can provide updates that create the potential for leaking location information. A location leak can be explicit or implicit. An explicit location leak might include Geo Tagging a Tweet or you might mention a location explicitly. An implicit location leak might be something as simple as a Tweet that says you are not home.

To see the implications of leaking location information in real time check out http://pleaserobme.com.

Thursday, August 18, 2011

Eastgate's Tinderbox Program on an iPhone

Mark Bernstein at Eastgate Systems posted about a Tinderbox viewer that they are developing for the iPhone and iPad. Awesome!

Saturday, August 13, 2011

A Reason for Including Value in a User Story

Lately, I've been doing some research on how to write good user stories for Agile requirements and discovered a post on Mike Cohn's blog discussing his rationale for the user story template he prefers. I have one point to add to his comment on the value component of a user story being optional.

I think an important motivation for including the value component in a user story is that narrows and refines the scope of the story and adds clarity to what the story is intended to achieve. This helps to ensure that the intent of the story is understood the by the reader. It might also prompt questions if the reader disagrees with the value and those questions might lead to better insight or understanding.

Mike provides several stories in his article. Reading these stories with and without the value component changes the way they can be interpreted quite dramatically. For example, consider the story "As an estimator, I want to see all the items we will try to estimate this season".

The value component of this story tells me that its real value is enabling the estimator to check the relative costs of the other items being estimated. Without this insight, I might assume that the estimator just needs a list of estimates organized by season--an interpretation that really misses the point.

Adding a few words to highlight the value of the user story seems like very little additional burden when compared to the problems that a misinterpretation might create.

Monday, August 8, 2011

Using Getting Things Done to Find Your Purpose

I like Getting Things Done because it attempts to wrap everything in your work together into one cohesive whole. It does this by providing a model called the "6 Level Model for Reviewing Your Work". It provides purposes for different aspects of your work ranging from the next actions in a project through to your life's purpose.

I am constantly amazed at how much is written about developing a purpose, vision, goals and objectives. So much so, that I am going to add my two cents to the discussion for anyone that wants another perspective on how to achieve this. In what follows, I promise to be short and to the point.

Wednesday, August 3, 2011

Getting Things Done: Creative Uses for Calendars

Here is an example of why I really enjoy the practical and simple advice in David Allen's book Getting Things Done: today, I received a couple of invitations. One invitation is for a talk and another is for a weekend retreat.

I have to RSVP for the weekend retreat in a couple of weeks. Of course, I don't know if I can make the retreat so I need to defer the decision on whether to RSVP or not. The other invitation is something I will attend if my day opens up. How to effectively manage the RSVP other event so that I don't simply forget about them?

Friday, July 29, 2011

Sorting through Project Commitment and Priority Using Getting Things Done

David Allen describes an excellent system for personal productivity in his book Getting Things Done. I make a point of trying to review different sections of his book every few months. I usually review parts of the book that describe methods that feel unnatural or awkward to me.  An unnatural or awkward activity is usually a good indicator of where an improvement is needed.

One area of Getting Things Done that I review frequently involves projects and the prioritization of the next actions for those projects. These activities always cause me to second guess myself. I often feel that my choices for projects and the priorities of their next actions are suspect. What I want is a way to validate the decisions I make when managing my projects. In seeking to validate my decisions I found surprisingly little guidance in Getting Things Done and ultimately settled on a solution using Stephen Covey’s Time Management Matrix (as described in his book First Things First).

In what follows, I describe how the stuff in my inbox ends up on my project list instead of my someday/maybe list and why I feel that’s ok in spite of the problems it creates. I also describe my solution and why it is effective.

Friday, July 22, 2011

Twitter Feed

Found a cool service that automatically publishes new blog posts to your Twitter account. Check out Twitter Feed.

Sunday, July 17, 2011

The Accidental Creative (Book Review)

I am currently reading Todd Henry’s new book The Accidental Creative. I have been a subscriber to his podcast (also called The Accidental Creative) for several months and pre-ordered the book as a result of what Todd had to say during those podcasts that preceded the publication of his book. His podcasts are engaging and always left me with something to think about. A few prompted more investigation into the topics he discussed. They are definitely worth checking out.

In truth, I wasn’t entirely convinced that the book would be a worthwhile read but ultimately decided to purchase it because I admired the quality of the messaging Todd created around the book—if you enjoy a good marketing campaign it is worthwhile to look at how Todd marketed this book. There was something about the consistency and creativity behind the messaging in the podcasts that resonated with me. It left me with the impression that the quality of information in the book would be high even if that content turned out to be a repeat of the podcasts.

I am happy to say that the book has not disappointed. The podcasts complement, rather than repeat, what is in the book. Reading Todd’s book has provided me more insightful and thought provoking material on creativity.

Wednesday, January 5, 2011

Software Preservation Group

In A non-hierarchical approach to object oriented programming, Pascal Costanza provides a pointer to the original paper, a copy of which is available from the Software Preservation Group. If you are interested in original papers or understanding the history of your favourite programming language then the Software Preservation Group is the place to go.

The original documentation and papers from John McCarthy are available under the LISP 1.5 Family.