Terminology and SharePoint ALM
Thanks for the feedback on my last post. I figured I'd write another post since this is an area we've thought about a lot. Sorry for the delayed response, I was out watching my nephews wrestle in their final championships all weekend....both did great. One placed in New Jersey high school states (Robert Pletcher, he took 8th at 215 lbs) and one in college eastern regionals, EIWA (Matthew Pletcher, he took fourth at 165 lbs).
In terms of the use of assembling an application, I thought of both assembling and composing . Composing has a number of other meanings, so I chose assembling. I'm open to better suggestions, given the context, I thought it was clearly talking at a higher level than .NET assemblies but I'm open to other suggestions. We are frequently struggling with appropriate and precise language that doesn't conflict with other terms it seems with our SharePoint guidance.
I believe it makes sense to keep the activity I am calling assembly (constructing the application in the browser and with SharePoint Designer) as separate activity from developing code. At the end of the day both activities lead to a delivered business application, but how those applications are packaged, deployed, managed, maintained, as well as the scope of impact, depends upon whether the applications are developed using a coding methodology and delivered to production via a wsp, vs. put together in pieces that are retained in the content database. I am shying away from calling both activities development, since I think to many development implies writing code. I do think both activities are about building business applications. I'd like to hear other thoughts on this area.
We've strugged with the word application, and I differentiate here between something that is intended to be a complete solution (an application) from something that is intended to be incorporated (assembled) as a capability within an application. I use application and components to try and draw that out. By an application I mean that the entire project will be treated as a single monolithic conceptual grouping. A component is intended to be used in application development or assembled into an application. Honestly, my preferred term would be solution, but that then gets confused with a SharePoint Solution (wsp). We have been careful in guidance to not overload the terms feature and solution. We could use more feedback to help refine these terms.
Please keep feedback coming, we'd like to get this discussion to a point where it is easier and more concise to understand. Also I'd like to hear more about if there are obvious holes in the scenarios listed below - what are the cases that are missing, and where do we need more granularity?