Monday, May 24, 2010

Thoughtful Quote

"To make knowledge work productive will be the great management task of this century, just as to make manual work productive was the great management task of the last century."

- Peter Drucker, 1978

Friday, May 21, 2010

How Communication Gaps Can be Viewed as Opportunity for Business Analyst Function

I find myself analyzing things quite a bit throughout the day. Some people accuse me of thinking too much. I don't know, it is just a natural thing I do, I guess. I ponder a lot.

One thing I ponder about from time to time is the impact that words have on work, people, and communications in general. Words are very significant in my profession. Words appear everywhere. In Web portals, they are used to instruct people how to use the Web site or how to perform a function. In presentations, words are used to concisely deliver a big message, one little message at a time. A funny thing about words is how they conjure up different emotions and different meanings to different people.

So, how does all of this relate back to the theme of this blog? Well, UX topics aside, there are some interesting behavioral patterns that I recently noticed, because I had been fixated on words. Recently, I happened to be observing a debate between colleagues, regarding the best way to configure a feature of a new Learning Management System (LMS). For background, this LMS Web application is intended to deliver courses and track professional development information for employees. It happens to be a third party product.

During the course of debates I realized that there is a distinct difference between the way that the software developer interpreted the name of a software feature versus the way that a business stakeholder interpreted it, in the context of them working together on the system implementation. Both individuals were working together, exploring how the third party application works, and trying to figure out the best way to leverage the product in order to meet the business requirements.

During this adventure, the two individuals came across a product feature called "curriculum." Here is the behavior that I noticed:

The software developer evaluated and experimented with the "curriculum" feature and tried to figure out different ways to use the feature in order to meet the business requirements.

The business stakeholder, performing the same experiment, forcefully attempted to make the software behave as they understand the word "curriculum" to mean in normal business context.

The two individuals then reached a disagreement when the software developer offered various options for how the feature could be used, while the business stakeholder argued that "no, a curriculum means this and so it must only be used like this." Not only did the two disagree on what the word means in general business context, but both also disagreed on the appropriate way to approach the software configuration task.

Do you see the distinction?

The software developer views the "curriculum" not for what the label means, but for what the actual program capability is and how it interacts with other related capabilities in the system. On the other hand, the business stakeholder had a fixed idea because of the label.

What is the point of all of this? Business analysis. A business analyst function is extremely important on a Web application project. Whether this function is performed by a dedicated expert, absorbed and performed by the project manager (or other resource), there needs to be a person who can understand the business requirements while also understanding the developers' way of thinking so that these two perspectives can be united and a common goal can be met.

Thursday, May 13, 2010

SharePoint 4.0: Formula for Estimating Content Database Size


((D × V) × S) + (10 KB × (L + (V × D))) = C

C = Database Size in KB
D = # Documents * 3
L = # List Items
S = Average size of documents in KB
V = Average # Versions in a Document Library (Greater than 0)


Microsoft (2010). Storage and SQL Server capacity planning and configuration. Retrieved May 13, 2010 from http://technet.microsoft.com/en-us/library/cc298801(office.14).aspx.

Wednesday, May 12, 2010

Links: MSDN Ramp Up Track, SharePoint for Developers

Microsoft has a Ramp Up program on MSDN, to help facilitate learning and professional development, http://msdn.microsoft.com/en-us/rampup/default.aspx. There are some interesting tracks, including the following ones related to SharePoint:

MSDN Ramp Up Track, SharePoint for Developers Part 1

  1. Introduction to Web Parts
  2. Data Lists for Developers
  3. Programming Event Handlers
  4. Workflow in SharePoint
  5. Silverlight and SharePoint

MSDN Ramp Up Track, SharePoint for Developers Part 2

  1. Page Navigation – Integrate navigation into your SharePoint application
  2. Page Branding – Brand a SharePoint site to look like your existing web application
  3. Web Services – Access list data using built-in web services
  4. Custom Content Types – Implement behaviors from different document types
  5. User Management – Manage web site users without code

Links: Microsoft SharePoint 2010 Launch Event

Microsoft SharePoint 2010 Launch Event

May 12, 2010
11:00 AM EDT
Keynote to be delivered by Stephen Elop.

Tuesday, May 11, 2010

Links: SQL Server Reporting Services (SSRS) SDK for PHP

Here are some references for information on interoperability between SQL Server Reporting Services and PHP:

Interoperability Bridges and Labs Center

SQL Server Reporting Services (SSRS) SDK for PHP

SQL Server Reporting Services (SSRS) SDK for PHP on Codeplex

(Microsoft, 2010)


Microsoft (2010). SQL Server Reporting Services SDK for PHP. Retrieved May 11, 2010 from http://www.interoperabilitybridges.com/projects/sql-server-reporting-services-sdk-for-php.

SharePoint 3.0: Setting Default Expires Date on Announcements


When using the out of box Annoucements web part in SharePoint 3.0, items do not have a default value. For practical purposes, when using the web part in sites, it usually makes sense to limit the number of announcements that display in the view that is positioned on the Web page.

So, in order to limit the items in a view, it makes sense to use sorting on a field such as Expires in conjunction with an item limit on the view. And, if you are going to sort (on Expires), you need to make sure that all items have a value to be sorted on. Otherwise, those items lacking the Expires won't appear.


An easy way to ensure that all items have an Expires date is to set the default value of the column. To do this, navigate to the Announcements list, to Settings, List Settings. In the "Additional Column Settings" area, set the "Default Value" to a "Calculated Value" of =[TODAY]+60. This will default the Expires date to be sixty days from when the announcement item is cerated.

Blog Archive