"A Software-as-a-Service (SaaS) solution is not simply a new way to package and deliver applications. It is a fundamental shift in the relationship between the software service provider and the customer." This is the kind of thing you read all of the time in the IT press or hear from pundits at conferences. By now most senior executives in companies are saying "OK, I understand I have to have a new mindset. But what $@!% does that really mean in terms of how I build my application and my business?"
In other words, how can you translate this 'new service mindset' into an actionable roadmap for building a profitable SaaS application?
On-premise application design focuses on the core functionality
Designing applications for traditional perpetual license, on-premise software may be complex, but it is relatively straightforward because the entire development focus is on the core application - the CRM, ERP, BI itself. The marketing, purchasing, provisioning, support, billing etc., all of the other "touch-points" in the customer life cycle are managed by the vendor's sales and support staff. Hence the functional design of the application typically only needs to address the core product functionality (the features and the UI for exposing these features).
What changes with SaaS
What changes with SaaS is that the software, not a large support staff, services most or all touch-points in the customer life cycle. So in addition to the core application design, you also need to design the software to address the full progression of steps a customer goes through when exploring, purchasing, deploying, provisioning, using, referring, and upgrading a product or solution. I first proposed this SaaS customer life cycle strategy back in May of 2008. Since then we refined and vetted the approach with a score of enterprise SaaS application design projects.

All touch points of the Customer Life Cycle are included as part of the core SaaS application
If the SaaS application does not provide a satisfactory experience at each touch point along the way (e.g. acquisition, usage, support, monitoring, referral etc) you get customer abandonment. If the way you handle each touch point does not scale without adding staff, you lose economies of scale (i.e. profitability).
This type of life cycle analysis can deliver an actionable roadmap for designing a successful SaaS application. Examine each phase in the customer life cycle and design a strategy, software functionality and release plan for moving these points into software and optimizing their delivery. For practical reasons not all components will be addressed in the first release, but it is critical to have each included in a release roadmap. Many of the components can be based on other on-demand services that can be fed into your own SaaS application (e.g billing). For these, a key design focus is to smoothly integrate the service into your application so that it offers a positive user experience, rather than an opportunity for friction.