IT tutorials
 
Applications Server
 

Application Lifecycle Management in SharePoint 2013 : Managing SharePoint 2013 Development Teams (part 1)

12/30/2013 3:12:22 AM
- Free product key for windows 10
- Free Product Key for Microsoft office 365
- Malwarebytes Premium 3.7.1 Serial Keys (LifeTime) 2019

Each SharePoint development project is made up of a unique team of talented individuals, each with their own preferences, code patterns, preferences, and style of working.

This section covers a number of important areas:

  • Selecting software development methodology
  • Setting development standards and best practices
  • Managing, tracking, and recording key design decisions
  • Planning for regular code reviews
  • Large project considerations
  • Large project life-cycle models
  • Departmental teams
  • Offshore teams

It is fundamental to set up the development team properly to ensure your SharePoint 2013 project will be successful.

Selecting Software Development Methodology

Usually, SharePoint projects are based on Agile development methodologies. Development occurs iteratively, and deliverables are divided into a smaller set of entities, which can then be delivered at different times. These methodologies are popular because they provide visible progress on the project. By splitting projects into smaller iterations, you can track the individual tasks more easily and follow up on the overall progress of your project.

The selection of a software development methodology may also be influenced by whether the project is in-house, offshore, or a partner lead delivery. In-house or partner-led deliveries will more than likely use a methodology the team has already adopted and can understand. Although offshore development and test teams may use an Agile or Scrum-orientated approach, they benefit greatly from an onshore waterfall process that require rock-solid requirements, technical specifications, and as little ambiguity to ensure the business or supplier receives the level of quality the first time around. Using the incorrect methodology with an offshore team may decrease the commercial viability of using an offshore team.

One of most well-known methodologies or frameworks for iterative projects is Scrum. Scrum can be a useful model for development but requires adequate resources to use effectively. The core plank of Scrum is to develop in iterations and have regular follow-up meetings on progress and next tasks. If the development team does not have good development leadership, or individual team members cannot plan their work adequately, this strict methodology can cause additional resource requirements and confusion for the project team members.

The software development methodology must include activities and processes that ensure and maintain the highest level of security. Retrofitting security into existing solutions is more costly to introduce, it increases the cost of ongoing maintenance, and it increases the likelihood of vulnerabilities being introduced when subsequent changes are made.

SharePoint solutions, in my experience, do not often start out as business critical solutions, but they always invariably end up as business critical. As a rule, never accept a portal deployment or custom development into a production that cannot show it has strived for and adheres to security best practices. This includes ensuring your team members have the training and support to produce code that is secure and is not vulnerable to standard attacks.

Regardless of the methodology employed, each member should always have clear responsibilities, estimate accurately, and report risks and issues early to the development lead and project manager. Development teams must be able to break their work into tasks that can be managed against a project schedule. Methodologies can help projects move forward, as long as project members realize that methodology is not the objective of the project, and they concentrate on the deliverables. Unfortunately, for some projects, intense focus is placed on following a methodology rigidly, which can be a detriment to the project delivery and real business value.

Lastly, using a methodology provides an industry-proven process and team structure, with clear guidelines, responsibilities, and activities. This is highly beneficial to managing scope, avoiding cost, and schedule overruns.

Setting Up Development Standards and Best Practices

It is vital that the SharePoint architect, technical architect, or development lead plan document and share a set of development team standards and best practices. As a Microsoft Gold Partner or supplier, always attempt to understand if the customer has existing policy documentation related to acceptable development standards, and make sure your team adheres to these standards.

Development standards include the following areas:

  • Plan a consistent set of development environments for your development team.
  • Develop a code project solution organization and management of the code project structure.
  • Plan and set up your application life cycle management tools such as Team Foundation Services (TFS). This includes configuration of the source code control system to set up versioning (numbering), branching policies, and any add-on packs required to support your development methodology; for example, Scrum or Agile add-on packs.
  • Plan your build process for development and integration builds on the build server.
  • Configure TFS to kick off builds on the build server on check-in of any source code. In addition, ensure developers are alerted to any failed builds so that they can fix them as quickly as possible.
  • Decide on the level of automation required for your project. For example, mature development teams deploy nightly builds to a snapshotted SharePoint 2013 environment and kick off a batch of tests for developers and testers to review in the morning.
  • Plan and ensure quality of source code commenting and code style using source and style analysis tools available for Visual Studio and TFS.
  • Set out a consistent set of patterns you want developers to follow relating to the development of common SharePoint 2013 customizations. Consistent code patterns drive high quality and reduce your bug count.
  • Think about the level of code layering you require for your project. Do you plan to interface directly with the SharePoint object model or abstract some of the direct interaction to the manager and entity classes?
  • Set out the types of unit tests, mocks, or coded UI tests you expect the development team to create.
  • Plan up front what type of documentation is required by the customer and the deployment team to support, deploy, and maintain any code solutions in the production environment. This may include use cases, use case realizations or technical specifications, component maps, application architecture document, readme, and deployment configuration guides.
  • Set out what coding standards should be adhered to. Examples include namespaces, exception handling (no empty try catches!), and user interface logic. Ensure the build process performs SPDisposeCheck!

Managing, Tracking, and Recording Key Design Decisions

Each key design decision should be tracked in a SharePoint list or Excel spreadsheet. The same applies to key software and infrastructure design decisions. Without a formal process, the same decision tends to get rehashed over and over again. When a key decision is made, it must be documented. This ensures traceability back to the original decision. When future projects occur and people ask why the architect designed the solution in a certain way, often the information and clear-headed reasoning is lost in the shifting sands of foggy memory.

 
Others
 
- Application Lifecycle Management in SharePoint 2013 : Planning Your SharePoint Team Environments (part 2) - Centralized, Virtualized Environments, Cloud Environments
- Application Lifecycle Management in SharePoint 2013 : Planning Your SharePoint Team Environments (part 1) - Virtualized Dedicated Environments
- Application Lifecycle Management in SharePoint 2013 : Planning Your Upgrade and Patching Approach
- Business Cases for Lync Server 2013 : Why Lync 2013 for Unified Communications
- Business Cases for Lync Server 2013 : Return on Investment (part 3)
- Business Cases for Lync Server 2013 : Return on Investment (part 2)
- Business Cases for Lync Server 2013 : Return on Investment (part 1)
- Business Cases for Lync Server 2013 : Why Unified Communications (part 2)
- Business Cases for Lync Server 2013 : Why Unified Communications (part 1)
- Migrating to Exchange 2013 : Legacy Exchange Migrations, Common Migration Problems
 
 
Top 10
 
- Microsoft Visio 2013 : Adding Structure to Your Diagrams - Finding containers and lists in Visio (part 2) - Wireframes,Legends
- Microsoft Visio 2013 : Adding Structure to Your Diagrams - Finding containers and lists in Visio (part 1) - Swimlanes
- Microsoft Visio 2013 : Adding Structure to Your Diagrams - Formatting and sizing lists
- Microsoft Visio 2013 : Adding Structure to Your Diagrams - Adding shapes to lists
- Microsoft Visio 2013 : Adding Structure to Your Diagrams - Sizing containers
- Microsoft Access 2010 : Control Properties and Why to Use Them (part 3) - The Other Properties of a Control
- Microsoft Access 2010 : Control Properties and Why to Use Them (part 2) - The Data Properties of a Control
- Microsoft Access 2010 : Control Properties and Why to Use Them (part 1) - The Format Properties of a Control
- Microsoft Access 2010 : Form Properties and Why Should You Use Them - Working with the Properties Window
- Microsoft Visio 2013 : Using the Organization Chart Wizard with new data
Technology FAQ
- Is possible to just to use a wireless router to extend wireless access to wireless access points?
- Ruby - Insert Struct to MySql
- how to find my Symantec pcAnywhere serial number
- About direct X / Open GL issue
- How to determine eclipse version?
- What SAN cert Exchange 2010 for UM, OA?
- How do I populate a SQL Express table from Excel file?
- code for express check out with Paypal.
- Problem with Templated User Control
- ShellExecute SW_HIDE
programming4us programming4us