Saturday, May 2, 2009

1st Survey

It is really nice that 4 of all the zillions of blog-readers participated in the last survey. FYI: surveys are on the right. In case you did not mention - there was a survey - and there is a new one again.

In the last one we tested the market for readiness towards our solution. The question was: "Did you already find the one tool for succesful operative project management which features an intuitive user experience and precise results?".

We are thankful for the support, trust and faith in us from the 4 people who did participate last time. None of them found their silver bullet for project management yet. We will supply it soon: the one tool for project management that features an intuitive user experience and precise results.

Check out the right for our current survey...

Moved to the Netherlands

Out data-center (server) was moved from Dallas (hostingrails.com) to the Netherlands (railscluster.nl).

Dallas was cheap but slow. A pain to use the application. And obviosly latency is a bit high from here to Dallas and back - at least higher than to almost anywhere else.

The Netherlands are inexpensive and quite quick. Feels almost like it runs lokally :-) Very good choice.

In case you are looking for a good rails hoster go for railscluster.nl - they offer 30 day free trial.

Don't worry - you don't need to change your way of using ProjectTraXX. The move was made on the last public holiday with a minimum of downtime when the DNS was changed. I bet you did not even mention anything but the performance increase ;-)

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.

Saturday, March 28, 2009

Environment issue solved

Aaaaaah - after three days of struggle the support team decided to install the appropriate version of the XML library on the server. And now everything works. I feel unleached - and able to focus on the important stuff!

Upload them MS Project XML files and check the results. It is not necessarily pretty because all the CSS styles have bright background colors. Mattäus will hopefully fix this. But we need this to see where things go.

Friday, March 27, 2009

AJAX

Finally the first AJAX stuff is working. This is the success that will save my Friday night :-)

Unfortunately I can't share it with anybody due to the environment problem ...

Environment issue

My own little project is just a mapping of the big world out there:

Ever since Wednesday I am experiencing environment problems. Whenever I am uploading and processing a XML file that contains MS Project data the server uses up 100 % CPU and some memory but never responds. Only after the process is killed resource-consumption relaxes again - naturally the server's respons is still missing.

Locally (of course) everything works fine.

In fact that bug impacts the cost per day for the server. It did raised from 40 cents (before Wednesday) to 80 cents (with the bug).

The support team is working on it. I trust them as much as I trust other environment teams ...

Thursday, March 26, 2009

TRAC

As of today there is a TRAC installation on our host where you can actively participate in Knowledge-Sharing (WIKI), report errors or improvements (Bug-Tracking) and check the delivery milestones (Roadmap).

Check out the important links at the left to get to our dedicated TRAC.

Please contact me to request a user.

Wednesday, March 25, 2009

Hierarchical data in relational databases

Obviously there will be a work-breakdown-structure (WBS) in ProjectTraXX. Which brings up the question of how to store effectively hierarchical data in relational databases.

There are bright people who did think about that before. In case you are nurdy enough: Check this article out.

ProjectTraXX can now import WBS from a MS Project XML file and add information for the "Nested Set Model" to it. We will make it look neat tomorrow and add some basic operations within ProjectTraXX (add, delete, move, etc.).

Tuesday, March 24, 2009

projecttraxx.com

On Monday the server-setup was completed and all the stuff was deployed on our server. You can access our (currently) tiny application at projecttraxx.com now.

Honestly - I could call the site all day and look at the welcome-page. Just because we made it.

Feel free to register, try stuff out and send me bug-reports via mail that follow which format:

  • Steps you did (please start with the login)
  • Expected results
  • Actual results

If you proove to be a worhty testing-community (that is after 100 bugs) there will be a propper bug-tracking system. Let's not rush it yet.

GIT - Update

To be more precise on GIT: We were on GitHUB which implies a small fee for non open-source projects. But on Monday we moved and quickly installed GIT on our own server. This way we save money and feel more exclusive by accessing our sources at projecttraxx.com :-)

To be honest: Once you know how it works it is not that hard any more. So I reduced the post below. There are enough turorials out there - you don't need me for that.

Friday, March 20, 2009

GIT

We are on GIT - finally.

Configuring a UNIX client under Windows VISTA is a pain. Especially since you need to generate and add public/private keys for secure SSH. Not that command-lines drive me crazy. But having documentation for UNIX and some kind of prepackaged emulation for windows led to investing the afternoon to get it up and running.

At least it was finished before the trip to the rosebud.

Tasks that are left for tomorrow: deployment with capistrano and sandbox PayPaling.

Payments

Bummer - Amazons payment services only work for the US. So the whole idea of subscribing to ProjectTraXX and receiving a monthly bill in your amazon account, where the amount depends on the number of user, is finally gone.

I am lacking alternatives of fast and easy ways of payment system integration. If you have any ideas feel free to spam me. Otherwise users will end up purchasing allotments of users for the next month or so via PayPal and do pre-payment.

Actually pre-payment is a nice thing from the seller's perspective...isn't is?

Thursday, March 19, 2009

Host and DNS Names ... only Deployment missing

Agile development is nice. I started this morning with a post and some features on this blog. Only afterwards I realized that the formerly top-secret name and target domain of our project is available on the internet. So the run for the very much wanted domain started (bummer). No Problem - we acted quickly and reserved two domains to start with:
  • projecttraxx.de
  • projecttraxx.com

While on the infrastructure side of live I decided to tackle the host as well. Got an out-of-the-box shared Ruby-On-Rails host at HostingRails.com and conected DNS and IP addresses.

Keep it cool - database and deployment are still missing - but you can call the DNS and you will see something like this page :-) I am feeling quick today ...

Coding with Ruby On Rails

ProjectTraXX's technology stack is based on Ruby On Rails with a MySQL database. Frontend stuff will probably be pure HTML with some AJAX script-libs. Now don't get a wrong impression - frontend decisions are well thought through - by Matz (@Matz: Where is your blog ???).

Ruby on Rails is a framework that supports very fast and agile development. It is great fun to code with it. Even though it is light weight compared to some Java stacks there is learning curve. That's probably due to my limited experience with coding (lately) and due to the fact that I am supported with only an old RoR book - the classic one - the one which is 1.5 years old. Which means: It is totally outdated.

So every once in a while (three times per hour) I google some exception-traces to catch a nurdy comment in a rails-forum that suggests to skip deprecated methods and move on with the much easier way it is done nower days ;-)

At the end of the day that's coding - and coding is fun. It is a lot of work, too. But - hey - I asked for it. So back to the roots and back to work.

Tuesday, March 17, 2009

Basic timeline

In case you are wondering why this post get's updated frequently: It is called rolling-wave technique. Later phases are detailed only at the time they bcome relevant. As this project is quite agile let me share our definition of later: later = next week ;-)

22.03.2009: After the first week we aim at basic functions and a stable development Setup:

Functions

  • Users, login, invites (done)
  • Restricted areas & Password encryption (done)
  • Payment with Pay-Pal (pending Pay-Pal approval)

Setup

  • Source code avilable through GIT (done)
  • Running on a hosted server (done)
29.03.2009 Upload of projects, attributes & versioning & editing of tasks are implemented and tested. ProjectTraXX is stored in a version-control system.

05.04.2009 Acces rights for projects, time bookings and review of the bookings are implemented and tested.

12.04.2009 Analysis for projects is implemented and tested.

There is a secon delivery thread for the GUI. This one will start in April and a basic timeline for that will be posted soob.

Realization starts

Finally the realization of this project starts (16th of March 2009). It only took 10 months to get started :-) I am looking at a two month break from the regular work and there are ambitious plans on how far to push this through a very agile development.

You will see more action on this blog now: There will be posts with delivery-dates, URLs as well as technical and functional information.

FYI ... During the last couple of months functional and technical requirements have been collected. Use cases have been recorded and are currently converted into a screen-flow / -design. The information is available on mindmeister.com.