I’ve been doing some work on aspects of application lifecycle management with our version 2 SharePoint guidance currently in development. In version 1 of our published guidance, we looked at some ALM aspects with managing code developed for SharePoint, in particular we looked at team development, packaging, factoring, environment setup, and process considerations. We also covered upgrade, which has a set of challenges in SharePoint due to the power of the framework, in particular the ability to customize the application after developed assets are deployed.
We’re now starting to dig deeper into this arena with different types of SharePoint applications – taking a look beyond the development and management of a packaged application into what we are calling content driven applications. Really what we mean by this is moving into applications which are less structured from a development perspective, that mix developed assets, assembled applications, and generated content.
We are defining application assembly as the process of building an application by composing parts using the browser and SharePoint designer. SharePoint has a powerful model for assembling applications, a key reason for its huge popularity with information workers. But once we move into this arena we introduce new complexities into ALM:
I came up with this table to try and get some shape around the different types of scenarios to frame the different demands from an ALM viewpoint based upon the intent of the application. I’m looking for feedback – does this make sense, or is it hogwash? If it makes sense, does it seem complete enough, or are there missing aspects?
Title
Unmanaged assembled application
Non-upgradable assembled application (managed)
Upgradable assembled application (managed)
Upgradeable assembled published application (managed)
Non-upgradeable developed application
Upgradeable developed application
Non-upgradable developed component
Upgradeable developed component