<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Red Three Consulting</title>
	<atom:link href="http://www.reportsyouneed.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.reportsyouneed.com</link>
	<description>The reports you need from the software you already have. (tm)</description>
	<lastBuildDate>Fri, 18 May 2012 20:45:59 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=</generator>
		<item>
		<title>Should You Use an ERP System for all Your Data?</title>
		<link>http://www.reportsyouneed.com/should-you-use-an-erp-system-for-all-your-data/</link>
		<comments>http://www.reportsyouneed.com/should-you-use-an-erp-system-for-all-your-data/#comments</comments>
		<pubDate>Wed, 16 May 2012 14:56:47 +0000</pubDate>
		<dc:creator>Adam</dc:creator>
				<category><![CDATA[Reporting and Database]]></category>
		<category><![CDATA[data]]></category>
		<category><![CDATA[ERP]]></category>

		<guid isPermaLink="false">http://www.reportsyouneed.com/?p=6494</guid>
		<description><![CDATA[<p>I’m generally a big advocate of making your software go as far as possible, even to the extent of <a href="http://www.reportsyouneed.com/general-ledger/">using your general ledger as a simple data warehouse</a>. But sometimes, trying to make your packaged software do everything doesn’t yield the best result. Here’s an example:</p>
<p><a href="http://www.reportsyouneed.com/should-you-use-an-erp-system-for-all-your-data/" class="more-link">Read more on Should You Use an ERP System for all Your Data?&#8230;</a></p>
<div id="fb-root"></div><script src="http://connect.facebook.net/en_US/all.js#xfbml=1"></script><!-- Do not remove -->]]></description>
			<content:encoded><![CDATA[<p>I’m generally a big advocate of making your software go as far as possible, even to the extent of <a href="http://www.reportsyouneed.com/general-ledger/">using your general ledger as a simple data warehouse</a>. But sometimes, trying to make your packaged software do everything doesn’t yield the best result. Here’s an example:</p>
<p>A client of mine sells their products through wholesale distributors. These distributors are (hopefully) going to start providing my client with information about their products’ final customers. Now that my client’s sales are going up, tracking this information is becoming ever more important. Their initial plan was to find an ERP system that would allow them to upload all this information. I advised against it, for a few reasons:</p>
<p style="padding-left: 30px;">1)    <strong>They can’t control the data they’re going to get.</strong><br />
In this case, the distributors are doing them a favor by providing the data. My client only really needs the basics – customers, quantities, items and (maybe) price. Forcing this into a customer invoice format will mean faking a lot of extra fields that have no meaning.</p>
<p style="padding-left: 30px;">2)    <strong>This data isn’t going to tie precisely to any financial data.<br />
</strong>Over time, the quantity they sell to the distributor should be pretty close to the quantity sold to the final customer. But that’s not going to be the case month-to-month. Cramming this data into an ERP would mean creating records that have no real financial meaning in a system where everything SHOULD have real financial meaning.</p>
<p style="padding-left: 30px;">3)    <strong>These are “invoices” which will never be paid.<br />
</strong>While this data looks like invoice data, it really isn’t. It’ll remain as open items. My client will end up cluttering the system with transactions that don’t really fit.</p>
<p>Again, I’m generally a big believer in using your packaged system as much as possible. But it doesn’t always work. It’s important to know when to stop and say, “Hey, we need to build something.”</p>
<p>&nbsp;</p>
<div id="fb-root"></div><script src="http://connect.facebook.net/en_US/all.js#xfbml=1"></script><!-- Do not remove -->]]></content:encoded>
			<wfw:commentRss>http://www.reportsyouneed.com/should-you-use-an-erp-system-for-all-your-data/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How Important is Financial Education for Non-Financial People?</title>
		<link>http://www.reportsyouneed.com/how-important-is-financial-education-for-non-financial-people/</link>
		<comments>http://www.reportsyouneed.com/how-important-is-financial-education-for-non-financial-people/#comments</comments>
		<pubDate>Mon, 14 May 2012 14:54:13 +0000</pubDate>
		<dc:creator>Adam</dc:creator>
				<category><![CDATA[Finance & Accounting]]></category>
		<category><![CDATA[Understanding Data]]></category>
		<category><![CDATA[7 ways to make data work for you]]></category>
		<category><![CDATA[CFO Magazine]]></category>
		<category><![CDATA[Marsh]]></category>

		<guid isPermaLink="false">http://www.reportsyouneed.com/?p=6483</guid>
		<description><![CDATA[<p><a href="http://www.reportsyouneed.com/how-important-is-financial-education-for-non-financial-people/13953_6957/" rel="attachment wp-att-6484"><img class="alignright size-thumbnail wp-image-6484" title="13953_6957" src="http://www.reportsyouneed.com/wp-content/uploads/2012/05/13953_6957-150x150.jpg" alt="Classroom" width="150" height="150" /></a>CFO magazine has a good article titled <a href="http://www.cfo.com/article.cfm/14632338?f=search">No Employee Left Behind</a> in its April issue. The article describes how insurance broker Marsh is training its entire firm in the basics of finance. As in everyone. As noted in the article, this isn’t uncommon in the financial sector. But Marsh differs in the effort it’s putting into it – using internal resources as opposed to canned content and making financial education mandatory, not optional.</p>
<p><a href="http://www.reportsyouneed.com/how-important-is-financial-education-for-non-financial-people/" class="more-link">Read more on How Important is Financial Education for Non-Financial People?&#8230;</a></p>
<div id="fb-root"></div><script src="http://connect.facebook.net/en_US/all.js#xfbml=1"></script><!-- Do not remove -->]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.reportsyouneed.com/how-important-is-financial-education-for-non-financial-people/13953_6957/" rel="attachment wp-att-6484"><img class="alignright size-thumbnail wp-image-6484" title="13953_6957" src="http://www.reportsyouneed.com/wp-content/uploads/2012/05/13953_6957-150x150.jpg" alt="Classroom" width="150" height="150" /></a>CFO magazine has a good article titled <a href="http://www.cfo.com/article.cfm/14632338?f=search">No Employee Left Behind</a> in its April issue. The article describes how insurance broker Marsh is training its entire firm in the basics of finance. As in everyone. As noted in the article, this isn’t uncommon in the financial sector. But Marsh differs in the effort it’s putting into it – using internal resources as opposed to canned content and making financial education mandatory, not optional.</p>
<p>Education is clearly an important part of getting people to pay attention to data. I wondered for a moment whether it should be included in my list of <a href="http://www.reportsyouneed.com/make-data-work/">7 Ways to Make Data Work For You</a>. If your people don’t understand finance, is there any chance they’ll pay attention to your numbers?</p>
<p>After some consideration, I’m holding off. Because while formal education is great, I think that successfully getting people to pay attention to financial data is more the result of corporate culture than education.</p>
<p>Two of my seven ways to make data work illustrate this point. Let’s start with point four: “All numbers are not created equal.” Does the whole firm really need to understand the entire financial statement? In my opinion, you need to focus on numbers people can actually change. And probably company profit and loss aren’t those numbers. This is especially true if you have complex allocations or costing that has more to do with perfect GAAP accounting than actual operational changes.</p>
<p>Point two is “Be transparent.” Even if people are educated in finance, they still need to believe your numbers are honest if they’re going to pay attention to them. If they think the numbers aren’t a true reflection of what’s going on, they’ll tune out. If they trust you and your numbers, they’ll be more likely to believe you when you talk about the financial impact of their actions.</p>
<p>What do you think? Is education the key to getting people to look at your numbers? Or is culture more important?</p>
<div id="fb-root"></div><script src="http://connect.facebook.net/en_US/all.js#xfbml=1"></script><!-- Do not remove -->]]></content:encoded>
			<wfw:commentRss>http://www.reportsyouneed.com/how-important-is-financial-education-for-non-financial-people/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Lawson: Beyond the Maintenance Vampire?</title>
		<link>http://www.reportsyouneed.com/lawson-beyond-the-maintenance-vampire/</link>
		<comments>http://www.reportsyouneed.com/lawson-beyond-the-maintenance-vampire/#comments</comments>
		<pubDate>Fri, 11 May 2012 14:43:55 +0000</pubDate>
		<dc:creator>Adam</dc:creator>
				<category><![CDATA[ERP and Packaged Software]]></category>
		<category><![CDATA[Lawson]]></category>
		<category><![CDATA[Infor]]></category>
		<category><![CDATA[Inforum conference]]></category>
		<category><![CDATA[Vinnie Mirchandani]]></category>

		<guid isPermaLink="false">http://www.reportsyouneed.com/?p=6468</guid>
		<description><![CDATA[<p><a href="http://www.reportsyouneed.com/lawson-beyond-the-maintenance-vampire/1146398_53855669/" rel="attachment wp-att-6470"><img class="alignright size-thumbnail wp-image-6470" title="1146398_53855669" src="http://www.reportsyouneed.com/wp-content/uploads/2012/05/1146398_53855669-150x150.jpg" alt="Vampire" width="150" height="150" /></a>When Infor purchased Lawson last year, I wrote <a href="http://www.reportsyouneed.com/lawson-maintenance-vampire/">a blog post</a> about how this wasn’t going to be good for customers. Infor isn’t known as a forward thinking software company, as <a href="http://www.enterpriseirregulars.com/48308/inforum-the-enterprise-climbers/?utm_source=dlvr.it&#38;utm_medium=feed">Vinnie Mirchandani wrote in a recent blog post</a>:</p>
<p><a href="http://www.reportsyouneed.com/lawson-beyond-the-maintenance-vampire/" class="more-link">Read more on Lawson: Beyond the Maintenance Vampire?&#8230;</a></p>
<div id="fb-root"></div><script src="http://connect.facebook.net/en_US/all.js#xfbml=1"></script><!-- Do not remove -->]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.reportsyouneed.com/lawson-beyond-the-maintenance-vampire/1146398_53855669/" rel="attachment wp-att-6470"><img class="alignright size-thumbnail wp-image-6470" title="1146398_53855669" src="http://www.reportsyouneed.com/wp-content/uploads/2012/05/1146398_53855669-150x150.jpg" alt="Vampire" width="150" height="150" /></a>When Infor purchased Lawson last year, I wrote <a href="http://www.reportsyouneed.com/lawson-maintenance-vampire/">a blog post</a> about how this wasn’t going to be good for customers. Infor isn’t known as a forward thinking software company, as <a href="http://www.enterpriseirregulars.com/48308/inforum-the-enterprise-climbers/?utm_source=dlvr.it&amp;utm_medium=feed">Vinnie Mirchandani wrote in a recent blog post</a>:</p>
<p style="padding-left: 30px;"><em>In general, everyone treats SAP and Oracle as the pursued, and SaaS vendors as the pursuers. Infor is generally talked about as a list of 70,000 customers on every one’s bullseye.</em></p>
<p>I didn’t attend the recent <a href="http://www.inforum2012.com/">Inforum conference</a>, and I hadn’t attended Lawson’s predecessor CUE events for many years. Lawson was never good at driving real education at their events and, in general, our focus is on New York area clients. But after reading Mirchandani’s post, I’m thinking perhaps things are looking up for Lawson clients – as long as their business is healthcare.</p>
<p>Why do I see this happening? Three reasons:</p>
<p>1)    The new CEO of Infor is an Oracle alum – which means there’s ego in play. I doubt someone from coming from Oracle’s bare-knuckle sales culture would make such a large acquisition just to collect maintenance revenue.</p>
<p>2)    They’ve hired developers.</p>
<p>3)    Healthcare is now Lawson’s core market.</p>
<p>If your business is healthcare, expect great service and continuous functionality improvements. If not, expect to have money sucked out of you. With their focus on healthcare, Lawson is essentially ignoring their installed base in other industries. Certainly, Lawson’s been auditing the license compliance of my non-healthcare clients more rigorously than ever before. And I don’t see them making the kinds of functionality improvements that would really help these companies.</p>
<p>Which is too bad. Because Lawson has a solid software package. And I see my clients leaving it because they’re being ignored.</p>
<div id="fb-root"></div><script src="http://connect.facebook.net/en_US/all.js#xfbml=1"></script><!-- Do not remove -->]]></content:encoded>
			<wfw:commentRss>http://www.reportsyouneed.com/lawson-beyond-the-maintenance-vampire/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>On Being Funny Versus Telling a Story: Making Data Work for You</title>
		<link>http://www.reportsyouneed.com/on-being-funny-versus-telling-a-story-making-data-work-for-you/</link>
		<comments>http://www.reportsyouneed.com/on-being-funny-versus-telling-a-story-making-data-work-for-you/#comments</comments>
		<pubDate>Tue, 08 May 2012 14:55:34 +0000</pubDate>
		<dc:creator>Adam</dc:creator>
				<category><![CDATA[Adam's Thoughts]]></category>
		<category><![CDATA[Communication]]></category>
		<category><![CDATA[numbers]]></category>

		<guid isPermaLink="false">http://www.reportsyouneed.com/?p=6452</guid>
		<description><![CDATA[<p><a href="http://www.reportsyouneed.com/on-being-funny-versus-telling-a-story-making-data-work-for-you/istock_000014423885xsmall/" rel="attachment wp-att-6453"><img class="alignright size-thumbnail wp-image-6453" title="iStock_000014423885XSmall" src="http://www.reportsyouneed.com/wp-content/uploads/2012/04/iStock_000014423885XSmall-150x150.jpg" alt="" width="150" height="150" /></a>The other night, my wife and I saw <a href="http://onemantwoguvnorsbroadway.com/">One Man, Two Guvnors</a> on Broadway. You may wonder why I’m posting about this on the Red Three blog. But as I thought about what I liked and didn’t like about the play, I realized it relates directly to point 5 of <a href="http://www.reportsyouneed.com/make-data-work/">7 Ways to Make Data Work For You</a> – tell a story.</p>
<p><a href="http://www.reportsyouneed.com/on-being-funny-versus-telling-a-story-making-data-work-for-you/" class="more-link">Read more on On Being Funny Versus Telling a Story: Making Data Work for You&#8230;</a></p>
<div id="fb-root"></div><script src="http://connect.facebook.net/en_US/all.js#xfbml=1"></script><!-- Do not remove -->]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.reportsyouneed.com/on-being-funny-versus-telling-a-story-making-data-work-for-you/istock_000014423885xsmall/" rel="attachment wp-att-6453"><img class="alignright size-thumbnail wp-image-6453" title="iStock_000014423885XSmall" src="http://www.reportsyouneed.com/wp-content/uploads/2012/04/iStock_000014423885XSmall-150x150.jpg" alt="" width="150" height="150" /></a>The other night, my wife and I saw <a href="http://onemantwoguvnorsbroadway.com/">One Man, Two Guvnors</a> on Broadway. You may wonder why I’m posting about this on the Red Three blog. But as I thought about what I liked and didn’t like about the play, I realized it relates directly to point 5 of <a href="http://www.reportsyouneed.com/make-data-work/">7 Ways to Make Data Work For You</a> – tell a story.</p>
<p>Let me start with the good stuff. I like slapstick humor. I can watch guys fall down stairs and slam doors in faces over and over, and I’ll still think it’s hilarious. Both James Corden, the star of the show, and the rest of the cast were great. It was laugh-out-loud funny many times.</p>
<p>But, somehow it just remained very good with funny bits. It wasn’t that memorable experience you hope for when spending the money on Broadway tickets. I kept thinking I should be liking it more. And then I realized the show really wasn’t a story – it was a set of skits. Very funny skits. But you could separate the skits and watch them in any order and get the same laughs. Which is not true of the best slapstick. Yes, the plots of shows like Noises Off (which I saw years ago) or <a href="http://psychotherapytheplay.com/">Psycho Therapy</a> (playing off Broadway now and recommended) can sound pretty thin and even absurd in the retelling. But somehow they’re enough to make you want to know how it’s going to end. Which elevates the show from a series of funny bits to a real narrative – if one with a strong emphasis on the comic.</p>
<p>Which brings me back to getting numbers to work for you and story telling. Telling stories is almost always a better way to communicate then just throwing up a bunch of numbers or engaging in death by PowerPoint. And humor can be a great part of story telling if you can pull it off. But sometimes the joke becomes the end in itself rather than a way to communicate the underlying message. At Red Three, our message is that we like data, we do a really good job, and we don’t take ourselves too seriously.</p>
<p>Do you ever find when telling a story that the style dominates the message? How do you balance that?</p>
<p>&nbsp;</p>
<div id="fb-root"></div><script src="http://connect.facebook.net/en_US/all.js#xfbml=1"></script><!-- Do not remove -->]]></content:encoded>
			<wfw:commentRss>http://www.reportsyouneed.com/on-being-funny-versus-telling-a-story-making-data-work-for-you/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Corporate Responsibility Statements – A New Metric?</title>
		<link>http://www.reportsyouneed.com/corporate-responsibility-statements-%e2%80%93-a-new-metric/</link>
		<comments>http://www.reportsyouneed.com/corporate-responsibility-statements-%e2%80%93-a-new-metric/#comments</comments>
		<pubDate>Mon, 07 May 2012 14:53:39 +0000</pubDate>
		<dc:creator>Adam</dc:creator>
				<category><![CDATA[Finance & Accounting]]></category>
		<category><![CDATA[Bloomberg]]></category>
		<category><![CDATA[non-financial statements]]></category>
		<category><![CDATA[Walmart]]></category>

		<guid isPermaLink="false">http://www.reportsyouneed.com/?p=6440</guid>
		<description><![CDATA[<p><a href="http://www.reportsyouneed.com/corporate-responsibility-statements-%e2%80%93-a-new-metric/1088924_59510934/" rel="attachment wp-att-6442"><img class="alignright size-thumbnail wp-image-6442" title="1088924_59510934" src="http://www.reportsyouneed.com/wp-content/uploads/2012/04/1088924_59510934-150x150.jpg" alt="Report" width="150" height="150" /></a>I saw this article <a title="Bloomberg article" href="http://www.bloomberg.com/news/2012-04-13/non-financial-data-is-material-the-sustainability-paradox.html" target="_blank">this article on Bloomberg</a> about non-financial statements that companies issue with their financial information. Things like corporate responsibility statements and environmental impact statements. The article’s worth a read. Here are a couple thoughts:</p>
<p><a href="http://www.reportsyouneed.com/corporate-responsibility-statements-%e2%80%93-a-new-metric/" class="more-link">Read more on Corporate Responsibility Statements – A New Metric?&#8230;</a></p>
<div id="fb-root"></div><script src="http://connect.facebook.net/en_US/all.js#xfbml=1"></script><!-- Do not remove -->]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.reportsyouneed.com/corporate-responsibility-statements-%e2%80%93-a-new-metric/1088924_59510934/" rel="attachment wp-att-6442"><img class="alignright size-thumbnail wp-image-6442" title="1088924_59510934" src="http://www.reportsyouneed.com/wp-content/uploads/2012/04/1088924_59510934-150x150.jpg" alt="Report" width="150" height="150" /></a>I saw this article <a title="Bloomberg article" href="http://www.bloomberg.com/news/2012-04-13/non-financial-data-is-material-the-sustainability-paradox.html" target="_blank">this article on Bloomberg</a> about non-financial statements that companies issue with their financial information. Things like corporate responsibility statements and environmental impact statements. The article’s worth a read. Here are a couple thoughts:</p>
<p><strong>1)    </strong><strong>Corporations are more than numbers</strong></p>
<ol>
<li>Just getting to a profit without being responsible isn’t ethical. Moreover, as seen in the recent <a href="http://online.wsj.com/article/SB10001424052702304811304577368232375034096.html">Walmart bribery scandal</a> where the company lost billions in value in just a few days, it’s not really profitable. In an age of increasing transparency, keeping wrongdoing under wraps doesn’t work so well.</li>
<li>Even softer things, like responsibility, can be measured. To some extent.</li>
</ol>
<p><strong>2)    </strong><strong>These numbers are ripe for manipulation</strong></p>
<ol>
<li>As we’ve learned in the past, financial statements can be twisted and distorted – but at least an auditor checks the numbers. A lot of these new statements have no third-party verification.</li>
<li>This emphasis on corporate responsibility sometimes misses the forest for the trees. Does anyone remember BP’s advertising program about being “beyond petroleum?” It disappeared fast after the Gulf of Mexico fiasco.</li>
</ol>
<p>In the end, I’m not sure you can measure everything about a company. Indeed, in the world of instant feedback and Facebook, I’m thinking reputation is something that needs to be established over time. It’s not enough for companies to say, “Yes, we’re responsible. We’ve even written a statement about it.” A reputation for responsible behavior means doing the hard work of behaving ethically and being a good place to work and a good partner to do business with. And not just today but in the past and in the future. I’m not sure these kinds of statements are really that helpful.</p>
<p>How much weight do you give corporate non-financial statements such as responsibility and environmental statements?</p>
<div id="fb-root"></div><script src="http://connect.facebook.net/en_US/all.js#xfbml=1"></script><!-- Do not remove -->]]></content:encoded>
			<wfw:commentRss>http://www.reportsyouneed.com/corporate-responsibility-statements-%e2%80%93-a-new-metric/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Spring Cleaning on the Brain: Maintenance and Cleaning Up Old Code</title>
		<link>http://www.reportsyouneed.com/spring-cleaning-on-the-brain-maintenance-and-cleaning-up-old-code/</link>
		<comments>http://www.reportsyouneed.com/spring-cleaning-on-the-brain-maintenance-and-cleaning-up-old-code/#comments</comments>
		<pubDate>Fri, 04 May 2012 15:39:24 +0000</pubDate>
		<dc:creator>Adam</dc:creator>
				<category><![CDATA[Miscellaneous Tech Tips]]></category>
		<category><![CDATA[hard coding]]></category>
		<category><![CDATA[Lawson]]></category>
		<category><![CDATA[old code]]></category>

		<guid isPermaLink="false">http://www.reportsyouneed.com/?p=6427</guid>
		<description><![CDATA[<p><a href="http://www.reportsyouneed.com/spring-cleaning-on-the-brain-maintenance-and-cleaning-up-old-code/183244_6951-web/" rel="attachment wp-att-6429"><img class="alignright size-thumbnail wp-image-6429" title="183244_6951 web" src="http://www.reportsyouneed.com/wp-content/uploads/2012/04/183244_6951-web-150x150.jpg" alt="Spring Cleaning" width="150" height="150" /></a>In my last post, I discussed the problems of old code when it comes to training. Today, I’m going to talk about how old code becomes problematic when it comes to maintenance.</p>
<p><a href="http://www.reportsyouneed.com/spring-cleaning-on-the-brain-maintenance-and-cleaning-up-old-code/" class="more-link">Read more on Spring Cleaning on the Brain: Maintenance and Cleaning Up Old Code&#8230;</a></p>
<div id="fb-root"></div><script src="http://connect.facebook.net/en_US/all.js#xfbml=1"></script><!-- Do not remove -->]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.reportsyouneed.com/spring-cleaning-on-the-brain-maintenance-and-cleaning-up-old-code/183244_6951-web/" rel="attachment wp-att-6429"><img class="alignright size-thumbnail wp-image-6429" title="183244_6951 web" src="http://www.reportsyouneed.com/wp-content/uploads/2012/04/183244_6951-web-150x150.jpg" alt="Spring Cleaning" width="150" height="150" /></a>In my last post, I discussed the problems of old code when it comes to training. Today, I’m going to talk about how old code becomes problematic when it comes to maintenance.</p>
<p>In spite of the common use of the term “software engine,” programs really aren’t like engines – you don’t need to add oil or replace sparkplugs. More importantly, engines don’t need to change through time. If your truck engine is working now, you’ll want it to keep working in the same way for years to come. With software, that’s often not the case. What works today may not work as well as your business changes. So you need your software engine to change and adapt.</p>
<p>Which brings us to refactoring, or cleaning up, what’s already working. Here’s an example: We have a client that uses Lawson’s activity module to bill customers for individual jobs they perform (such as events, professional service engagements, etc.). Our client needs to allocate costs to these jobs to bill them back to their customers, and Lawson’s basic system functionality can’t do it for them. When we started working with the allocation program, the logic was quite simple so we <a href="http://www.reportsyouneed.com/rwt-hard-coding/">hard coded what we needed</a>.</p>
<p>Of course, over the years, the program got more and more complex. It was always easier to add a few more lines of code than do a major clean up. But recently, I looked at it again and decided we couldn’t keep adding lines. We need to clean it up. Now that it’s done, the code is much easier to understand. And now when we get change requests, they take minutes to implement, rather than hours.</p>
<div id="fb-root"></div><script src="http://connect.facebook.net/en_US/all.js#xfbml=1"></script><!-- Do not remove -->]]></content:encoded>
			<wfw:commentRss>http://www.reportsyouneed.com/spring-cleaning-on-the-brain-maintenance-and-cleaning-up-old-code/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Spring Cleaning on the Brain: Training and Cleaning Up Old Code</title>
		<link>http://www.reportsyouneed.com/spring-cleaning-on-the-brain-training-and-cleaning-up-old-code/</link>
		<comments>http://www.reportsyouneed.com/spring-cleaning-on-the-brain-training-and-cleaning-up-old-code/#comments</comments>
		<pubDate>Wed, 02 May 2012 15:05:26 +0000</pubDate>
		<dc:creator>Adam</dc:creator>
				<category><![CDATA[Miscellaneous Tech Tips]]></category>
		<category><![CDATA[old code]]></category>
		<category><![CDATA[old programs]]></category>

		<guid isPermaLink="false">http://www.reportsyouneed.com/?p=6412</guid>
		<description><![CDATA[<p><a href="http://www.reportsyouneed.com/spring-cleaning-on-the-brain-training-and-cleaning-up-old-code/1199765_58318342/" rel="attachment wp-att-6416"><img class="alignright size-thumbnail wp-image-6416" title="1199765_58318342" src="http://www.reportsyouneed.com/wp-content/uploads/2012/04/1199765_58318342-150x150.jpg" alt="Spring Cleaning" width="150" height="150" /></a>I have spring cleaning on the brain as our housekeeper’s been away, and I’ve been doing more straightening around the house. It’s put me in a &#8220;throw things out/clean things up&#8221; kind of mood. I’ve written recently about how <a href="http://www.reportsyouneed.com/the-danger-of-rarely-used-reports/">you can&#8217;t trust old reports</a>. But now I’m taking it a step further. You need to throw out old programs you don’t use any more and clean up programs that work but are difficult to maintain (called <a href="http://en.wikipedia.org/wiki/Code_refactoring">refactoring</a> in geek speak). There are two reasons for this:  training and ease of maintenance. In this blog post, I’ll discuss how old code creates problems in training. In my next post, I’ll explore how old code creates problems for maintenance.</p>
<p><a href="http://www.reportsyouneed.com/spring-cleaning-on-the-brain-training-and-cleaning-up-old-code/" class="more-link">Read more on Spring Cleaning on the Brain: Training and Cleaning Up Old Code&#8230;</a></p>
<div id="fb-root"></div><script src="http://connect.facebook.net/en_US/all.js#xfbml=1"></script><!-- Do not remove -->]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.reportsyouneed.com/spring-cleaning-on-the-brain-training-and-cleaning-up-old-code/1199765_58318342/" rel="attachment wp-att-6416"><img class="alignright size-thumbnail wp-image-6416" title="1199765_58318342" src="http://www.reportsyouneed.com/wp-content/uploads/2012/04/1199765_58318342-150x150.jpg" alt="Spring Cleaning" width="150" height="150" /></a>I have spring cleaning on the brain as our housekeeper’s been away, and I’ve been doing more straightening around the house. It’s put me in a &#8220;throw things out/clean things up&#8221; kind of mood. I’ve written recently about how <a href="http://www.reportsyouneed.com/the-danger-of-rarely-used-reports/">you can&#8217;t trust old reports</a>. But now I’m taking it a step further. You need to throw out old programs you don’t use any more and clean up programs that work but are difficult to maintain (called <a href="http://en.wikipedia.org/wiki/Code_refactoring">refactoring</a> in geek speak). There are two reasons for this:  training and ease of maintenance. In this blog post, I’ll discuss how old code creates problems in training. In my next post, I’ll explore how old code creates problems for maintenance.</p>
<p>Let me start with training. Old programs don’t really harm anything, but they do create a mess that makes it challenging when training new staff. Last fall, I hired a new consultant. And while he’s been able to get up to speed pretty quickly, learning how to work some of our clients’ “old stuff” has been hard. And I’ve realized it’s made more complicated by the fact that clients no longer use about 20-30% of the custom functionality developed for them years ago. So, when my new consultant asks questions like, “What does this do?” I end up repeating, “Oh, don’t worry about that. We used to do x, but that stopped 18 months ago.”</p>
<p>Now, those of you not in IT might ask, “Can’t you just refer to the documentation?” But here’s the reality: Most people don’t fully document their code. And even when code is nominally documented, you soon realize that although the documentation probably seemed comprehensive while everyone was focused on the issue at hand, three years later it doesn’t do much beyond the basics.</p>
<div id="fb-root"></div><script src="http://connect.facebook.net/en_US/all.js#xfbml=1"></script><!-- Do not remove -->]]></content:encoded>
			<wfw:commentRss>http://www.reportsyouneed.com/spring-cleaning-on-the-brain-training-and-cleaning-up-old-code/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Repeating Header Rows with SQL Server Reporting Services</title>
		<link>http://www.reportsyouneed.com/repeating-header-rows-with-sql-server-reporting-services/</link>
		<comments>http://www.reportsyouneed.com/repeating-header-rows-with-sql-server-reporting-services/#comments</comments>
		<pubDate>Mon, 30 Apr 2012 17:02:33 +0000</pubDate>
		<dc:creator>Adam</dc:creator>
				<category><![CDATA[Reporting and Database]]></category>
		<category><![CDATA[SSRS]]></category>
		<category><![CDATA[headers]]></category>
		<category><![CDATA[Reporting]]></category>
		<category><![CDATA[SQL]]></category>

		<guid isPermaLink="false">http://www.reportsyouneed.com/?p=6352</guid>
		<description><![CDATA[<p>I spend a lot of time with a large variety of software. Some of it is really specialized stuff most people have never heard of, and the complexity required to use it borders on elaborate voodoo rituals. So it’s a rare breath of fresh air to discover an app that Just Works™, such as SQL Server Reporting Services.</p>
<p><a href="http://www.reportsyouneed.com/repeating-header-rows-with-sql-server-reporting-services/" class="more-link">Read more on Repeating Header Rows with SQL Server Reporting Services&#8230;</a></p>
<div id="fb-root"></div><script src="http://connect.facebook.net/en_US/all.js#xfbml=1"></script><!-- Do not remove -->]]></description>
			<content:encoded><![CDATA[<p>I spend a lot of time with a large variety of software. Some of it is really specialized stuff most people have never heard of, and the complexity required to use it borders on elaborate voodoo rituals. So it’s a rare breath of fresh air to discover an app that Just Works™, such as SQL Server Reporting Services.</p>
<p>Except when it doesn’t. Sometimes, SSRS refuses to do what you want it to do. Thankfully, it does have “under the hood” access for the adventurous software spelunker. And, to be fair, I’ve only had one cause to descend into its cavernous depths: repeating a header on every page (instead of just the first page).</p>
<p>Here’s how you do it:</p>
<p><a href="http://www.reportsyouneed.com/repeating-header-rows-with-sql-server-reporting-services/step-one-in-ssrs-repeating-header/" rel="attachment wp-att-6355"><img class="size-full wp-image-6355 alignnone" title="Step one in SSRS repeating header" src="http://www.reportsyouneed.com/wp-content/uploads/2012/04/Step-one-in-SSRS-repeating-header.png" alt="" width="468" height="267" /></a></p>
<p>At first it seems obvious and simple: go to Tablix Properties and check the box that labeled “Repeat header rows on each page.” But when you do that, it has no effect on repeating header rows on each page. This is because header rows aren’t actually header rows in SSRS. (Don’t ask. Okay, if you must ask, <a href="http://msdn.microsoft.com/en-us/library/cc281227.aspx">take a look at Microsoft&#8217;s attempt at an answer</a>. Basically, the row headers in the above screenshot are presumed by the dialog window to be <em>group</em> row headers when the tablix is in matrix mode.)</p>
<p>In any case, in order to repeat headers on every page we must first unlock the voodoo. The keys are well hidden, of course, behind a tiny, unlabeled button with a down arrow. I’ll give you ten seconds to find it:</p>
<p><a href="http://www.reportsyouneed.com/repeating-header-rows-with-sql-server-reporting-services/step-two-in-ssrs-repeating-header/" rel="attachment wp-att-6362"><img class="size-full wp-image-6362 alignnone" title="Step Two in SSRS repeating header" src="http://www.reportsyouneed.com/wp-content/uploads/2012/04/Step-Two-in-SSRS-repeating-header.png" alt="Step Two in SSRS Repeating Header" width="546" height="190" /></a></p>
<p>Once you click the button, you can then select “Advanced Mode” which gives you access to automatically created static members which specify how header rows behave:</p>
<p><a href="http://www.reportsyouneed.com/repeating-header-rows-with-sql-server-reporting-services/step-three-ssrs-repeating-header/" rel="attachment wp-att-6365"><img class="size-full wp-image-6365 alignnone" title="Step Three SSRS Repeating Header" src="http://www.reportsyouneed.com/wp-content/uploads/2012/04/Step-Three-SSRS-Repeating-Header.png" alt="Step Three SSRS Repeating Header" width="549" height="175" /></a></p>
<p>From there, it’s smooth sailing – provided you know where to look and what setting to set, of course.</p>
<p>1)    Select the relevant “Static” groups under “Row Groups” (in my case it’s the top two above “(task_status)” since those light up the top two rows that are my actual header rows)</p>
<p>2)    In the properties pane (right column of report builder) for each static member:</p>
<ol>
<li>RepeatOnNewPage = <strong>True</strong></li>
<li>KeepWithGroup =<strong> After</strong></li>
</ol>
<p><a href="http://www.reportsyouneed.com/repeating-header-rows-with-sql-server-reporting-services/step-four-ssrs-repeating-headers/" rel="attachment wp-att-6366"><img class="size-full wp-image-6366 alignnone" title="Step Four SSRS Repeating Headers" src="http://www.reportsyouneed.com/wp-content/uploads/2012/04/Step-Four-SSRS-Repeating-Headers.png" alt="Step Four SSRS Repeating Headers" width="312" height="329" /></a><br />
Et voilà! The header rows will now show up on every page, like header rows are supposed to.</p>
<div id="fb-root"></div><script src="http://connect.facebook.net/en_US/all.js#xfbml=1"></script><!-- Do not remove -->]]></content:encoded>
			<wfw:commentRss>http://www.reportsyouneed.com/repeating-header-rows-with-sql-server-reporting-services/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>More Lessons from Chess</title>
		<link>http://www.reportsyouneed.com/more-lessons-from-chess/</link>
		<comments>http://www.reportsyouneed.com/more-lessons-from-chess/#comments</comments>
		<pubDate>Fri, 27 Apr 2012 15:15:19 +0000</pubDate>
		<dc:creator>Adam</dc:creator>
				<category><![CDATA[Adam's Thoughts]]></category>
		<category><![CDATA[chess]]></category>
		<category><![CDATA[management]]></category>
		<category><![CDATA[technology]]></category>

		<guid isPermaLink="false">http://www.reportsyouneed.com/?p=5994</guid>
		<description><![CDATA[<p>In a March blog post, I wrote about <a href="http://www.reportsyouneed.com/staying-creative-and-the-benefits-of-online-chess/">staying creative and the benefits of online chess</a>. In the post, I mentioned how one of my programmers uses chess to decompress and keep his creative juices flowing. My programmer, Phil, wrote a response to this post – which I’ve posted below. I may even try to learn more about chess. I play with my 8-year old, and even he can tell I’m kind of clueless.</p>
<p><a href="http://www.reportsyouneed.com/more-lessons-from-chess/" class="more-link">Read more on More Lessons from Chess&#8230;</a></p>
<div id="fb-root"></div><script src="http://connect.facebook.net/en_US/all.js#xfbml=1"></script><!-- Do not remove -->]]></description>
			<content:encoded><![CDATA[<p>In a March blog post, I wrote about <a href="http://www.reportsyouneed.com/staying-creative-and-the-benefits-of-online-chess/">staying creative and the benefits of online chess</a>. In the post, I mentioned how one of my programmers uses chess to decompress and keep his creative juices flowing. My programmer, Phil, wrote a response to this post – which I’ve posted below. I may even try to learn more about chess. I play with my 8-year old, and even he can tell I’m kind of clueless.</p>
<p><strong>Lessons From Chess</strong></p>
<p>A chess game is really just an endless supply of puzzles. Through talent and prolonged training, a few people become incredibly good at solving them. Even so, the amazing ability of these few pales in comparison to artificial chess intelligence. Computers are the strongest chess players, even when handicapped. Today, every “super grandmaster” chess player is a student of the computer – using it to analyze the game during training.</p>
<p>Have a look as Russian chess grandmaster Vladimir Kramnik takes on a robot opponent:</p>
<p><iframe src="http://www.youtube.com/embed/51b10w3nTS4" frameborder="0" width="420" height="315"></iframe></p>
<p>How is it that automatons have come to dominate this challenging game? Over the years, chess engine programmers have developed specific strategies to solve the many chess puzzles that present over the course of a game. I find these strategies fascinating because they not only provide insight into chess, but human behavior too. Here are just a few:</p>
<ul>
<li><strong>Organize and streamline</strong>. The chessboard has a large number of possible moves. And this number increases exponentially with each projection into the future. Even with their immense processing power, chess engines can’t examine every single combination of moves when looking many turns ahead. Therefore, programmers use a strategy of organizing and streamlining. They do this by representing each chess “puzzle” as a small and concise data package. This allows the processor to do all kinds bit twiddling to optimize processing. Humans take a similar approach when they keep calendars and checklists. It’s a way to organize and streamline your time, avoid errors and reduce stress.</li>
<li><strong>Pick your battles</strong>. Computers further optimize their processing by discarding whole batches of moves at a time. If they come across a move they deem unworthy, they’ll discard it and other moves leading up to it. For example, if one move loses the queen, it won’t further examine any move leading up to it. Humans can take a lesson from this as strategy as well. There’s no point in spending energy on non-issues or things that can’t be undone. Focus on what you can do; discard the rest.</li>
<li><strong>Don&#8217;t put off till tomorrow what you can do today</strong>. In computer-speak, this is known as “move sort order,” and it’s an integral part of chess computing. It allows computers to check the most promising moves first, thereby speeding up the entire process. For humans, it translates as prioritizing the most important and pressing things. Things like addressing production problems when you spot them and doing your taxes before the April 15th deadline.</li>
<li><strong>Keep a record</strong>. Chess engines can remember complex puzzles using hashes, which saves them from having to reprocessing the same thing over and over. Humans apply the same strategy when they keep diaries, journals, FAQ lists, and other types of internal documentation. It saves you from unnecessary repetitive effort.</li>
</ul>
<p>I’ll admit it: I’m a terrible chess player. But I enjoy coding board game engines in my spare time (although not chess, which has been done to death). I’m always discovering interesting lessons that apply to everyday life&#8230; and coding, of course.</p>
<div id="fb-root"></div><script src="http://connect.facebook.net/en_US/all.js#xfbml=1"></script><!-- Do not remove -->]]></content:encoded>
			<wfw:commentRss>http://www.reportsyouneed.com/more-lessons-from-chess/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Honeywell’s Turnaround: Generating Cash vs. Declaring Profit</title>
		<link>http://www.reportsyouneed.com/honeywell%e2%80%99s-turnaround-generating-cash-vs-declaring-profit/</link>
		<comments>http://www.reportsyouneed.com/honeywell%e2%80%99s-turnaround-generating-cash-vs-declaring-profit/#comments</comments>
		<pubDate>Wed, 25 Apr 2012 15:08:46 +0000</pubDate>
		<dc:creator>Adam</dc:creator>
				<category><![CDATA[Finance & Accounting]]></category>
		<category><![CDATA[EBAIDL]]></category>
		<category><![CDATA[EBITDA]]></category>
		<category><![CDATA[Honeywell]]></category>

		<guid isPermaLink="false">http://www.reportsyouneed.com/?p=5983</guid>
		<description><![CDATA[<p><a href="http://www.reportsyouneed.com/honeywell%e2%80%99s-turnaround-generating-cash-vs-declaring-profit/dollars-funnel-2/" rel="attachment wp-att-5985"><img class="alignright size-thumbnail wp-image-5985" title="Dollars funnel." src="http://www.reportsyouneed.com/wp-content/uploads/2012/04/Dollar-funnel-150x150.jpg" alt="Dollar funnel" width="150" height="150" /></a>A recent article in The Economist, <a href="http://www.economist.com/node/21552631">From Bitter to Sweet: How One of America&#8217;s Most Messed-up Firms Became One of Its Best</a>, describes how Honeywell turned itself around by introducing new standards for production. Taking a financial view of the turnaround (since I have little shop floor experience) I was struck by this particular quote:</p>
<p><a href="http://www.reportsyouneed.com/honeywell%e2%80%99s-turnaround-generating-cash-vs-declaring-profit/" class="more-link">Read more on Honeywell’s Turnaround: Generating Cash vs. Declaring Profit&#8230;</a></p>
<div id="fb-root"></div><script src="http://connect.facebook.net/en_US/all.js#xfbml=1"></script><!-- Do not remove -->]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.reportsyouneed.com/honeywell%e2%80%99s-turnaround-generating-cash-vs-declaring-profit/dollars-funnel-2/" rel="attachment wp-att-5985"><img class="alignright size-thumbnail wp-image-5985" title="Dollars funnel." src="http://www.reportsyouneed.com/wp-content/uploads/2012/04/Dollar-funnel-150x150.jpg" alt="Dollar funnel" width="150" height="150" /></a>A recent article in The Economist, <a href="http://www.economist.com/node/21552631">From Bitter to Sweet: How One of America&#8217;s Most Messed-up Firms Became One of Its Best</a>, describes how Honeywell turned itself around by introducing new standards for production. Taking a financial view of the turnaround (since I have little shop floor experience) I was struck by this particular quote:</p>
<p style="padding-left: 30px;">This new production system, introduced over the past eight years, has helped transform Honeywell from a troubled giant to one of America’s most successful companies. Honeywell’s sales in 2011 were 72% higher than in 2002, and its profits doubled to $4 billion. A new emphasis on generating cash also means the firm has more money in the bank for every dollar declared in profit.</p>
<p>Imagine. Generating cash, as opposed to declaring profit, leads to better performance. It’s amazing to me that this is considered a revelation worthy of reporting. I’d love to know more, but I guess any reporter drilling down into accounting details (especially in a general interest magazine) would be quickly flagged for a different career. But the point is still excellent. The idea that companies can ignore cash and continue to run a business boggles the mind.</p>
<p>I’ve blogged before on this in <a href="http://www.reportsyouneed.com/ka-ching/">It Don&#8217;t Mean a Thing If It Ain&#8217;t Got Ka-ching</a>. And I’ve seen people focus on profit (and even worse <a href="http://en.wikipedia.org/wiki/Earnings_before_interest,_taxes,_depreciation_and_amortization">EBITDA</a> or <a href="http://www.reportsyouneed.com/groupon/">EBAIDL</a>) and shaken my head. It’s gratifying to see it’s not just me who thinks cash, and not profit, is the key metric in a successful business.</p>
<div id="fb-root"></div><script src="http://connect.facebook.net/en_US/all.js#xfbml=1"></script><!-- Do not remove -->]]></content:encoded>
			<wfw:commentRss>http://www.reportsyouneed.com/honeywell%e2%80%99s-turnaround-generating-cash-vs-declaring-profit/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

