Fast and Flexible with Dev and Test Platforms as a Service.
cross post from labs.sogeti.com
Teams need to move fast, every action which results in wait time must be minimized to zero. Teams need to move flexible, context changes must be easy adoptable by the team and the system they realize.
Two very clear, but hard to accomplish aims. One challenges teams face today in reaching these goals are the availability of environments.
Development environments are hard to setup with mostly big hardware requirements. For example setting up a SharePoint 2013 development machine requires a lot of knowledge and time on an very powerful machine.
This will probably slow down the onboarding of a new team member. Requesting the proper hardware, read the book J install, configure and setup the environment.
The same for the environments that are used by testers. Every developer needs his own machine to develop on the solution, also testers need environments to plan, specify and execute tests. This means not only developers environments need to be available also for the tester a separate environment to execute their tests on needs to be available.
For just a normal development team it will work like explained in this video and diagram:
It gets interesting when the team runs sprints of one week and deliver every week a new increment. An increment which needs to be installed on a clean environment. With for this example a clean SharePoint environment, ready for validation. And, let’s say the team releases every four sprints a release for validation by customers an environment, which has the same characteristics as the production environment must be available.
Asking the supporting operations department first every week a new integration and test server and every month a clean ‘production like’ environment will make them crazy. Probably operational rules will even make this an not supported scenario and slows down the team in delivering value.
Two activities; onboarding of team members (Development), and the availability of environments (Test and Acceptance) are slowing down the team. Not only the complexity, but primarily the company dependencies (approval) which come with these activities bring teams value delivery to a full stop.
Dev and Test Platforms as a Service.
Virtualization is getting mainstream, even IaaS (Infrastructure as a Service) is wildly adopted, teams are using them, the benefit can get higher. Ready-to-use platforms easy to spin up for team members. Microsoft already delivers a Platform (Azure VM Template) preinstalled with Visual Studio 2013. http://www.windowsazure.com/en-us/solutions/dev-test/ (see screenshot)
Not only the pre-installed and configured VM’s from Microsoft can be used for this scenario, also the community started to make VM’s http://www.hanselman.com/blog/Over400VirtualMachineImagesOfOpenSourceSoftwareStacksInTheVMDepotAzureGallery.aspx
The other dependencies.
The tools are there, team members are powered with the capabilities they need to have. Now we get to the biggest problem, company policy and restrictions. Who is going to pay the bill?
Probably a complete sign off mechanism starts when a team needs something. A request for a new laptop is formalized in a full workflow with signatures on multiple documents, only getting approved with a proper business case it will probably take a few weeks, two when its fast but when someone is on vacation six till eight weeks. This same request – approval process is used for cloud possibilities. Cloud possibilities which are needed to move teams fast and flexible. This is definitely counterproductive and this dependency need to be solved fast.
Give the power to create environments in the hands of the people who need them. Then teams are ready to get along with the current development (and test) practices to move fast, flexible and deliver business value add a cadence the business needs.
Cloud Business App (LightSwitch SharePoint) development and test environments.
In Visual Studio 2013 RC there is a new template in the SharePoint / Office section, the Cloud Business App. A LightSwitch SharePoint Auto Hosted Solution. With this template you can create Apps with LightSwitch for O365 SharePoint, a powerful combination.
Although LightSwitch development is that quick that it almost can be done by a single developer. But when the business requirements are getting bigger, team development with decent development, test, acceptance and production environments are a must. when this is needed, there are a few things to pay attention to, one is actually due to the nature of development in SharePoint, developers have a Developer Site for debugging. Another one is data, tables/ lists, when you make a table change, data can be removed. And one related to LightSwitch you only can create a package for a specific site.
A Cloud Business App / LightSwitch SharePoint App (O365) development and test environment.
Multiple developers work together on one LightSwitch SharePoint App.
Each developer is connected to Team Foundation Service for agile planning and source repository. Also, each developer will have his/her own SharePoint Developer Site for debugging.
Every day / every hour a ‘get latest’ is done to verify integration with the other developers.
In this way every developer will stay in sync with the rest of the team and will have it’s own environment (and test data) for debugging. Not interfering with other developer debugging actions.
Testers are connected to Team Foundation Service for test planning, test case specification and test execution. Testers have their own ‘Test’ Site n O365 with a ‘stable’ App or more important with stable ‘test data’.
(4) Triggered by testers in the team a new package is created and uploaded to the App Catalog.
When a SharePoint data source is used in the LightSwitch App the connection string needs to be changed before packaging.
Testers are now able to freely test new functionality without disruption from debugging sessions from developers. Packaging and publishing is tested too in this way. A faster way can be to give the testers in the team a developer site too, and let them test from there. They will need to have Visual Studio for publishing.
Testers validate the same functionality in the sprint as the developers realize in that sprint. So, packaging ad republishing is done very often. While SharePoint and LightSwitch are very good in upgrading the data it takes many minutes, this requests a good tradeoff when to validate new functionality.
Connected App Developers
Most often a system doesn’t live on it’s own. WinRT Apps can be connected to SharePoint 2013 Lists very easily. With this development in the team too an additional site needs to be created for them to provide a stable integration endpoint.
Developers building connected apps have a separate site which they connect to. Test data will be isolated for them so they have a stable set to test with/ debug their own apps with.
Again packaging needs to be done from within Visual Studio to set the connection string for this specific site.
Integration Testers can use the same environment or setup.
Acceptance testing is done on a separate O365 environment from a package created and uploaded to the App Catalog.
Publish – connections string
The only ‘not so comfortable’ part is that for every deployment on another site you have to set the connection string of the data source.
This is only needed when you use SharePoint Lists as a data source, and the lists must be unique for that site. A workaround for this is that you make use of the SharePoint App in the Solution and add the needed Lists to it. Then these lists will be created when you deploy the App. Drawbacks from that solution are that the data in the lists are harder for SharePoint Search and that you can’t use them as a data source in your LightSwitch solution. Which result in that you have to access the tables with CSOM because the entity model isn’t available. When done careful setting the connection string every on publish is a good enough.
Different ways to work with SharePoint Lists in Visual Studio 2013 LightSwitch
When you have SharePoint Enabled in a LightSwitch solution you can work with SharePoint Lists in different ways. As a data source or ‘in App’ added as a list to the SharePoint project.
The choice is yours what to use … below some different characteristics.
As a data source
adding a SharePoint List as a data source.
- The list must exist on SharePoint.
- The list isn’t deployed together with the LightSwitch App. There is no connection with the LightSwitch Solution and the SharePoint List only by connection string.
- When you upgrade your LightSwitch solution you must not forget to update your list manually (when you made table changes)
- The SharePoint list isn’t affected when you uninstall the App.
- The connection to the List is set during packaging of the App in Visual Studio When deploying the App to a different Site (where you created the list) , you must package the App specific for that site, with the proper connection string.
- The SharePoint Lists can be saved as STP, which can contain data.
- The SharePoint List is a LightSwitch entity, which can used by the screens. Browse Edit Add for free,
- The SharePoint List is an entity in the LightSwitch App and can be accessed in code with intellisense.
- You can create relationship between the different data sources.
As a List in the SharePoint Project
Add a List to SharePoint Project in the solution.
- Lists in the SharePoint Project uses the SharePoint App Deploy and Update mechanism. The table stays with the LightSwitch App, also when installed on different sites. When updating the table structure is updated too (when not deleting columns or changing data types, adding columns is fine). When deleting the App the list and data are gone too.
- The SharePoint List can be accessed with CSOM from LightSwitch.
- The table entities are accessed in code by Name, no intellisense and compile time warnings.
- The SharePoint List isn’t an LightSwitch entity ad can’t be used (out of the box / browse, update, edit for free) with the LightSwitch screens.
So the tradeoff is most about … the usages of the screens (browse, update, edit for free and intellisense ) versus the deployment model (a package per site and manual update the lists.)
2013 Application Lifecycle Management Partner of the Year.
Microsoft has a global award granted to Sogeti for Application Lifecycle Management (ALM). Sogeti has received this award for its active contribution to the development of the Microsoft ALM platform, a complete set of tools for developing, testing and managing software.
Toine on stage …
You can watch the full video from the WPC opening keynote here…
With four other awards Sogeti got during the ceremony in July, 2013 in Houston in the U.S it is the most awarded Microsoft partner. The five awards are part of the 44 awards that Microsoft gives to technology partners.
“Sogeti is sincerely appreciative of the recognition we have received from Microsoft in each of these categories. It has been an exciting journey to witness the evolution of the relationship between Sogeti and Microsoft. Our shared alignment and collaboration with Microsoft consistently provides the highest possible value for both our consultants and clients. These awards help to validate Sogeti, and our solutions, as some of the best among the Microsoft Partner ecosystem.” said Sanjeev Agarwal, Senior Vice President of Sogeti’s Microsoft Alliance.
Awards were presented in 44 categories, with winners chosen from a set of more than 3,000 entrants from 106 different countries worldwide.
Visit http://www.microsoft.com/en-us/news/Press/2013/May13/05-20WPC13PR.aspx for an overview of the awards Microsoft reaches during the Worldwide Partner Conference in Houston in the US.
visit http://www.sogeti.com/microsoft for our Microsoft alliance page.
Windows 8.1 camera feature: Photosynth
Just installed the windows 8.1 preview on my Surface RT … it is a must when you have a RT, really brings some additional value. one of these features is the Photosynth integration.
while it is always a kind of odd and funny when you see people taking pictures with the (low quality) tablets, the Photosynth features makes it really a nice activity.
The Photosynth button.
two view modes … use your finger
and tile mode viewing (move your tablet around)
really nice… and don’t laugh at me when I’m taking standing with my surface above my head.
side tip: you can take screenshots with a RT device by pressing windows key (on the device) and the volume key together.
Small Microsoft Test Manager Exploratory Test Tip for WinRT Apps: Action Log Sliced
A small but useful Microsoft Test Manager feature when executing an exploratory test on WinRT apps: Sliced Action Log.
As an addition to the steps to reproduce, you can look at the sliced action log to investigate the bug.
The extended action log can be found in the links tab of the Bug.
The only property to set is the Diagnostic Adapter ‘Action log’.
Fast and Flexible.
Modern businesses need fast and flexible IT. Fast in the realization of systems to stay ahead of the competition. And flexible in the direction the system implementation goes to easily adopt innovations which can bring business benefit.
A good practice for software development to stay fast and flexible is to take as less as possible dependencies. The well-known SOLID principles are a good example of this low-dependency practice to stay flexible. <<read on at labs.sogeti.com>>
Visuals Studio 2013 feature: Scrollbar Map Mode with Preview
A nice little VS2013 feature which can make your live easier… Scroll Bars map mode with preview.
the C# editor isn’t the only one which has it.
8 / 8.1 Store Apps creation capabilities of Visual Studio 2012 and 2013 Preview
Good to know…
- Visual Studio 2012 on Windows 8 Platform –> 8 Store Apps creation capabilities
- Visual Studio 2012 on Windows 8.1 Platform –> 8 Store Apps creation capabilities
- Visual Studio 2013 Preview on Windows 8 Platform –> No Store Apps creation capabilities
- Visual Studio 2013 Preview on Windows 8.1 Platform –> 8.1 Store Apps creation capabilities *
- Visual Studio 2012 and Visual Studio 2013 Preview side by side on Windows 8.1 Platform –> 8 and 8.1 Store Apps creation capabilities *
* With VS2013 Professional, Premium and Ultimate you can open and edit 8.0 Store Apps on Windows 8.1 Platform and retarget them to 8.1.
If you're opening your solution in Microsoft Visual Studio Express 2013 Preview for Windows, your solution won't load. In the next step, you'll retarget the projects in your solution.
If you're opening your solution in Microsoft Visual Studio Professional 2013 Preview, Microsoft Visual Studio Premium 2013 Preview, or Microsoft Visual Studio Ultimate 2013 Preview, your solution loads but still targets Windows 8.
Retarget your Windows Store app to Windows 8.1 Preview
* Install Visual Studio 2012 Update 3
Although team members work in the same room, still I see many collaboration challenges. Many team members need an extra motivation to start working together.
The Agile coach should explain and stimulate this.
Trust, courage, openes are good drivers to start with.