Monday, 27 October 2008

Developing Office Applications using SharePoint

Currently I am spending a good amount of time in learning and teaching how SharePoint can be used to develop office applications without coding. What are these office applications? One can define office applications as those applications that are owned by and used by the same department. I contrast them against enterprise applications, which are owned by one department but are used by multiple departments. Let me illustrate this classification with examples. Leave and Attendance System is owned by HR department but used by all of us. On other hand, recruitment application is owned by and used only by recruitment group.

Since Office applications are used by the same people who own them, they are typically easier to develop. Why so? A typical enterprise application becomes complex over a period of time, largely due to the growing exceptions that need to be incorporated and also due to the complex rules of authorization that get embedded in the applications. Since Office Applications are used by the same department, one can have minimal rules of authorization. Also the complex and one-time exceptions can be handled outside the system so that the system can be kept simple enough to maintain easily.

I know this line of thinking makes people uncomfortable. How can one have a system, which does not cover all kinds of exceptions that can arise? My argument is that by insisting on including all exceptions in the system, we end up having systems quite complicated and difficult to maintain over a period of time. For enterprise applications, this complexity is very much justified but not for office applications.

So what is the use of SharePoint in the development of office applications? Yes, one can develop office applications using Excel. Rather Excel has been popular among office workers, largely because office applications can be developed using Excel quite easily. What is missing though is the workflow feature in Excel. Also Excel files with large macros and data become difficult
to manage as they get stored on personal drives of office worker who develops them. Use of SharePoint provides same facility as that of Excel plus it provides workflow thereby giving complete solution framework for development of office applications that too without any coding!

Currently I am involved in development of an internal office application, which will be owned by and used by Training Department. I will continue to post learning from development of this
application on this blog site.

No comments: