Saturday, January 31, 2009

Online Project Management Apps

Many people on Twitter ask for recommendations for a good online project management solution. There are many such web-based applications out there, and it really depends upon your needs and intended project approach - are you "agile", do you want to use "scrum" or "kanban", or are you PMI all the way. Do you want it SaaS, or self-hosted? Do you need time tracking? Should a wiki be integrated? The list goes on. My requirements to make it through the "first cut" were:

  • app is web-based and so is accessible anywhere.
  • app is relatively bug free and stable.
  • app developer has some history and do not look like they will disappear tomorrow.
  • app is not linked to a single platform (that is, it can be accessed from a PC, Mac or Linux system, for instance) or a single technology (for instance, that it "requires IE and ActiveX").
  • app supports Japanese for data entry, export to CSV or other formats, and in reports (I did not need the UI to be Japanese, necessarily, but the input and output should support Japanese characters).
  • app has time tracking.
  • app has custom fields, especially for time tracking.
  • app has email integration preferably in- and out-bound.
  • app has acceptable reporting.

Just below is a list that basically supported the above, or I felt were interesting enough to look at in more detail, even if the app did not make the cut - for example, "it must be free" or "it must include invoicing". I suggest you make a list like that to weed out the ones that won't work for you. Then you can start concentrating on really fine-grained items like:

  • app allows entry of "time remaining" rather than the asinine practice of entering percent complete.
  • app allows entry of estimates, from a task, rate-type, or "phase" perspective, and a printout of those (because even agile teams have stakeholders).
  • app is not just a list, but has some level of workflow tracking built in as well.
  • app does not lock you into only one way of doing things, but rather allows you to approach things from your perspective.

Online PM Solutions that Passed my First Cut

For your reference, here's the list of "first cut" solutions (for me, that is) where I started examining in more detail (and in alphabetical order):

Other Online PM Solutions

There are many other ones that I looked at, but were not quite what I wanted or needed. This does not mean they won't work for you or are inherently bad. For your reference, here's a list of some of the others (in alphabetical order) that I thought were good but that either lacked something I needed or that I simply did not have time to assess properly:

Note, many of these apps have ways to get a free version (limited by number of users or projects for example), are free for open source teams, or, are open source to begin with. I hope this article can be a starting point for your search for the perfect PM app. Enjoy!

Between the Lines of the Agile Manifesto

Lately I have been thinking a lot about my firm eSolia's way of managing support and projects. We have a lot of experience with PM for both business and IT, and have applied that experience repeatedly to improving our process. However, one day I was reading something about Agile teams and a Lean approach to doing business, and I started to notice that our approach already matched what was being discussed. Perhaps our approach would benefit from what was being discussed "in the literature".

Looking into Agile, Lean and Scrum more, one thing I noticed about the Agile Manifesto is, it seems many teams claiming Agility are taking the most extreme stance possible, almost making reactionary excuses to avoid anything that smells of "structure". Very rebellious, and it's no wonder many of those same teams also claim that Agile does not work. But this sort of reactionary stance is not quite what the manifesto is stating.

Please have a look at this short article I wrote, regarding my interpretation reading between the lines of the Agile Manifesto. Put your comments on this blog post; I'd love to hear from you, and I hope this article helps someone. Enjoy!

Friday, January 30, 2009

Agile Manifesto in Japanese

I wanted to explain the Agile Manifesto to my Japanese colleagues, so I translated it into my (admittedly imperfect) Japanese. Kirara397 was kind enough to suggest some edits to my Japanese in the comments, so I incorporated them. Thanks Kirara! At any rate, have a look:

Individuals and interactions over processes and tools.


Working software over comprehensive documentation.


Customer collaboration over contract negotiation.


Responding to change over following a plan.


It can easily be applied to non-development teams as well. It's a good guideline for teamwork, I think, and has withstood the test of time.

Thursday, January 29, 2009

Mockup Mania!

Balsamiq Mockup for Teamwork Work ManagementIf you do mockups of software interfaces, you might find this post of interest. Although I can write shell scripts and simple perl or ruby scripts well, I am not a developer. However, participating in a session with Pietro, a senior developer of the work management application "Teamwork" from Open Labs, I found the Balsamiq application refreshingly easy to use. I was able to open Pietro's Balsamiq file, add a few things, and submit it back to him for his comments. This exchange prompted me to see what kind of mockup applications were out there, despite of course being able to do mockups in Visio or Omni Graffle.

Selected Mockup Applications

Here's what I found, briefly:

Balsamiq is a cross-platform Java app that will run on your Windows, Mac or Linux machine, and which is focused on integration into wikis like XWiki or Confluence. Balsamiq mockups look like drawings, so your customers won't get confused and think the software is going to be "done soon".

iPlotz is a cross-platform Flash app, with collaboration features. iPlotz mocks are more even sketch-like than those made in Balsamiq, and the collaboration part is a nice bonus.

Mockup Screens is a Windows only app, so if you are in a shop that does Windows only, Mockup Screens might work for you. Personally, I prefer multi-platform, cross-platform everything.

DabbleBoard is a general-purpose drawing app that has collaboration, but could probably be used for mockups as well. DabbleBoard not purpose built, though, but still is intriguing.

Axure is also Windows only, but appears to have some very advanced features to allow fully-functional interactive mockups with collaboration. Axure is a bit more expensive compared to the other listed solutions, but seems to be pretty comprehensive. Thanks to Enda in the comments for the tip!

That's all for now but let me know if there is anything else out there. Enjoy!

Wednesday, January 28, 2009

Happy 25th Birthday, Macintosh!

It's the 25th birthday of the Mac, and I for one hope I can use a system as good as my Mac for 25 more years. Omedetou! Thank you Apple, for bringing so many good things into this world.

Monday, January 19, 2009

Rick's Picks (weekly)

  • Scott Ambler shares some Agile project planning tips. Good advice in here. --Rick Cogley From the site - My goal with this article is to share good project planning practices which I find to work well in practice. A fundamental difference between agile project planning and traditional project planning is that agile project planning is very collaborative in nature: the team is responsible for planning, not just the project manager. In this article I discuss: 1. Scheduling Tips * Iterations 2. Estimating Tips 3. People Management Tips 4. Agile Metrics Tips 5. Some Humor (Perhaps) 6. Training

    tags: agile, projectmanagement, estimating, scrum, management

  • PHP can be called from the command line. This page shows how to create a shell script to call PHP code. You could call this in a shell script, for instance and schedule it via cron. From the site - This tutorial is intended for anybody who wants to write PHP Scripts that don't require a webserver (neither Apache Web Server nor Micrsoft ISS). PHP CLI can be used for a wide range of things. After you read this tutorial, you able to write your own PHP CLI scripts.

    tags: php, cli, command line interface, shell script

Posted from Diigo. The rest of my favorite links are here.

Monday, January 12, 2009

Rick's Picks (weekly)

  • Wow, this is a cool mashup of social networking and expense tracking. From the site: Wouldn’t it be great if you could at least use those tools to help you get some of that work done? Xpenser, developed by Trastr Inc, allows for a number of different tools to be utilized to keep track of expenses.

    tags: xpenser

  • Big list of web-based PM software. From the site: Web-based software can surprisingly increase performance, productivity and efficiency within an organization. Since web-based applications can be accessed through any web browser, no desktop installation or updates are required. Web-based applications require to be installed on a server, which is most of the time hosted by the software developer. Moreover, certain providers even offer Intranet solutions, which can be installed on your own server. Our directory lists developers who offer effective, 100% web-based business tools. Their applications are accessible by users from any computer, at anytime, from anywhere. Our team of web-based application specialists have already reviewed some of the applications listed on this website. If you have no time to spend on evaluating several tools, you can read our software reviews to get a quick overview of featured applications. The reviews include strengths, key features, screenshots, etc.

    tags: web2.0, software, project, timesheet, projectmanagement, project management

  • Very useful article on estimation. On Grenning's "Planning Poker". From the site: The best way I’ve found for agile teams to estimate is by playing planning poker (Grenning 2002). Planning poker combines expert opinion, analogy, and disaggregation into an enjoyable approach to estimating that results in quick but reliable estimates.

    tags: grenning, planning poker, project management, estimation

  • Can Agile be applied to systems integration projects? Yes and no. --Rick Cogley From the site: Agile is not for everyone or every project. There are some requirements for it to be successful that fly in the face of a lot of the established norms for IT projects and implementations. That’s not to say you couldn’t use Agile for such projects, but unless everyone involved clearly understood the Agile requirements, it would not likely be an unsuccessful attempt. What are these requirements?

    tags: smoothspan, project management, pm, agile, scrum

  • Some thoughts on using AGILE / SCRUM techniques for non-development projects. -- Rick Cogley From the site: The other night, I was at a get together of some regional ArcGIS developers. They asked about Scrum and we started talking about the requirement that every iteration must produce some potentially shippable product increment. Being GIS folks, someone asked how you would apply that “rule” to non-development GIS projects. It made me sit back and think for a bit. So, out of curiosity, and to find out if anyone out there used an Agile approach to these types of projects, I searched Google using several appropriate search phrases. To my astonishment, I couldn’t find a single reference to anyone using Agile methods for non-development GIS Projects. In fact, most led me to very rigid, stepwise, waterfall approaches to GIS project management.

    tags: edgehopper, scrum, agile

  • Seems like a good online PM software. From the site: Web Based Project Collaboration DeskAway gives you an accurate view of your project progress and eliminates common problems when working in teams: email spam, multiple file versions, lost files, task accountability issues, lack of clarity & work transparency. DeskAway is an online software, so, there is nothing to download or install on any computer. All you need is an Internet connection and a web browser. Our Vision Our vision is to provide simple, powerful and affordable tools that help people work smarter.

    tags: deskaway, project management, online

  • From the site: Project portfolio management and project management software for the midmarket. Until now organisations were locked out from the benefits of PPM due to expense and complexity. Enter TeamWorks - PPM software with a low cost of ownership that can be up and running in days.

    tags: iplanware, management, project management, teamworks

  • Vertabase is a solid-looking online or self-hosted PM solution. No invoicing, but it seems to cover the basics. Could not find the way to change currency to Yen or to get it to allow Japanese characters to be saved, as the demo "munges" them into ??? marks.

    tags: vertabase, project management, web2.0

  • ANother online PM tool. Looks interesting. From the site: Tasks Pro™ is a robust, multi-user, web-based task management solution to effectively coordinate and organize your professional and personal projects. You work with a team of people who all play a vital role in the success of the project. You have multiple projects with various teams working simultaneously. You need a collaborative solution that allows each team member to successfully manage their tasks and gives you insight into the project’s progress. Each person needs access to a centralized task manager from a variety of computers, PDA’s, and web-enabled phones - perhaps from all over the world. Tasks Pro™ is your solution.

    tags: crowdfavorite, project management, tasks pro

  • Project management software @task. Mother lode of features, but complex. Multilingual and well regarded. No invoicing included. From their site: @task is web-based project management software that helps companies get work done. You' ll love how easy it is to get more from your teams and bring your projects in on time and on budget. Use @task to plan your project life cycle and provide your teams with the project management tools they need to succeed.

    tags: portfolio, @task, attask, project management

  • Solid-looking java-based team collaboration / project management software. Teamwork is a proven, reliable and friendly web based software solution for managing work and communication in any field. Groupware and project management features are used in an integrated environment, from which you can coordinate and manage hundreds of projects at once. Teamwork is easy to use, so that an extended team can contribute; it is also capable of handling complex projects.

    tags: teamwork, software, project, projectmanagement, twproject

  • If you use Google Mobile for iPhone, go to its settings and keep trying to scroll down past About. You get a little easter egg reward in the form of a "bells and whistles" menu. Nice! -- Rick Cogley From the blog: One evening in Zurich, after a late night cake run, we decided that our iPhone app, Google Mobile App with Voice Search, could do with a little bling. The result of this is a few extra options hidden below the preferences on the Settings tab. Trust us, they're down there... it just might take some perseverance to get to the bottom of things. Just keep trying!

    tags: google mobile, iphone, easter egg, bells and whistles, settings

Posted from Diigo. The rest of my favorite links are here.

Tuesday, January 06, 2009

Easter Egg in Google Mobile for iPhone

Google Mobile iPhone App Easter EggIn the official Official Google Mobile Blog post Ring in the New Year with Bells and Whistles, the Google Mobile for iPhone team points out an Easter Egg that you can use to get some additional features in Google Mobile. Just open the app, tap settings, then scroll past About. Eventually, you'll see the additional menu item "Bells and Whistles" appear, so keep trying. Nice!

Monday, January 05, 2009

Rick's Picks (weekly)

  • The mother lode list of online project management apps.

    tags: project management, apps, list, pm, wrike, intervals

  • If you want get a list of your users on Open Directory in Leopard Server, you need to use the dscl or dscacheutil from the Terminal. SSH to your server, and do a sudo bash or su - to get into root mode. Then you can run the commands directly with their arguments, which I show in this post. -- Rick Cogley

    tags: rick cogley, dscacheutil, dscl, open directory, users, terminal

  • If you administer OS X servers, chances are the holidays are a time when projects to perform IMACs (1) are often done. Projects that involve moving drives or data. On Leopard Server, to get a clean start for 2009, there are a few command line techniques to note regarding permissions for files and folders. Note, setting permissions in Finder on OS X Server is notoriously buggy, so 9 out of 10 administrators (in white coats, of course) recommend using the command line. Try it: your friends will envy you and the girls will admire you. But first, a word about how permissions work in Leopard Server.

    tags: rick cogley, os x, leopard server, permissions, chmod, chown, finder

  • Apple KB article on problematic trash and other anomalies. Worth bookmarking. --Rick Cogley From the site: In Mac OS X, each user account has a separate, invisible Trash folder that is in the home folder. When you view contents of the Trash, you see only items you placed there and not the Trash folder of any other accounts. If other writable volumes are present, you may also have individual Trash folders on these volumes.

    tags: apple, trash, kb

  • I use a combination of tools to keep organized, but these paper files are pleasantly analog. Give them a look. --Rick Cogley From the site: "The Printable CEO™ (PCEO) was born from a desire to focus my time more productively. For me, that means things that make my freelance practice sustainable and fun. The Printable CEO name comes from the idea that a good CEO should focus primarily on those things that move the company forward; since I can't afford to hire my own CEO, being able to print one out seemed like the next best thing! :-) In general, I use only one form at a time depending on what my * High Level Goal Tracking for Freelancers and Small Business Owners - Use the Concrete Goals Tracker (CGT) * Project-level Task Tracking - Use the Task Progress Tracker (TPT) * Realistic Daily Planning - Use the Emergent Task Planner (ETP) * Keeping Track of Planned versus Unplanned Stuff that Happens - Use the Emergent Task Timer (ETT) * Keeping Track of Individual Task Assignments - Use the Task Order Up (TOU)"

    tags: david seah, printable ceo, pceo, paper

Posted from Diigo. The rest of my favorite links are here.

Thursday, January 01, 2009

Cleaning House on Leopard Server

If you administer OS X servers, chances are the holidays are a time when projects to perform IMACs (1) are often done. Projects that involve moving drives or data. On Leopard Server, to get a clean start for 2009, there are a few command line techniques to note regarding permissions for files and folders. Note, setting permissions in Finder on OS X Server is notoriously buggy, so 9 out of 10 administrators (in white coats, of course) recommend using the command line. Try it: your friends will envy you and the girls will admire you. But first, a word about how permissions work in Leopard Server.

(1). Install, Move, Add or Change.

The Concept of "Effective Permissions"

A user's "Effective Permissions" are the combination of their POSIX access plus their combination or union of relevant ACL allow entries, less their union of relevant ACL deny entries. That's the original Unix base permissions combined with the effect of the Apple Access Control Lists.

Effective Permissions = POSIX + ACL Allow - ACL Deny

It should be noted therefore that ACL Deny entries have the most power and override ACL Allow entries or POSIX permissions.

What happens when a new file or folder is created in a Leopard sharepoint? Here's how it ends up:

  • POSIX owner - the user who creates the item.
  • POSIX group - the POSIX group of the enclosing / parent folder.
  • POSIX permissions - set by umask (where 0755 is the default).
  • ACL - If any ACL entries on the parent folder have either or both of the file_inherit or directory_inherit controls, then the newly-created item will inherit those ACL entries.

If you are setting permissions on already-created objects, it's critical to note that Finder permissions operations are buggy. I have had decent success with Server Administrator's "Sharing" section (per server, not service) permission settings for sharepoints, and with CLI commands. Either way, you must be sure to propagate any changes: if in Server Administrator, that selection's in the little gear icon, and if from the CLI, that's usually done with a "-R" on the command, for "recursive". The caveat is, for child objects, permissions will propagate only when the child item is not in use (i.e. is not locked).

A New Year's Cleanup Scenario

Let's say a client has asked you to take a drive of old data and share it. This data was collected up from various places, and has been connected to various systems. Your task is to hook the drive up to a Leopard Server, and share it via SMB or AFP. Several commands come in handy here. Let's take a look.

See what you've got. If you take a look at a drive that has been swapped around from machine to machine, it might have a fair amount of detritus, being a mix of permissions, ACLs and owners. A simple ls command can show you what you have in terms of POSIX permissions and ACLs, with these commands respectively.

ls -la
ls -el

The ls -el command is similar to -la, but just shows the ACL if it exists. This is what it might look like, with a typical POSIX perms line showing the group and owner as "_unknown", as well as a couple ACL entries:

fire-server:data administrator$ ls -el
total 1
drwxrwxr-x@ 116 _unknown  _unknown  3944 Dec 29 21:24 our-2008-data
 0: user:administrator inherited allow list,add_file,search,delete,/
 1: group:acme-biz inherited allow list,add_file,search,delete,add_subdirectory,/

Recursively unlock. Because you need unlocked files to perform permission settings, you can start by recursively unlocking a folder, like this. Use sudo if you are not logged or su'ed in as root (run "sudo bash" to do this but be careful), and you can unlock files in an entire volume by cd-ing to /Volumes first if need be.

chflags -R nouchg /path/to/folder

Remove OS X ACLs. To get the volume or folder down to just POSIX permissions, use chmod with the R and N switches to remove ACLs in Leopard.

chmod -RN /path/to/folder

Confirm ACLs are gone. To view ACLs in Leopard, use the ls command with el switches. If they are gone, they will not show up as shown above, and you'll just get a typical "ls -la" directory listing.

ls -el /path/to/folder

Set POSIX owner and group. Leopard's basic permissions are your administrator account that you set during the OS X install (say, "admin" for this example), and "staff" as the group. Change the owner to admin with the main group as staff.

chown -R admin:staff /path/to/folder

You can also use chgrp to change the group. Now when you do an "ls -la" on the folder, you'll see that admin and staff are set.

bash-3.2# ls -la

total 1

drwxr-xr-x@ 7 admin staff 306 Jan 1 19:17 our-2008-data

Set POSIX basic perms. You can set the umask back to default this way.

chmod -R 755 /path/to/folder

Next, let's take a look at setting ACLs.

Set ACLs on top of Basic POSIX Permissions in Leopard Server

Enable Extended Security on a Volume. Leopard has extended security on volumes set by default, but if you are working with a volume on a OS X Tiger server, you need to run fsaclctl to enable extended ACL security. Check the manual of this command to see how to disable. The command still works on Leopard, and you could use it to disable ACL permissions for whatever reason.

sudo fsaclctl -e -p /Volumes/Drive2

Then restart your server.

Set ACLs the Easy Way. If you're CLI shy, you can set ACLs in Sharing in Server Admin. Here's how:

  • Start Server Admin
  • Select the Server, and click the File Sharing tab.
  • Select the SharePoint, under which are the folders you want to set ACLs to, assuming the SharePoint is created.
  • Select the Permissions tab at the bottom, and set the ACLs with the plus and minus buttons (see the user and group list come up at the right). For POSIX drag on TOP of the existing three entries.
  • Click the gear button at the bottom, and choose Propagate Permissions.
  • Wait until it finishes.

Or you can do all of that from the command line. Use chmod to add a new ACL entry to the appropriate parent folder, while also propagating that entry to the folder's children by using the recursive (-R) flag. This command grants the "acme" group Read & Write permissions (with inheritance) to /Groups/ACME/Documents/our-2008-data :

chmod -R -v +a "acme allow readattr,readextattr,readsecurity,list,/

Here's how you would add the default spotlight permissions to our /Groups/ACME/Documents/our-2008-data :

chmod -R -v +a "_spotlight inherited allow list,search,file_inherit,/
directory_inherit" /Groups/ACME/Documents/our-2008-data

Let's say you want to remove just the "everyone" ACL from the folder. To do so, use -a instead of +a:

chmod -R -a "everyone allow list,add_file,search,delete,/

And again, to remove all ACLs use :

chmod -RN /path

To remove a given path completely, use "rm -rf", thusly:

rm -rf /path/to/folder

With the above commands you should be able to straighten out any problems you might have with permissions. I hope this is helpful to someone out there. Please give me your feedback in the comments, and Enjoy!