Archive for category Process
The common stack I am currently using to build SharePoint Online solutions generally consists of the following components:
- Visual Studio console application for remote provisioning
- IonFar Migration framework, https://www.nuget.org/packages/IonFar.SharePoint.Migration/
- Office Dev PnP PowerShell Commands, https://github.com/OfficeDev/PnP/tree/master/Binaries
- SharePoint Online Management Shell, https://technet.microsoft.com/en-us/library/fp161372.aspx
- An Office 365 Developer subscription (essential for anyone doing SharePoint development)
- A central Git repository (e.g. Visual Studio Online), for source control
- TeamCity build (e.g. hosted in Azure), for builds
- Octopus Deploy, for deployment
This stack allows automated deployment of the project against a continuous integration (CI) environment. Simple migration scripts (written in PowerShell) are cumulatively run against the environment, and can be easily promoted to a UAT and then Production environment.
Ivar Jacobson has written some recent columns for Dr Dobb’s Journal about the similarities between different development methodologies, and specifically the difference between processes and individual practices.
The thread has picked up and gain some momentum through columns by other well known industry figures such as Scott Ambler:
A key part of Ivar’s proposal is that what’s really important is not so much the overall method but the individual practices.
This is similar to Steve McConnell’s analysis, in Code Complete Second Edition, of the improved defect removal rates of methodologies such as Extreme Programming, which are really just the expected effect of the combined individual practices.
Ivar also talks about a "kernel" of practices — activity and work patten spaces (groupings) and "alphas" (prototypical deliverables). Without going through the detail of EssUP (Ivar’s lightweight method based on this), the kernel consists of the following:
|Process Area||Activity Spaces
(Things to do)
(Things to produce)
Different processes, e.g. EssUP, Scrum, MSF, etc, can then be mapped to this kernel of concepts.