Hi,
I´m wondering if someone has some hands on experience with working with provider hosted apps with multiple developers and can share some of your work methods.
The only way I have currently tested is working on my local machine with a copy of the source code, and each developer has an own site collection for debugging and testing. The problem with this approach is that it creates challenges with the data that should be equal on all of the development sites.
Frank, good question. For two developers to develop on the same site collection at the same time is not something I have the answer to. Usually, a site collection for each if developing at the same time. Then a site collection for testing. We use Git with developer branches and testing branch.
This presentation from the SharePoint Conference is actually a good one that addresses best practices in the SharePoint app life cycle.
http://channel9.msdn.com/Events/SharePoint-Conference/2014/SPC273
As I see it; if you are 2-3 developers and sit in the same room you might can coordinate and work it out by communicating. Else you need to have the structure above to manage to work with quality and without to many conflicts disturbing.
In the model above the developers is responsible to create testdata for unit tests/black box/white box testing of the functionality they develop in their own sandbox environments. They deploy to System integration server where they share test data and test so their components working in the system scope. It is preferred if test data is scripted. Especially if you have automatic build/deploy/tests.
Functional testing by testers should be done in a FT environment. If developers and test share environment there usually will be conflicts. Test lead is responsible for test data, but if you have script to populate testdata for the SIT you can usually reuse them here. It also helps out to restore the data between tests.
This ofc. depends of the size of the system/application and how many developers work in the project.
I’m not really thinking about the structure of the project itself, but more about the cooperation regarding debugging and the ability to work against the same data source.
Hi Frank,
I would say it is the same rules as in general development.
Provider hosted app is hosted in its own server (azure, on site internet facing server, other hosting center) and is it built with .NET? Does not matter much what stack it is built on, but with MSDN subscription you have access to developer licens for Azure. You could also share one Azure account with one web application per developer and one for SIT, one for FT, QAT & production. Depending on the size of the team and complexity of the application you are building.
Model the application and divide the task user stories/tasks by component/class with clear interfaces or i.e. functional requirement areas.
Package it as a sharepoint application you can do at any point (maybe last) and verify how you deploy/distribute it and how it fits into the portal etc.
BRs,
M
