The classic definition of software development is most often associated with programming or writing code, but to leverage the vast power of SharePoint, we must start to think of it as Solution Development, which could include: configuration, customization, and coding. In fact, it is not appropriate to use the word "could" when in nearly every solution it "will" involve all three C's – Configure, Customize and Code. These are defined in the following figure:
The first C of development, configuration, happens all over SharePoint, at the list, library, or site level using their respective settings, or at the site collection or farm level. By configuring SharePoint features, we enable or tune the functionality to best suit our desired purpose. For example, a contract management solution would undoubtedly require version control, workflows, check in/check out, and content approval.
These settings can be standardized, and are discussed later in the chapter, but...