Reflections on Custom Report Development

3 Jun

As a junior software developer in my first few months out of school, it’s exciting for me that a product that I worked on has reached the end client.  Creating a custom report page has been a long process, but a great experience.

A month ago, I was assigned the development of a new report page, the Snapshot Portfolio page.  It was to be a quick overview of a portfolio, showing the portfolio’s activity, rate returns, allocations, and growth information.  I was provided with a mockup and a meeting to review the requirements of the page.

mockup

For the next two weeks, I coded charts and tables to match the mock up as closely as I could.  I tested the new page on portfolios spanning several companies.  On Friday that week, I prepared several reports showing the new page and demonstrated my work to members of the development and consulting teams.  Reactions to the initial version of the new page were very positive, and helpful feedback, suggestions, and enhancement requests resulted from the demo.  Even though co-workers had hinted to me that a mockup is only a stepping off point of any new page, I admit to being surprised at how many changes were requested after I’d matched the mockup so closely.

firstdraft

One of the most challenging elements in the development of this page was the creation and fine tuning of the growth chart.  Although a simple chart in excel, coding the component (which included two charts each on two axes, three sets of labels, and a legend) proved to be a challenge.  In the progression of the chart, the color scheme was changed several times, the bar styles were changed, the axis labels were changed, and at one point the chart values were even displayed normalized!  Throughout this process, I had my fingers crossed that my next color combination would be the winning one.  Frustrating though it sometimes was to have my early color choices called psychedelic, in the end, the final color choices looked great.

graph1graph2

graph3graph4

Over the course of the next week, I completed the requests for enhancements and changes I’d gotten at the demo and from later emails from the consulting department.  The page was ready to be deployed for Advisor testing.

Once deployed, we started getting instant feedback from advisors.  Although a “snapshot” page was originally requested, advisors saw the page’s potential to display more customized information to be consumed at a glance.  Requests started pouring in for more options.  As well as showing high level investment segments, advisors wanted to be able to show more detailed segments.  They also wanted to control the number of benchmarks displayed.  One thing that upset me during this portion of the project was receiving a request that I just could not implement.  One firm wanted some very large asset names displayed and I found I physically could not fit the long names in addition to the other required page information.  I however, managed to squeeze several extra characters in.

When all of these changes were implemented, the final page looked like this:

final page

Although I am now working on other projects and the page has been available for several weeks, it continues to change and grow.  I recently implemented a parameter that will allow an advisor to hide the allocation chart.  Since finishing this page, I have worked on several more page customizations.  Some of the page customizations have involved me editing existing pages, which always includes the risk of breaking pages that are currently working.  I think if the practice of making customized and customizable pages is to continue we will need to make changes to how our pages are created.  It feels like there is a lot of risk involved in making changes to a heavily used page and that to mitigate this risk I have needed to duplicate a lot of code.  I feel like the recent parameterization of the pages is a great step in keeping customizable pages a viable offering.  I imagine as more innovations make our report engine even more flexible,  I will soon be working on many more customizable pages and custom enhancements to current pages.

One Response to “Reflections on Custom Report Development”

  1. Jamie McIntyre (@Jamie_McI) June 3, 2013 at 6:13 pm #

    I loved your perspective on the iterative process. I, of course, cringe when I read the parts where we have room for improvement. The flip side, is that kind of openness helps communicate who we really are. Great post, Leah!

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: