We occasionally see themes across our clients’ projects, here are two popular .NET development projects from 2008:
From Office to the Enterprise – Excel. Many companies develop financial models, marketing plans, and other crucial documents using Excel. Over time as more and more people want to use these documents (often at the same time), a pain point develops. People start e-mailing around the Excel file, “Do I have the right version?” is asked often, or file contention issues surface while trying to access the Excel file on a shared drive. Syrinx has helped clients move from linked spreadsheets to a .NET-based, enterprise-ready platform that allows scalability of both the number of simultaneous users and data storage/management.
From Office to the Enterprise – Access. Access is a powerful tool for developing and validating a home-grown database application, complete with data entry/edit/reporting. It is easy for business users to model their target process and build an application using Access. The limitations start to surface when people want to use mdb files simultaneously, or propagate application updates out to many users, or manage a distributed, standalone application as a single unit. Syrinx has helped clients “up-size” Access applications into ASP.NET and WPF applications, allowing users inside and outside the organization to access and manipulate data whenever they need to, while maintaining secure and centralized control over the application.
At the Dev Connections conference, Doug Seven gave a great presentation on Visual Studio Team System (VSTS) and Team Foundation Server (TFS). He started by discussing Agile development and the Agile Manifesto (see http://agilemanifesto.org/) and then highlighted how VSTS and TFS can be used to facilitate Agile development. What was nice to see was how different types of users, project planners, developers etc, can use different tools, Excel and VSTS, to view and edit the same data, allowing them to both work in a comfortable environment. He also showed how easily continuous integration and builds can be setup in a few mouse clicks.
Following on from this Doug gave us a glimpse of VSTS 2010 AKA Rosario. There are a couple of minor changes that facilitate Test Driven Development (TDD), For example in VS2008 you need to create a class and method before you can create a Unit Test - this goes against the TDD "rules" in that you are supposed to write the test first which makes you write the code. In VS2010 - you can now create the Unit Test first and then Right Click to create a class and method stub.
Another nice feature, so that we as developers no longer have to have the "token of shame" for breaking the build, is the notion of Gated Check in. With a gated check in policy, the developer checks in their code change and it is stored in a "Shelf Set". The shelf set is then merged locally and used to do a build; only if this build is completed is the code committed to the mainline code for use by other team members.
The builds in VS2010 will now be controlled using Windows Workflow, what was not clear to me is if the build workflow can then access the Windows SharePoint Services workflow environment to create or update WSS / SharePoint data. I can see this may be hard to do since they could potentially be running on different database servers.
Finally of note is the test case selection process, which can be used as part of the check in process. With VS2008 if you require unit tests to be run as part of a build after check in, this can take considerable time, with potentially the bulk of the tests not executing any of the new code. With VS2010, you can select to run a subset of the tests, with the subset being selected based on which tests will execute the newly checked in code. The test selection is performed using the test coverage information from the previous test runs. This should reduce the test case selection and time to execute making running unit tests as part of the check in very appealing.
Ian.