Creating and Maintaining Effective Management Reports

A Man Deciding After Reading A Graph

Need to know total sales by region last quarter? Build a report. Need to know how many projects are currently over budget? Build a report. Management has a slew of questions that need answers?  Build more reports. Reports, reports, reports. We need more reports.

Sound familiar? Whether you’re in management requesting them, on the IT team building them, or someone on staff sifting through them, chances are your organization has a huge list of internal management reports or queries that just keeps growing.

When a manager asks questions no one has answers to, the usual solution is to create a report or query. But does anyone ever stop to consider the implications of writing a report? How much time it will take to develop and test, and what will be involved in maintaining it? There’s a common misconception that reports can simply be ‘whipped up’. If your organization tracks time, run a query to find out how much is spent building reports and queries. Uh-oh, don’t already have a query for that? Try asking your IT department how much work goes into writing reports before you dive into creating a query in your time tracking system. The discussion will probably take less time than the query, and there are some things numbers on a piece of paper can’t tell you.

Back to the problem at hand – your growing list of reports and queries. It’s important to realize, and communicate, that creating new reports take time. Even with a mature infrastructure for building internal reports, it still takes time. A few hours here and a few hours there can add up quickly. Here is a shortlist of things to consider before jumping to the conclusion that building a report or query is the best thing to solve your problem:

  1. Is this really necessary? Are you looking for information to solve a problem, or to satisfy your, or someone else’s, curiosity?  If it’s the latter, consider if it’s truly worth the cost and effort.
  2. Do you already have a report with this information? Maybe there is a report that was not specifically designed to provide the information you need, but the data could be extrapolated with a little creativity.  Maybe an adhoc, one-time query was requested sometime in the past? If you have a history of such requests, search it.
  3. When do you need the information? The time to build a report varies based on the complexity of your data and the complexity of the requested report. But a common misconception held by those outside of the IT industry (and by some within the industry) is that reports are easy. Some of the largest, most complex projects we’ve worked on have been ‘reports’. Consider situations where you are cross-referencing data between multiple systems – perhaps you need some data from your POS, your accounting system and your HR system. Now you are looking at some form of data-warehousing on top of your report and you’ve opened another can of worms. Of course, reporting can get complex even if the data you require is conveniently contained in one database. Throw in a few crosstabs and some aggregate functions and you add complexity to what, at first glance, seems the most simple of reporting jobs.
  4. Explore other avenues. Are there other ways to gather the information besides running reports? Here are a few different avenues you can explore:
    1. If you don’t need precise numbers, discuss or poll your coworkers – their past experience may be enough to give some rough figures.
    2. Check the internet. Let’s say you want to know which browser the majority of your customers are using. Sure, you could run a query on your own internet statistics, but this is the sort of thing you can assume is going to be similar to other companies, at least within North America. Web browser market share is readily available on the internet.
    3. Be creative with your existing systems. You want to know how many people live in a specific city but don’t have a report for it? Well, how about the search window in your system? Can you search by city, and if so, will the search give you a listing with a count? If so, problem solved.
  5. Maintenance. Ever consider how much it will cost to maintain a report? Well you should. If you build it, they will run it. And keep running it. And keep expecting it to return valid results. Unless you explicitly build it into your requirement that the report is for a one-time purpose only, a user will, at some point down the road, find the report and run it, so hopefully you include reports in your regression testing. We’ve seen many software systems with custom reports that don’t even run anymore, let alone return accurate data.

If you read point #2 (Do you already have a report with this information?) and thought to yourself, “yeah sure, there might be a report that does that but good luck finding it,” then you should consider building a report register. Have someone sort through your reports and document a short description of each. The format can be as simple as a listing in a Microsoft Word document (ok, this is another report but it’s well worth it). If you have multiple systems with reporting/query modules, combine them in your register. This is short-term pain for long-term gain. If you have custom built software, or user designed reports in your off-the-shelf software, you might be surprised (or not so surprised) to find you have duplicated reports. Having a report register will avoid duplication of work and, in cases where you already have a report for a given data request, it will speed up turnaround time.

The next time someone suggests building a report, pull out the above list and be sure it meets all the criteria before moving forward.

For a related article, please see the following:

The Report That Requirements Forgot: A Guide for Collecting Requirements for Reports

Why Hackathons are Important to Government

Recently, I had the privilege of judging the City of Guelph’s Hackathon which reached out to the community for solutions related to Waste and Transit.  With the City providing cash prizes, students, individuals and companies rose to the task and created some great apps using City datasets.  So, why is government interested in Hackathons?

Community Involvement

An essential step towards Open Government is establishing transparency and accountability. Gone now are the days where the inner workings of government are behind the curtain. Opening up integral data regarding activities and decisions allows the community to start understanding how and why the government works.  As that happens, the relationship will evolve to be more of a partnership, where we are collectively making improvements for service delivery.

Division of Labour

Government IT staff are typically overloaded with legacy systems and making sure the lights are kept on.  Only the highest priority items get addressed and the “nice to haves” end up on the shelf.  Students, techies and companies love to solve problems and if you organize it, they will often do it for free.  Allowing them to work away to help solve a problem also reduces the overall backlog of requests.

New Technology and Ideas

Let’s be honest, government is typically not using the latest and greatest technical languages and frameworks.  Adopting new technology is often difficult for larger enterprises, not just the government.  There are so many constraints and roadblocks that the government can’t be agile, but others can.  Whether it’s a small mobile development shop looking to showcase their skills or a student trying to learn by using the most recent open source framework.  These apps will augment the services offered by the government and will typically do it in an innovative way.

Sharing and Opportunity

Chances are, if one jurisdiction has a problem that needs to be solved, there are many with the exact same problem.  Sharing solutions not only saves time and money, it also creates opportunities for companies to sell apps to other jurisdictions.  Many apps allow for white labeling that will give each jurisdiction its branded look.

Hip and Cool

Let’s be honest, start-ups are hip and cool, and hackathons make everyone feel like they are on an episode of Dragons’ Den.  Who doesn’t want to potentially be involved in building the next hot product?

Strike while the iron is hot, let’s get more and more hackathons our there and build a better government.

The PMP Exam, Lessons Learned

Recently I studied for, wrote and passed the PMP certification exam. Along the way, a few things jumped out at me that I’d like to share with anyone interested in project management and considering taking the exam.

Communication is Hard
Brain Graph Of Pmp Lesson Benefits

I’m sure anyone who has worked on a project knows that the more people involved, the more critical and challenging communication becomes. That is intuitive, but if you look closer, the amount of communication required can actually be surprising.

There is a simple formula for calculating the number of communication channels on a project. A communication channel is just defined as communication between any two people on the project.

For example, if you have a 4-person project, there are 6 communication channels. But what happens if you add 4 more people to the project?

Well the formula is N(N-1)/2 where N is the number of people on the project. So for an 8-person team, the calculation looks like this: 8(8-1)/2 = 28. We went from having to manage 6 communication channels to having to manage 28. That is almost a 500% increase! Intuitively, we know that more people means more communication, but by using a quick calculation we can actually measure and quantify the difference.

Winning Negotiations

Another item that stood out to me was that negotiations should be win/win. There are countless books written by the titans of industry on how to win at negotiation. This was the first time I considered that negotiations should benefit both parties as much as possible because that is actually what is best for your project.

If you squeeze a supplier in a negotiation, there could be negative effects. For example, the supplier may have to cut their quality, or in an extreme situation, they may go out of business before completing the work you negotiated for. These scenarios could be disastrous for your project. Negotiations can and should be used to create incentives for suppliers. A contract can be structured so there are incentives based on total costs or an incentive paid for work completed early. Although at a glance, this may look like it is costing your project more money, it is very likely beneficial to have a supplier keep costs down or to finish deliverables ahead of schedule.

This is something MERAK has experienced in the past with fixed cost contracts. Fixed cost transfers all risk to the vendor which might seem like a good idea but in reality, it isn’t a great way to build a relationship with that vendor. There are many contract models between “fixed price” and “time and materials” which can be used to benefit both the vendor and the buyer. The key is focusing on win/win. Both parties should be happy with the contract.

The Past is in the Past

When you study the PMBOK, one thing that will be drilled into your head is that you can’t change the past. A large part of project management is comparing results against the plan. You can’t change what has already taken place but you can actively influence what will happen in the future. The best tool you have for that is looking back at what has already happened. But keep in mind you are looking back so you can change future events and plans. What’s done is done. Change requests, corrective actions, and lessons learned are all about improving future results. A project manager actively tries to influence future results. If that isn’t being done, you aren’t managing the project!

It’s Go Time, The PMP Exam

Lastly, I just want to talk about the exam itself. I wrote an exam based on the 4th edition of the PMBOK but I think the take-aways will apply to future versions of the exam as well. The exam is hard. If you are thinking about becoming a PMP, you’ve probably heard that before but it’s very true. In my past experiences, I’ve always been a fast test taker. I don’t recall ever sitting to the end of a 3-hour exam in university. The PMP exam requires all the time they give you. Although it is multiple choice, you will find several correct answers, or worse, no correct answers after you read the question. Choose your study materials carefully and get practice exams from multiple sources. Don’t underestimate how grueling it can be to sit for a 3+ hour exam.

Good Luck!

How To Successfully Work From Home

A Man Talking On The Phone While Working From Home

Working from home has become popular for both employees and employers. Employees take advantage of reduced commute times, savings on gas and other transportation costs, and an increase in work/home life balance. Employers benefit from reduced overhead costs as well as larger resource pools.

However, working from home poses its own set of challenges. The occasional day spent in your home office is one thing; setting up shop at home permanently is something completely different. Here are a few suggestions we’ve compiled to help with your work from home experience.

  1. Create a home office This should go without saying. Sitting on the couch with your laptop on your lap for eight hours is not going to cut it. Dedicate a room to serve as your home office and don’t use it for anything else. This is a similar concept to what experts say about the bedroom – do not make it your craft room, or your office. The bedroom is for sleeping, don’t associate it with anything else. Same applies for working at home. You need a space dedicated for work with desk, with a monitor, keyboard and mouse. You also need to…
  2. Get dressed! Working from home successfully is all about your mental state, and sitting at your desk in PJ’s does not put you in a working frame of mind.
  3. Get a work phone Using your personal land line is not very professional. And a cell phone is not going to provide the same quality as a land line. If you’re on a budget, a separate cell number for work may be your only option, but these days VOIP phones are an inexpensive alternative. If your company has a more advanced phone system, they may be able to provide a web-based phone. This option actually provides you with an extension to your company’s phone number, so customers can call you using the same phone number as the rest of the employees in your company.
  4. Work 9 to 5 Or whatever your company’s regular office hours are. If everyone else in your office is working 9 to 5, why wouldn’t you? The only thing working off-hours is going to do is distance yourself even further from your co-workers.
  5. Break, Lunch, Break Many office environments have drifted away from the traditional 10:00 to 10:15 break, 12:00 to 12:30 lunch and final 3:00 to 3:15 break. Working in an office does not have the same restrictions as working, say, on an assembly line in a factory. You have a little more flexibility with taking breaks. And let’s face it, when you grab a coffee, or walk to the bathroom you often bump into a co-worker, or drop by a co-worker’s desk and end up taking an unscheduled break. Heck, you probably have co-workers popping by your desk forcing you into break time, whether you like it or not. But when you work at home, all by yourself, the chances of being interrupted by other people is slim. Not many people can type at a computer screen for eight hours straight so you need breaks. In order to keep track of your downtime, and avoid the temptation to take advantage of the trust your employer has put in you by allowing you to work at home, set aside specific times for breaks and lunch. If a meeting overlaps, take your break immediately after the meeting.
  6. Web Conferencing (Webex) This is essential. Nothing can compare to sitting in front of a computer screen with your co-worker, but web conferences come close. And their use need not be restricted to meetings. If you want to review some programming code, or a document, or whatever it might be, with your co-worker and you don’t want to wait the three hours it would take them to hop on a plane and fly to your home office, simply pop open a web conference and begin collaborating.
  7. Teleconferencing Conference lines or, as a less expensive option, using the three-way calling option on your telephone can be of great assistance. If you work in a team, the teleconference can be a great way to facilitate group discussions that normally happen at the water cooler.
  8. Instant messaging (Skype) Sure, you have email, but typically email is not monitored minute-to-minute these days. Imagine, you are a developer working with a team of other developers. You are seated together in a row of cubicles. You are coding away and can’t remember the name of a class you need to modify. It’s on the tip of your tongue, but isn’t coming. Are you going to email and ask one of your coworkers? No, for a quick question like this you are going to peak into your neighbour’s cubicle and ask for some help. Instant messaging is a great way to facilitate this type of questions when you aren’t in a traditional office environment. Discuss and agree with your co-workers that instant messaging is to be kept to quick questions like this, and email reserved for more traditional threads where multiple people need to be cc’d.
  9. Communicate If you are an introvert, working from home might not be for you unless you can push yourself outside your comfort zone. You aren’t going to get the face time you would in the office, so you need to be proactive about staying in touch with your co-workers. This makes sure they don’t forget about you, but you also need it for your own sanity. You don’t want to end up the crazy old bearded guy, living in a secluded cabin in the woods. To avoid this, get on the phone. Make a point of calling instead of emailing on occasion. Keep a close eye on your email, and answer as quickly as you can. If your company allows for instant messaging, utilize that as well.
  10. Environment A rule of thumb, if you don’t do it at the office, don’t do it at home. Would you watch TV at the office? Would you bring your kid into the office because they are home from school/daycare sick? No. So don’t do it at home. And also, no – you can’t spend the day working on your laptop at Starbucks.

For some related articles, please see the following:

SharePoint Document Management System

The Challenge

A client was administering a program to over 25,000 participants. They required technical support to develop processes and systems to effectively manage the program. One area in particular that required attention was the creation of a document management system to hold, categorize and process participant documentation.

The Solution

Due to MERAK’s development expertise, successful track record and long-term relationship with the client, we were selected to develop the new document management system. We determined that the document repository should be built on SharePoint and connected to the program database. All documents go through a scanning process before being posted to the repository. Barcode reading technology is used by design to determine information on application forms; such as customer number and other personal information. Other key defaults like date received and status of the document are set automatically. Even though the majority of metadata is added automatically, miscellaneous correspondence/data can be keyed manually. Workflows were developed to initial benefit processing, inform staff and update a document’s status.

During the analysis of the project, MERAK determined that the document management system needed to be fully assimilated into the client’s systems. Using knowledge of both SharePoint and complex database systems, we developed custom programming to seamlessly integrate the scanning/barcode reading system, the SharePoint repository and the administration systems. This created consistent end-to-end document management, allowing users to locate all participant information using one interface. Using workflow procedures benefit processing and updates are automatically triggered.

The Benefit

Using our custom development and the integration of SharePoint the client experiences the following benefits:

  • Informed staff, as the system alerts them when a document has been revised and the status is updated.
  • Reduced costs by eliminating manual interventions and streamlining procedures.
  • Increased efficiency and accuracy for benefit processing, as documentation is accessible and appropriately categorized.
  • Avoided inefficient stand-alone systems as the document management and benefit processing systems have been assimilated.

Project Management Office (PMO) Site

The Challenge

A province selected a crown corporation to administer a substantial program that was originally managed by the federal government. The program consisted of numerous sub-projects with hundreds of documents. Each project was at a different phase in its development lifecycle. Documents were stored on a network drive and categorized into folders and sub-folders. As the number of documents increased it became progressively difficult to locate a document through the maze of folders. Moreover there was no easy way to manage different concurrent workflows on tracking the creation of artifacts, tracking issue progress or other items.

The Solution

MERAK was selected to design and create a PMO site. All documents were posted to one library and driven entirely by metadata. Finding documents was a easy as filtering on a column. Metadata included project identification and artifact types. Issue tracking was set up with a defined workflow process. Metadata that was added to the issues, associated them to projects and linked them to relevant documents. A task management area was set up to track tasks beyond software development which was tracked elsewhere. All tasks had custom metadata columns associated with them and the ability to link them to relevant documents. Issues were cross linked with tasks where needed.

The aim was to have one workspace where the entire team could collaborate and work on joint activities. People did not have to go to different sites or drives to look for things. Everything was in one place that looked the same and required the same steps to find.

The Benefit

Introducing the PMO site designed by MERAK improved productivity and significantly reduced frustration. The PMO site as so successful, many other areas of the organization have adopted similar approaches and there are several projects in the pipeline to create collaboration sites for all functional divisions.

The Report That Requirements Forgot: A Guide For Collecting Report Requirements

Image Containing Multiple Graphs

Ever begin work on a ‘quick query’ or management report that can supposedly be ‘whipped together’, only to find out it’s not going to be as simple as everyone originally thought? It’s a common misconception that ‘reports are easy’ and ‘queries are simple’.

Collecting data for reports can become complex. Some organizations have built entire data warehouses to make sense of their own information. The presentation of that data can be just as perplexing; a page sprayed with statistics is about as useful as staring at wallpaper. Most important of all, if you aren’t collecting proper requirements for your reports, you might make the worst mistake of all – not providing your client or customer with what they asked for. At least, what they thought they asked for.

Often, requirements gathering falls to the wayside for reporting, particularly internal management reporting and adhoc query requests. In cases where requirements are collected, the right questions are not asked. You can’t take the same approach as you would when collecting requirements for a new user interface or changes to business rules.

Here are some guidelines that will help keep your reporting and query requirements gathering on track:

  • Audience. Is this report internal or external?If it’s external, consider an even more rigorous requirements gathering process than what is described in this article.If the report/query is internal, you still need to nail down who will be using the report.An IT manager is going to tolerate a little more technical jargon than your HR manager.
  • List the conditions of your report.Things like ‘the query should only contain customers in Canada’ or ‘only include cars that are accident free’ should be stated up front.For you techies, this is essentially everything in the ‘where’ clause.
  • List the output.Whether the report results are a simple MS Excel listing or a colourful multi-page report with charts and graphs, there are going to be data elements in the output. Find out exactly what these data elements are. Be specific.If the report request asks for ‘Name’, find out if that means ‘First Name’, ‘Last Name’, or ‘Last Name, First Name’.
  • Calculations.  Is there calculated output on the report?If so, get those calculations down on paper.If ‘Quantity’ and ‘Price’ are in the output, make sure that ‘Total’ is listed in the calculations section of your requirements as ‘Quantity * Price’.
  • Grouping. Do you want to see totals by department? By Office Location? By Province?
  • Sorting. Do you want the output sorted by department, office location or province?
  • Output format. Is this report to be presented in an existing report container, like the User Reports module in a off-the-shelf product like Microsfot CRM?Or should the output be in Excel, a CSV file, a pdf, etc.?
  • Frequency. Is this a one-time report, or something that needs to be available on demand? Is it a recurring report, and if so how often?Daily, weekly, monthly?
  • Distribution.How should this report be delivered (particularly if it’s a recurring report)? An email with a link to a SharePoint file?Or perhaps the report is simply placed on a network drive for the user to view at their leisure.
  • Privacy/Security.Is there private information (like SIN) that has been requested within the report? If so, you might want to run this past your company’s security officer or legal authority, if you have one.Also, is there sensitive data (like employee salary information) on the report?If so, make sure only those with the authority to view that information have access to the output.
  • Some other cosmetics to consider:
    • Letterhead – should this report be on company letterhead?Often times, a ‘quick query’ is not done with the proper headers/footers and this can be embarrassing if the report ends up in the hands of your CEO.The safe bet is always use the proper letterhead.
    • Duplexing – should the report be double sided?
    • Window Envelope – should the report fit in a windowed envelope? This is probably not a concern for most internal reports/queries, but you are best to get in the habit of asking.
    • Number of pages – is there a limit on the number of pages for the report output? Again, not likely a concern for internal reports but it’s best to get in the habit of asking this as well.
    • Charts/graphs – as the old saying goes, a picture is worth a thousand words. If there is an opportunity to represent data graphically, you are best to do so.
    • Other communication/brand guidelines – does your organization have a standard set of guidelines for reports (fonts, font sizes, header footers, margin spacing, etc)? If so, make sure you adhere to them.

Whether you are the one requesting a new report or the one building it, remember that you need to collect requirements. Use this article as a checklist to help guide you through the process.

.NET Development

The Challenge

A client was acquiring information from outside institutions that needed to be mapped to equivalent material. They were using a manual process that relied heavily on one expert who was retiring and therefore, would be unable to support the system in the future.

The Solution

Because of our extensive custom development expertise and dedication to quality, we were the logical choice to develop the assessment and processing system. We built a web application that would accept electronic transcripts, set precedents and automatically map external data to equivalent internal items. Using the clients corporate standard for software development, the solution was built using .NET, C# and MS SQL Server.

Once the project was engaged the client indicated they were interested in additional core functions, such as authentication, authorization, data etc… were to be incorporated into the web service. We ensured the client’s IT department had the necessary skills and knowledge to implement the encapsulation of those functions without re-writing any code.

We selected an agile, iterative and incremental development methodology as it would place a high emphasis on ensuring business requirements are met without adding unnecessary features that can complicate the application; thereby adding to the cost and delivery date. This approach benefited the client as they were continuously involved in prototype demonstrations, allowing stakeholders to visualize the application and confirming our understanding and execution of their business requirements.

The Result

Based on MERAK’s development and consultation the client experienced the following benefits to their business:

  • Streamlined processes by developing a consistent system with existing procedure.
  • Eliminated manual effort.
  • Improved accuracy, consistency and efficiency of the assessment process.
  • Introduced a central precedented repository where data was automatically mapped to the precedent.
  • Implemented high value system requirements without incurring costs for unnecessary features.
  • Emphasized quality from a functional and usability perspective, through regular demo’s, testing and UAT.
  • Improved the client’s systems by supporting the transfer of other core functions to web services.

Quality Assurance

Why Testing is required?

In today’s competitive market and advanced technology world, customers want software releases to have new features and implemented faster. They need working software rather than written documents or prototypes. To achieve this, developers build the software within a short time frame introducing defects in the software. If the software is released without testing, it can cause the system to fail or return incorrect results. Therefore testing is required to help improve the quality, reliability, accuracy, usability and performance of the system. Testing is done to verify if the software

  • meets expectations,
  • prevents unexpected results,
  • satisfies the needs of customers,
  • improves long term maintenance of the application.

However in Agile paradigm, every aspect of development, requirements, design and testing is continually revisited throughout the lifecycle. Testing happens early and often. It is done concurrently with coding. Automated tests are run frequently to test the software effectively and within the release time. In Agile testing process:

  • Working software is built and tested frequently
  • Customer satisfaction by rapid, continuous delivery of software
  • Direct interaction with people are emphasized rather than process and tools
  • Regular adaptation to changing circumstances
  • Quality is combined team’s responsibility
  • Focus on team goals and customer value

Why MERAK for QA?

At MERAK we value the QA process throughout the Software Development Life Cycle.  With our group of experienced and knowledgable QA professionals, we have the ability to create a comprehensive test approach designed specifically for your project.

We know how to test!  Testing is an essential phase of any project.  Our qualified analysts possess a range of skills and aptitudes.  From a full suite of manual and automated tests, to a set of complimentary maintenance tests, MERAK will use the testing methodologies and tools required to ensure testing is completed thoroughly and efficiently.

Our QA team has the flexibility to integrate with your existing project team or provide an independent group of QA resources.  Once your exact needs are determined, MERAK will collaborate with your organization in a personable and open manner to deliver a high quality product.

Hour of Code 2013

People Working Together In A Hackathon

MERAK is passionate about learning and technology so it was only natural that on December 15, 2013 we would join 17 million people world-wide to introduce computer science to young students through Hour of Code.

The Hour of Code’s mandate is to promote and bring computer science to children. This program has been implemented to respond to the changing employment landscape and encourage children to choose computer science as a career path, fulfilling market demand.

Over twenty of our staff, along with their children, neighbours and other family members got a chance to listen to well-known individuals (Bill Gates, Mark Zuckerburg) talk about developing solutions and learn the basics of coding first-hand. Everyone had fun getting their angry birds and zombies to follow the code they wrote. To top it off, students programmed a “Mars Rover” robot that negotiated its surroundings based on sensors. What fun!

Based on this year’s success, we plan on participating in the Hour of Code 2014 and we are looking forward to seeing the tutorials arranged. Please contact us for further information if you are interested in attending (December 2014).