Support this system. Also, you're not allowed to change anything.



  • In my previous employment, there existed an ASP.NET system to track safety and training information. It’s operation was simple data-in/data-out, but was built by a set of contractors that took the lazy approach to pretty much everything. An example of this is when they needed to integrate with the personnel system. Their solution was a once-off import of Employees table from the personnel system into their database. No synchronization, no replication, no strategy for updates. They were praised for how quickly the integration was completed.

    The system’s underlying DB schema suffered from poor design and didn't exactly match the business model. As a result, users employed more ‘creative’ methods of entering data to preserve the relationships. Multiple copies of data went in, and semi-usable reporting data came out.
    But the safety officer needed usable data for his reports, so he followed the chain of command and his case was finally heard by management: records were being duplicated, incident totals were incorrect and employee information was out of sync for some reason. Management held meetings, action items were agreed on and progress completely failed to happen.

    In response, the safety officer got himself a book on VBA and demanded a publicly accessible stored procedure which he used to populate all data to an Excel sheet. And when I say “all”, I mean “everything joined to everything for all history.” The resulting code and pivot tables clearly demonstrated the learning curve and the “Refresh Data” button took 20 minutes to complete, but the safety officer was now able to generate mostly functional reports and shared his Excel Reporting Application to the rest of his department.

    When the contractors left, I was charged to take over support of the system and there was a lengthy period of confusion as support tickets were logged for an ASP.NET system that described VBA runtime errors. Management was initially surprised at the reporting application’s existence, but imposed an interim solution while they scheduled meetings to determine action items: The Excel Application fell within scope of the system and was my responsibility. In addition, I was forbidden to modify the VBA code in any way because only the safety officer knew how it worked and wasn't about to let anyone near his creation. In addition, I was forbidden to modify the system or database as the Excel Application was dependent it’s every bug and nuance.

    A year later, IS management began an initiative to action all un-actioned action items and the system’s redesign was assigned to another set of contractors. The lack of data integrity was resolved, information was cleaned and a really nice looking web UI replaced the old one. However, all this happened without management actually speaking to the users. The fact that the old system didn't successfully support the business processes in the first place never made it into the requirements and the redesigned system, while much more stable and easier to work with, still couldn't produce usable reports.

    But IS management had a solution: the new system was deployed, the action item was marked complete and a publicly accessible stored procedure (joining everything on everything for all history) was provided to populate data to an Excel sheet.


  • Considered Harmful

    Another Excel success story.



  • @MoSlo said:

    A year later, IS management began an initiative to action all un-actioned action items and the system’s redesign was assigned to another set of contractors. The lack of data integrity was resolved, information was cleaned and a really nice looking web UI replaced the old one. However, all this happened without management actually speaking to the users. The fact that the old system didn't successfully support the business processes in the first place never made it into the requirements and the redesigned system, while much more stable and easier to work with, still couldn't produce usable reports.

    But IS management had a solution: the new system was deployed, the action item was marked complete and a publicly accessible stored procedure (joining everything on everything for all history) was provided to populate data to an Excel sheet.

    The optimal solution would have been to create an Excel spreadsheet that loads the nice web GUI in the first worksheet, and build the missing features in native VBA.



  • @Ronald said:

    @MoSlo said:
    A year later, IS management began an initiative to action all un-actioned action items and the system’s redesign was assigned to another set of contractors. The lack of data integrity was resolved, information was cleaned and a really nice looking web UI replaced the old one. However, all this happened without management actually speaking to the users. The fact that the old system didn't successfully support the business processes in the first place never made it into the requirements and the redesigned system, while much more stable and easier to work with, still couldn't produce usable reports.

    But IS management had a solution: the new system was deployed, the action item was marked complete and a publicly accessible stored procedure (joining everything on everything for all history) was provided to populate data to an Excel sheet.

    The optimal solution would have been to create an Excel spreadsheet that loads the nice web GUI in the first worksheet, and build the missing features in native VBA.

    Bonus points if you recreate the entire GUI in Excel. You can make nice multistate objects that change colour and/or shape using the "Radar" plot type and a few extra shape objects. Making text visible/invisible is as easy as putting it in the data label for a point on a "Scatter" plot and then moving the point outside of the plot area's defined limits when you want to hide the label. Here, see:

    ...that's a 3-series radar plot (red, green, and the outline - the only thing that changes is the shape of the green series), 5 rectangles, 3 lines, and a scatter plot with one series containing one point with the data label "?", all controlled by the text in 1 cell.



  • @anotherusername said:

    ...that's a 3-series radar plot (red, green, and the outline - the only thing that changes is the shape of the green series), 5 rectangles, 3 lines, and a scatter plot with one series containing one point with the data label "?", all controlled by the text in 1 cell.
     

    I'm pretty sure that's an animated GIF.


  • ♿ (Parody)

    @Mcoder said:

    @anotherusername said:

    ...that's a 3-series radar plot (red, green, and the outline - the only thing that changes is the shape of the green series), 5 rectangles, 3 lines, and a scatter plot with one series containing one point with the data label "?", all controlled by the text in 1 cell.
     

    I'm pretty sure that's an animated GIF.

    Another Excel denier!



  • @Mcoder said:

    @anotherusername said:

    ...that's a 3-series radar plot (red, green, and the outline - the only thing that changes is the shape of the green series), 5 rectangles, 3 lines, and a scatter plot with one series containing one point with the data label "?", all controlled by the text in 1 cell.
     

    I'm pretty sure that's an animated GIF.

    Correct, but it's a screenshot from Excel, I promise! (Actually 4 screenshots stitched together into an animated GIF.)



  • @MoSlo said:

    began an initiative to action all un-actioned action items

    The funniest thing I've read all day. Bonus points for using the word "action" three times in one sentence.


    Lets create a contest -- make up new meanings for words rather than use the ones that are already there. First entry: "Decided to fix the broken things" becomes "began an initiative to action all un-actioned action items".


    I'm still not done laughing my head off.



  • @DrPepper said:

    @MoSlo said:
    began an initiative to action all un-actioned action items

    The funniest thing I've read all day. Bonus points for using the word "action" three times in one sentence.


    Lets create a contest -- make up new meanings for words rather than use the ones that are already there. First entry: "Decided to fix the broken things" becomes "began an initiative to action all un-actioned action items".


    I'm still not done laughing my head off.

    I like the word "leverage". Cause you didn't just "use" whatever you're talking about, oh no. The way that you used it was leverage-y! Any idiot could've "used" .NET, but to properly leverage it, well...! That takes some credentials...



  • @boomzilla said:

    @Mcoder said:

    @anotherusername said:

    ...that's a 3-series radar plot (red, green, and the outline - the only thing that changes is the shape of the green series), 5 rectangles, 3 lines, and a scatter plot with one series containing one point with the data label "?", all controlled by the text in 1 cell.
     

    I'm pretty sure that's an animated GIF.

    Another Excel denier!

    Probably a roller-coaster hater.


Log in to reply