Getting started with Agile ALM for Sitecore

application-lifecycle-managementOver the last few years, I’ve been trying to iteratively improve our own processes at nonlinear to deliver better Sitecore solutions and set our clients up for maintainable and sustainable ALM processes. Some of my posts on automated Sitecore deployments with TFS or TeamCity outlined some of the initial steps we took in automated deployments.  Recently, we posted a brief series to help folks getting into Application Lifecycle Management:

The first new piece of content I put together on this was a slideshare introducing ALM concepts of tool and process improvements, just to get people thinking about where they are in the process and what they need to change. I also covered how to achieve this with continuous improvement model, instead of trying to do a big-bang delivery.

The second piece I wrote covers why ALM matters for Sitecore (and pretty much any web application).  The post covers some of the primary benefits of ALM, as well as how to apply ALM processes during your Sitecore implementations.

The third piece, written by my colleague Mauro, highlights some tips for automated testing of Sitecore implementations, specifically with Selenium. He’s been doing some really awesome things with automated testing of Content Editor, Page Editor, and the end-user flows.

The recommended reads:

Profiling Integration Performance on a Tight Budget

TFSApplication performance is heavily dependent on the performance of the communications between the primary application and all other integrated systems.  Even the tiniest of changes in a connected system can suddenly cause a huge performance hit.  For example, a small web service retrieving data about a user when they log in gets altered to return an extra field from a joined table, and suddenly the performance for users logging in bombs and you start getting timeouts.

When an application is built under one set of assumptions, the changes that will inevitably occur in any integrated system need to be monitored on an ongoing basis.  This is where automation of performance regression tests comes in. Whether running an agile project or not, ensuring integrated systems are performing over time requires a solid regression plan.  How can this be accomplished this cheaply?

Continue reading “Profiling Integration Performance on a Tight Budget”

Integration Testing with Unit Tests and MSTest

Visual StudioIn many of the projects that I have worked on, the application we’re building needs to integrate with a back-end system or a web service layer that is maintained by a third party or by another team.  In these cases, we shouldn’t assume we’ll have the ability to ensure that the other group has set up an automated test bed to verify regression.  Especially if that other system is having changes made to it to support the project!

This is where integration testing comes into play.  There are a few things that you should be doing with your unit tests to ensure your integrations continue working throughout the lifetime of your project, and also that your automated tests are running efficiently so that your team is not slowed down waiting on expensive integration unit tests that are running for long periods of time.

Continue reading “Integration Testing with Unit Tests and MSTest”

What type of agile superstar are you?

In a world of deadlines, tight budgets, and high expectations, sometimes we need that superstar on the team that can “get it done” so we don’t make our clients look bad.  On the many teams I have led, this superstar has shown up in a few different incarnations:
Delivery Quadrant - Superstars

  1. The Hare
    You want it done by 2pm? No problem. The Hare has no issue with short deadlines because the Hare can get it done in 15 minutes. What’s that you say? The senior team that estimated the work thought it would take at least 2 days? No problem, the Hare still thinks it can get done in 15 minutes. Lo’ and behold, 15 minutes later everything has been coded up, checked in, and the Hare is off to save another project from certain doom. The fact is that it hasn’t been tested, and maybe not 100% of the requirements are in there, and perhaps it has a few paths where a nice 500 error gets served…but that’s not a problem, because that’s what the rest of the team is for, right?
    Continue reading “What type of agile superstar are you?”