Monday, December 10, 2007

Network Effects

I think that Charles Zedlewski gets it exactly right in his post A new wrinkle on SaaS when he says this about "Salesforce to Salesforce":

This is something that would be difficult for on-premise vendors to replicate: an application network effect that's could be genuinely beneficial to the user.

This will be a powerful feature as companies with an indirect business model begin to leverage it with their partners.

Just think how hard it would be to implement this functionality with an on-premise solution - the logistics of coordinating IT organizations would be monumental.

Thursday, November 29, 2007

Coincidence or Lax Beta Tester Screening?



+

Called "My Location", the feature comes as part of the release of version 2.0 of Google Maps for mobile. My Location uses cell tower ID information to determine approximately where you are.

Too soon?

Friday, October 12, 2007

Sales Forecasting Simulator

The Stanford Graduate School of Business has a class called "Building and Managing Professional Sales Organizations" that allows students to gain experience forecasting sales using a simulator. The simulator allows students to experience the difficulty of forecasting from the perspective of a sales rep and from the perspective of a sales manager.

http://www.gsb.stanford.edu/news/bmag/sbsm0711/feature-simulator.html

I wonder when they're going to release their simulator for the PS3...

Friday, September 28, 2007

Domain Languages: Apex

Tip #17 in The Pragmatic Programmer is:

"Program Close to the Problem Domain."

Lately I've been spending a bunch of time building Apex web services for my customer and I can tell you that it's a super powerful language. My pseudo-code translates almost line-for-line in to Apex code. Here's an example:

//get the oppty line items for this oppty
List opptyLineItems = [Select Id, PricebookEntry.Product2Id from OpportunityLineItem Where OpportunityId = :opptyId];


In C# this one line of code would translate to four or five lines of code. Visualforce is the equivalent development productivity lever for user interfaces. Pretty cool stuff.

Monday, September 17, 2007

Visualforce

Salesforce.com just announced the next step in their evolution towards becoming a complete on demand platform: Visualforce. I can't wait to be able to start building applications with Visualforce instead of lower-level web technologies like ASP.Net and JavaScript, powerful as they may be in their own right.

Saturday, September 01, 2007

Designing Applications

Salesforce.com was originally built as a CRM tool. It's been amazing to see it evolve. I've even begun to see it used to model non-business processes. A co-worker recently used it to manage her wedding's guest list. Everything was stored in our product -Who will be able to attend? Would they prefer Beef, Chicken or Fish? What gift did they give? Has a Thank You card been written yet? The application didn't take very long to build and because of the wonders of SaaS multi-tenancy, my friend got to leverage our reporting module without any extra work!

One thing salesforce.com can't do yet is build custom user interfaces. The building blocks have been exposed, but they're the equivalent of 2x4s, nails, plywood and copper pipe. It still requires traditional software development skills and processes to build a sophisticated custom UI. I've heard that there's a solution coming and I'm excited to hear more about it.

Until then, I'll keep working with JavaScript and ASP.Net 2.0. I just finished up a paper usability study with my current customer for a web-based replacement for their exsiting Excel application. Jakob Nielsen's not surprised, butI'm always amazed by how effective paper prototyping is. I was pretty proud of my hand-sketched design, but after spending an hour with the future user of the system, I discovered a number of workflow flaws. According to Steve McConnell, a requirement that goes undetected during the requirements phase "will cost 10 to 100 times to fix during testing."

It's going to be tough for our ASP.Net 2.0 application to beat Excel for flexibility, but on the upside, our web app is going to perform validation, will use dynamic data sources to populate picklists and will store all user-entered data in a cental location, so our customer will never have to worry about data synchronization issues.

Thursday, August 02, 2007

Business Intelligence + Data Model Importance

We're building a system for my current customer that will give them some impressive business intelligence functionality. The market that our customer sells in to is fairly small and rather static, so as a result, our tools will allow them to have an almost complete view of their market. They'll be able to look at that data from a number of perspectives and ask the question of how to increase their market share any number of ways. Questions like, "In which sector of the market are we weakest?" will be answerable with a few clicks of a manager's mouse.

We had to think long and hard about the underlying data model, but once that was worked out, everything just fell in to place. There have been a couple of tradeoffs throughout the process, but what we have now is truly powerful.

Thursday, July 12, 2007

Sales Process Diversity

I've been helping a small division of a very large company implement our CRM solution. It's been a unique experience as I've been playing two roles on the project - Technical Consultant and Functional Consultant. The best part about the Functional Consulting role is that you get to learn about the customer's business processes at an even greater depth and breadth than you typically do as a Technical Consultant.

This particular customer has a very unique sales process. They're selling products whose costs are heavily influenced by commodity metals prices and their sales cycle is quite long - typically 18+ months. It's been fascinating to see how those two factors have influenced the way that they sell their products.

Monday, June 11, 2007

Peopleware

I recently finished reading Peopleware. I can't recommend this book highly enough. There are dozens of insightful observations about how teams can be influenced to succeed - or fail. Peopleware should be required yearly reading for managers.

A lot of the suggestions that the authors put forward are rarely implemented in most companies – probably because of their counter-intuitive nature. The only company that I’m familiar with that tries to manage in the Peopleware style is Joel’s Fog Creek Software.

One of the chapters that I found particularly interesting dealt with measuring an individual’s job performance. Instead of using the performance data to precisely promote people, or precisely fire people, the authors suggest that a company should only use performance data to benefit the individual. The idea here is that “individuals are inclined to do exactly the same things with the data that the manager would do. They will try to improve the things they do less well or try to specialize in the areas where they already excel.” The authors postulate that due to the extreme sensitivity of performance data, it can only be accurately collected and measured if workers do not have any fear of management seeing the rating and potentially using it against them. Sounds like an intriguing idea to me.

Peopleware is a quick, interesting read that enumerates the myriad ways that current management principles and incentives don’t align particularly well with people’s intrinsic motivations. Any employee will find numerous ideas for improving the way their employer does business

Wednesday, May 23, 2007

CRM - enlarging the circle

Most definitions of customer relationship management are either indecipherable or self-referential:

The infrastructure that enables the delineation of and increase in customer value, and the correct means by which to motivate valuable customers to remain loyal - indeed, to buy again.
- The CRM Handbook
Customer relationship management (CRM) is a broad term that covers concepts used by organizations to manage their relationships with customers, including collecting, storing and analyzing customer information.
- Wikipedia
I personally like this simple one:
A 360° view of your customer.
Traditionally CRM hasn't been particularly collaborative. Many company websites provide self-service functionality and perhaps some message boards, but much of the time this functionality appears to be providedin order to keep customers from calling the help line.

I think that Dell may have just changed the rules of the game with the introduction of` their IdeaStorm website. I think that Dell may have added a few degrees to that 360° view...

Working With Sales

I have been taking a break from my typical Technical Architect design-related duties the past couple of weeks and have been working with the sales team on a deal for a large media company. It has been interesting to see the sales guys in action since I usually don't get involved in a project until after the sale has been completed.

The sales/consulting dichotomy is particularly interesting. The sales guys deal with much higher-level requirements than we do in consulting. As a result, the solutions that sales pitches often differ significantly from the solutions that consulting actually implements. I think it would be an interesting experiment to have some of our sales engineers actually work on an implementation that they have sold. In addition to providing a feedback loop to the sales process, such an experience would have the added benefit of lending our sales engineers additional legitimacy. Statements such as, "I just implemented Feature X at Company Y last month and here's how we did it" have incredible power with customers.

I really enjoyed the opportunity to wear a different hat for a couple of weeks and it looks like we are going to get the order!