It's been an extraordinary few years at my Web-based marketing software company VerticalResponse. We embarked on a journey to rewrite our software from the ground up with an almost completely different team, two times over. It was a tough decision, but one we felt we had to make. With all the new technology available, we knew we could build features that would really benefit our customers.

Since last year, VerticalResponse has been a subsidiary of Deluxe Corp. But competition in our space is fierce. Our software rewrite was an expensive and lengthy process that had to be done right.

What did I learn throughout this process? Some really great stuff, it turns out:

1. Teams want to work together. You just need to give them the reason to.

Our team wanted to offer customers the things they wanted, and it was tough with our existing technology. We also wanted to offer our service for free to small businesses who have a tough time getting started, with so many apps out there charging too much for small pockets.

So we got in a room and talked. We talked about our customers, what they needed and what our business needed. We came up with a vision. We communicated what we needed to do on a short-term basis and a long-term basis regularly. Short-term it was about revenue and getting the product out the door. Long-term it's about how we offer all of our services to small businesses in a cohesive way.

Opening the door to let the team "have at it" was what they needed to be empowered to get behind a vision and make it happen. The result was a concrete strategy for how we went about releasing our software to the public and how we add to it in the future.

And everyone was happy because they bought into the strategy from the start.

2. Everyone wants to view the success, but how?

What is the success going to be? Is customer acquisition going to be lower? Are you going to get more customers? What key performance indicators are you going track your success to? Laying that out in an easy to understand format for all levels of a company is important.

But giving access to how you're doing is also important. Any view we can give our team about how we're stacking up against our goals is important. So we use and internal online reports to enable that visibility and transparency.

We also send the entire company an e-mail every time someone purchases from our new system. It may sound excessive, but knowing that people are responding to what they worked so hard to build and bring to market puts a smile on everyone's face.

3. People should be called out for jobs well done.

A lot of people have their hand in the success of our new endeavor, so it's important to regularly recognize their efforts. This keeps people happy about how they contribute to the greater good and gets others excited about how they can help.

People in our tech teams were up all night testing performance, people on the support teams were testing features in the product, and people in sales and marketing were pulling double-duty supporting our current cast of customers while launching something brand new. It was amazing and people needed to know it.

4. After it's all over, it's just begun.

Now is the real test, the test of how we're doing. Since we launched just a week ago it's been going great. But now we've got an entirely new set of metrics to measure. It's going to be fun, and we look forward to the ride.

Have you experienced a major change in your company? What did you learn from it? I'd love to hear in the comments.

Did you enjoy this post? If so, sign up for the free VR Buzz and check out the VerticalResponse Marketing Blog.