Tuesday, April 28, 2009

Versioning

There is now a very nice versioning feature in ProjectTraXX. It supports the rolling-wave planning technique.

While everybody is working and reporting on the current version of the work-plan one can change, add details or cancel open tasks in a separate version of the work-plan.

Once the plan reaches the next level maturity it can be promoted from the "planning" to the "execution" stage. Of course all time-bookings as well as maintenance operations (ETC, closed tasks) remain in place for the new version.

A history-page provides detailed information on the project's KPIs and how they changed between versions. On all views for the project-plan you can switch between the different version and choose to work on the lates version that is in "planning" stage, the current version in "execution" or other older versions.

This feature will be one of the more powerful enhancements to traditional tracking - especially when combined with the import / export of MS Project Files in XML format.

Thursday, April 16, 2009

Virtual Test Teams

Are you already a member of the virtual test team? If not - contact me :-) You will benefit through a persistent user on the server, a TRAC account to record your findings and totally free access to the ProjectTraXX in 2009.

Obviously there is a staggered delivery strategy for the given functionality to the virtual test team. This is what is delivered as of today - which is equivalent to the current implementation status (I got the feeling I need to justify the long silence in the Blog):


  • Accounts
    • Register a new user and create a new account
    • Invite a new user to your account
    • Edit user-data
    • Deactivate users
    • Purchase something via Pay-Pal
  • Projects
    • Import work-plan from MS Project as XML
    • Import work-plan from Excel - custom format!
    • In Place editing for project-names, tasks (names, start- / end-date, effort, kpi-relevance)
    • Editing of WBS structure (up / down, add / delete)
    • Calculate and view demand for resources over time (Resource Histogram)
    • Calculate and view the effort of planned-start and planned-finish tasks over time (KPI Graph)
  • Teams
    • Create Teams for projects
    • Assign memberships for users to teams ()
    • Assing responsibilites to teams
    • Calculate and view teams capacity over time
    • Calculate and view demand for team-resources over time
    • Match team capacity and demand

Some technical things worthy to be mentioned:

  • Running on latest rails version
  • Host available at http://www.projecttraxx.com/
  • TRAC available for WIKI pages and bug-tracking at http://trac.projecttraxx.com/trac/projecttraxx.cgi
  • Featuring AJAX stuff based on build in helpers for scriptaculouse and prototype
    • In place editing
    • Autocompletion
    • Visual effects (show, hide, flash)
    • Insertion / deltion within DOM structure
  • Linear run-time for all requests
  • Tuned SQL queries (execution-time and number of db acces)
  • Speed: Not a single request > 0.5 sec. calculation time on the server (locally)

As soon as I am back to work I will try this baby out for real - and I am looking forward to it :-)

It's been a while

Ever since the last update (which was almost two weeks ago) heavy programming and designing took place. During which I discovered some insights on agile development that I want to share:

  • If stuff is easy you can just go ahaed and code it and feel quick & agile
  • If stuff is complex you can go ahaed and code it - but you will get stuck somewhere tricky and get frustrated

In the end these are agile iterations. There is nothing bad with that. You just have to get used to the feeling when things don't work out because of a missing design. Then it is hard not to get frustrated but to step back and do some design - and continue afterwards with a clear vision.

In case you are a bit behind the schedule and have an excellent ass-kicker chasing you (thanks Boris) it is even harder to stop coding and think about the solution.

However I heard, that you need that special coolness to play in the first league. I am working on that!

Friday, April 3, 2009

It's the little things that kill

Ever since last Sunday we have been working on completing our 2nd milestone: basic project setup as well as the paypal integration.

For the basic project setup the nested-set-model for hierarchical data turned out to be very efficient and easy to handle. Only with adding and subtractnig the correct values from the lft and rgt values one can move entire sub-trees around - this requires no more than three update statements. We like that.

For the paypal integration we use a gem called ActiveMerchant. Only after local tests the new version was uploaded to the server ... and ... bang ... did not work.

My first thought: Another environment problem that will take another week to fix (it did).

However instead of chasing around support guys and being miserable (again) I analyzed the setup to finally find the differences between the server and my local environment, that cause problems. After a while I remembered that there was that new rails version 2.3.2 that was released just after the beginning of the implementation. Of course I upgraded to the new version immediately - well - at lest partly.

There is some new stuff in 2.3.2 like syntax concerning includes, requires and rendering partials. Locally all worked well because version 2.2.2 was still used in the environment setup. On the server 2.3.2 was in use and all the differences poped up.

So I migrated the whole application from 2.2.2 to 2.3.2. I discovered it is quite a lot already - although far from complete. Some things need to be reorganized in order to have nice and clean setup. Oh well - in the end we are agile ...

The whole migration took from Wednesday to Friday (okay ... with a couple of beers in the park) - It's the little things that kill.