Agile pondering: How does a highly mobile agile team of 1 work?
In my last post I gave you insight into how I do my work as an agile team of 1. What I didn’t mention is I am highly mobile. I travel a lot to other cities and even when I’m in my normal city I have meetings all over the place. How do you remain agile if you don’t always have access to the same environment? Let me tell you, it isn’t very easy. It requires lots of help from tools which work without me having to think about making them work. It also requires forethought on how your normal workflow will occur. Finally, it requires knowledge about how certain tools function so they can be set up properly.
To start let me tell you my setup. I have 3 primary computers. The first is a desktop which is strictly for home use, not business use. It contains all personal information, personal email accounts, personal Quicken and things like that. The second is a 17″ Dell laptop which is my primary business computer. However, it rarely leaves my desk any more because I now also have a small 10″ MSI Wind netbook which travels wherever I travel. They are all sufficiently powerful for what they need to accomplish. For the purposes of this blog entry I’m going to leave out the home computer because it simply shares an external monitor with the 17″ laptop. Everything else about it is totally separate from my work as an agile team of 1.
I also have some other equipment which I find invaluable. I have a networked drive which is 1TB in size. I also have an 8GB USB stick which is also a USB splitter (it takes 1 USB port and turns it into 2 while also being an 8GB USB drive). I also carry a USB cable which plugs into my phone for both charging and transferring data. I also don’t go anywhere without my smartphone which runs Windows Mobile. These extra devices are a necessary part of my overall strategy of being agile while being highly mobile. They are probably overkill, but I am an engineer at heart so I’d rather have redundancy than have an unrecoverable issue.
Finally I have multiple email accounts “in the cloud” including a Gmail account and a Hotmail account. For my company email I use an Exchange Server that allows Direct Push as well as Outlook Web Access. I have access to Google Docs, Google Wave, Twitter and a host of other things which aren’t important right now. I only mention these because they do come into play on occasion.
Wow, now that I look at it I am seeing quite a list! No problem though, everything has a purpose and none of it is even hard to set up. Costly maybe, but not hard 🙂
On my laptops I basically use only a couple of indispensible tools: Microsoft Office Ultimate (why in a moment) and a browser. Everything else doesn’t matter a lot.
My normal workflow
In the first paragraph I said you needed to know your normal workflow in order to determine how to configure a system which would work for your usage patterns. In my case I do some things like email, reading group mail and reading other blogs quite a bit. I also edit my blog, maintain my calendar, browse the web, Twitter and edit documents almost every day. Those are all things I do whether I am in my office or on the road. When I am in my office I also may be doing things like maintaining the company financials. When I am on the road I am often giving presentations of some sort or creating a document as a result of my work.
They keys to my solution are Microsoft Exchange Server, Microsoft Groove, an automatic backup program, and the Windows Task Scheduler. These 4 items do all of the dirty work behind the scenes so I can just use one of my computers and know I’m in good shape no matter what happens.
- Microsoft Exchange Server – This is important because it keeps a copy of my important correspondence, my task list, my calendar and my contacts “in the cloud.” I can access it from anywhere via the web and Outlook Web Access. I can access it from my phone, and more importantly, the changes are always PUSHED to my phone in near realtime so I don’t have to think about it. I use many folders to store correspondence by type and Exchange keeps those folders available to me whenever I need them. Both computers are kept in sync as long as they are online and have Outlook running. I know people are starting to like the Google solutions (Gmail, calendar, etc.) but I just can’t get the same level of comfort with those as I do with Exchange. It’s probably because I’m an old fogey.
- Microsoft Groove – THIS is why I purchase Office Ultimate edition. It is the only edition that includes Groove. Groove keeps a “workspace” in sync between 2 or more computers. Without any human intervention! It is a marvelous program – at least for me. I have an “AgileForAll” workspace on both of my laptops. As long as a laptop is online it will automatically sync all files in the workspace to the latest version. If the latest version is on the laptop and it is different from what is available to other computers (in other words I edited a file in the workspace while offline) it will push those changes into the cloud for later downloading by other computers set to sync. This requires ZERO work on my part. I don’t even think about it. If I edit a file and save it, as long as I am online and the other laptop is also online, the changes will just show up on the other machine, and usually very quickly (less than a few minutes). My workspace has quite a few separate directories which lets me keep everything organized. I even have a backup of my website in the workspace so I can change it easily from either machine!
- Automatic backup program – It doesn’t really matter what program you use as long as you can do full and incremental backups. I back everything up each night to the networked drive. When I’m on the road that laptopt doesn’t get backed up, but it syncs the important files to the othe laptop which IS backed up so I’m still protected. I have things arranged so I can go back at least 30 days and not lose anything.
- Windows Task Scheduler – This one isn’t all that important, but it helps me sleep at night. During the night if a thumb drive with a particular file is available then the laptop will make a raw copy of the Documents directory (which includes the Groove workspace), as well as some other important files like Outlook files and Quickbooks files. This is not a regular backup which is usually compacted. This is just a raw copy to the USB stick. This means I have all of my work on the USB stick, on the network and in the cloud in case anything happens. I use a couple of different USB sticks and keep one offsite.
This setup allows me to use either laptop at any time in any location and have access to all of my latest stuff including documents, presentations, calendar, contacts, task list and email.
This works for me a lot better than trying to use a remote desktop application, but just in case, I have GoToMyPC installed on all my systems too! There is probably a lot of overkill in this system, but it isn’t anything I have to think about therefore it isn’t causing me to have waste in what I do. Once it is set up it all just works.
There are some shortcomings though. I don’t currently use a versioning system of any sort. I tried to use both SVN and git but neither did quite what I wanted. They required me to THINK about keeping things in sync and I didn’t want to do it at the time. git also didn’t work because it made my system very unstable. It crashed twice within an hour of installing git, even though I wasn’t using the program! SVN works well and doesn’t crash my system, but I’m not quite sure yet how I want to use it. I may at some point have an SVN repository in the cloud and do some automatic check-in, but I haven’t decided that yet.
This is a long entry about a problem most people don’t have, but if you do have this issue, perhaps this will help! By the way, this works just as well for keeping a desktop/laptop combination in sync, or a work/home computer, etc. It just happens that those problems are baby versions of a highly mobile agile team of 1 🙂
Until next time I’ll be Making Agile a Reality® for myself by not thinking too hard about mobility because I’ve already solved those problems!