Where have I been? Post-mortem of Project QIF

QIF is an obfuscated name btw, though I assume some of you can guess what it means already :)

So, a 2-months project turned out to be a 3-months project…here’s what happened while I was MIA/Missing-In-Action in the blogosphere:

 

The Project

A picture is worth a thousand words, so here’s the one-diagram view of the solution we built:

Architecture_AplikasiTravelManagement  

Here’s the technology breakdown:

  1. Visual Studio Tools for Office (VSTO) + Excel 2007 are used to receive input & calculations from users.
  2. Using some Workflow (Orchestrations in Biztalk terms), a valid input from Excel is forwarded to SMTP so managers/directors/vice-presidents can approve via email, and especially their beloved Blackberry devices.
  3. Users, secretaries, HRs will use a Sharepoint site to check the status of approval and how many days it has been “pending for approval”.
  4. Finance and managers will use a Reporting Services Portal to check for graph data and statistics about how the money are spent and to whom.

The Why

As a solution provider, we just sew and knit the fabrics :) Recently I’ve been reminded that the WHY is important…for us it’s the reason we stay awake until 2am (and visit Burger King afterwards)..for them it’s the reason they wanted the solution implemented as soon as possible:

“Managers/directors/vice-presidents often go abroad 2-3 times each month. The old solution was to wait until they return to office so they can approve manually using handwritten signature. The new solution will allow no such delay: their Blackberries always roam with them, so make them approve via their Blackberries.”

The Lessons

So after 3 months of development time, here are things that should have made our lives easier :)

  • Do not start coding until the workflows have been finalized: this is ideal, but it turns out after a demo that they realized something was wrong with their workflow…so our demo actually showed a flaw in one of their workflows…so they “perfected it”. Unfortunately what it meant for us was doing some major changes to the VSTO and to the Biztalk orchestrations. Tough :)
     
  • Don’t underestimate UI complexity: at first it was a simple Excel with a Submit button..in the end it turned out to be an Excel with Winforms capabilities – ComboBox, GridView, the ability to show “Loading…” progress bars while downloading content from WCF, the ability to disable certain widgets when certain actions are performed sequentially, etc… We delivered what they want: an application hosted in Excel, but at completion we felt we should have poked the users more and demo-ed a Winforms or a WPF version earlier. That would have solved most of the HRESULT COMException errors that occurred due to concurrencies and inconsistent data in the GridView due to race-conditions.
     
  • Our Biztalk orchestrations have turned into spider webs, maybe some day I’ll post a screenshot of what that spider web looks like, but it’s ugly to look at and ugly to debug :) I know Biztalk was more of a system-to-system workflow thingy, and that K2 was more of a human-to-human & human-to-system thingy…so maybe we should have explored K2 first, knowing that our customer already has a K2 license and dev server set up.

 

Oh well, on the bright side, we have a solution that as a Microsoft (registered) partner is proud of…comprising of these cutting-edge technologies: Biztalk 2009, VSTO 3.0 & Excel 2007 (Excel 2010 was launched after the project was deployed..too bad), Microsoft Office Sharepoint Server (MOSS) 2007 SP2, and SQL Server 2008.

Thanks to Armanovers who were working-hard-at-night, snoring-in-the-morning-car-pool, and sleeping-in-the-couches-of-client-office….time to rest from custom development and back into product development :)

Share this post: | | | |
Published Tuesday, May 18, 2010 3:53 PM by zeddy
Filed under:

Comments

# re: Where have I been? Post-mortem of Project QIF

Tuesday, May 25, 2010 10:26 AM by ronaldwidha

I always think post mortem sounds like the project ended miserably. Reflection or retrospective sounds much more positive.

language shape how we think

Powered by Community Server (Commercial Edition), by Telligent Systems