Friday, May 30, 2008

Open Source Project Management - ITProjectGuide-PM

ITProjectGuide-PM v0.1.0 is now available at: http://itprojectguide.org/PMBase/demo
User ID: demo
Password: demo

Changes from initial release:
  • moved from Mootools to jQuery for javascript framework
  • cleaned up user interface
  • cleaned up html coding
  • corrected some bugs
This weekend: implement security (hoping). I'm still waiting for SourceForge to approve the project so I can post the code there. If anyone is interested let me know and I'll post it.

Thursday, May 29, 2008

Creativity


A somewhat uninteresting article:http://www.sciam.com/article.cfm?id=how-to-unleash-your-creativity

An somewhat uninteresting site (where the image came from): http://www.mindhacks.org/

My take on creativity:
  • the biggest barriers are ones you put in front of yourself
  • don't get stopped by failure
Be brave move forward

Monday, May 26, 2008

It's Here!


The very initial version of ITProjectGuide's Project Management Tool!
http://itprojectguide.org/PMBase/demo
User ID: demo
Password: demo

Based mostly on Web2Project which was based on dotProject..changes specific to ITProjectGuide-PM (or PMBase...still deciding on the name):
  • removed many extra fields (in my opinion) including costing and contacts and departments
  • removed the gacl (general access control layer) tables and code - lots of them. Security is wide open at this point...have fun
  • corrected some errors
  • created new theme (very simple and based on Web2Project)
Basically, I got use to the code and did some clean up. Once I fully test I'll release on Source Forge and start to make more modifications....including:
  • simplified security
  • risk management
  • deliverable management (check list)
Let me know what you think.

(image via http://www.mydd.com/story/2008/5/14/172047/342)

Friday, May 23, 2008

History of Nerd

“I’ll sail to Ka-Troo, and bring back an IT-KUTCH, a PREEP, and a PROO, a NERKLE, a NERD, and a SEERSUCKER, too!”

The Alpha Geeks by David Brooks

Thursday, May 22, 2008

You can't so don't

I've been recently working on a project management program (getting there)..and have started to wrestle with the security model. Basically it uses a standard gacl (general access control library) library (open source) that tries to deal with every likely possibility. The gacl idea is to allow modules to be defined and within each module 5-7 permission layers that can be set per user and/or group - for both access and denial of access - I know confusing. For example:
If you have an application with a Company module and user contact module and within each you can Create/Update/Delete (CrUD) and View then you have 2 modules x 4 actions x 2 possible settings (allow/deny) = 16 take that and multiply by the number of users - say 100 - and you get 1600 table entries for the security module (roughly speaking). Where the general idea of having a generic approach makes sense, the problem comes into play when you start to scale. I've seen similar modules used to support a 20 module system for 100,000 users producing 160,000,000 records in the security database.....basically killing the system.

The basic argument for using a generic gacl is that it provides a consistent framework and reduces code support and issues - and it's made to accommodate all potential needs.

Here's my issue with this:
  • there are always exceptions (what if there's a single field in a module that needs special security handling? for certain users? for certain data? (a bank system that does not allow tellers to cash out accounts for consumers with an 'interesting' criminal background)
  • it really doesn't scale well
  • it's so complex that handling it and implementing the model (each module would need it) takes time/effort and potential coding mistakes.
AND what if there were really only 2 types of users? updaters and viewers? Have a separate object yes - million of rows of security data in a complex security model....no.......

My advice - understand the needs and data prior to implementing an overly complex generic approach - YOU CAN'T ACCOMMODATE EVERY POSSIBILITY SO DON'T TRY - make the solution specific to the need.

(image from: exploring geometries)

Monday, May 19, 2008

Next steps to a PM tool...


Thanks to a comment from Keith regarding web2Project - a branching of dotProject - I've been able to make some significant advances on the 'simplifying' of dotProject. I'm trying to be as strict as possible - following Occam's Razor....some recent changes include:
  • removing any % progress complete - you're either done or not...(something beaten into me some years ago)
  • removing departments...it's a PM tool not a contact management tool
  • removing $ fields - it's a PM tool not a budget tool
  • setting project status to Initiation, Planning, Execution/Control, Closeout, Complete and On-Hold...PMBOK 101
  • setting company types to active and inactive (there were 5 categories...not sure why)
  • removing internal hard coding
Overall - the initial developers and those currently support web2Project seem to have put a lot of good thought and effort into the code base - but like to many cooks in the kitchen, the product seems to have gotten feature bloat. Let's see what damage I can do to it. Hoping to have the PM tool simplified by end of this week and then I want to tackle the security model

Friday, May 16, 2008

Start of a new venture


I was working with a company on setting up a project management system - the selected tool was dotProject. dotProject is an open source PM tool, one of the few complete one's out there - it has a wide (from what I can tell) user base - but compared to some of the commercial software (SmartSheet, QuickBase, etc.) - it really doesn't compare...but it's free and has potential. So, in talking with the owner of the company - a very pro-open source person (morals do count) - I decided to take a shot at 'cleaning up' dotProject.......above is my first pass at items I would like to accomplish.....

Hoping to provide progress reports over the next month or so...and potentially have it re-released (open source of course) in 6-8 weeks. This is the first open source venture I'm the primary developer on (getting out the ole' PHP reference book now). Should be interesting. Code Name: ITProjectGuide (creative - right?)