Diversification: The Winding River Solutions Story

During a time in Alberta’s history when oil prices are at their lowest in years, it’s easy to see why diversification is important to ensuring reliable revenue. This is true not only for governments, but also for businesses.  

Many of Winding River's clients might know us from the training side of our business, but for many years we have also been working with clients on software development projects, while continuing with the training and consulting sides of our business. Here is a bit of background on this and how it has enabled us to shift and grow in Alberta's ever changing market. 



Our aim has always been simple: we teach what we do and we do what we teach. When Winding River opened in 2002, its co-owners started the company with the goal of creating great software solutions, consulting on infrastructure and database projects, and educating the technology community. 

Winding River continues to offer courses and remains a Microsoft Learning Solutions Partner. Our instructors are current on the newest technologies while also able to convey their immense field experience.  

By moving to our current location in Old Strathcona in 2014, Winding River revamped its training space, where we offer high-performance computer classroom rentals for up to 15 people, along with breakout areas and rooms, white boards and an overhead projection system, a private theatre, and our excellent technical and administration staff available on site to offer assistance and setup/configure with your software or hardware. While our on-site staff are working on our software development and consulting projects, they are also on hand to assist those renting out this space.    


Software Development 

Winding River's satellite office in Europe opened in 2005 with a focus mainly on software development. This office, led by co-owner Miroslav Stantic, includes a team of talented software developers. Through this satellite office, we've been able to maintain a strong focus on the software development side of the business while effectively using our resources in Edmonton for our training, consulting, testing,business analysis and project management sides of the business.      



Our consultants, testers, and business analysts are an important division of our business that also helps to pull everything together. These consultants analyze application and infrastructure processes to isolate areas for efficiency or growth, identify problem areas, and customize solutions for an organization’s needs. We recently hired a senior tester, junior tester, and business analyst in our Edmonton office, who add to our project management and other talented consulting staff.  

Winding River would not be the success story it is today if it had not developed the key divisions of its business. Each division complements the other, with the on-site consultants and administrative staff able to support the needs of those in our courses or renting our training space, and our satellite office able to focus on our software development projects.  

By diversifying our company over the years, we have been able to grow our business according to the needs of our clients and allocate resources in the areas that are needed most at that point in time. We see our business continuing to grow in the software development and consulting areas while we maintain our teaching facilities and course offerings. With the continued support of our fantastic clients and staff, Winding River's future is indeed bright! 

Importance of QA Testing

What is QA Testing, and Why is it Important for Your Software Development Project?

Quality Assurance, or QA testing, is an important step in the software development process. By discovering defects early in the development cycle, QA testing will save time, money and frustration.

Proper QA testing reveals inconsistencies, errors and redundancies in newly developed software. This process is crucial to ensure that the product being developed can survive the real world and has longevity for years to come.

QA testers interact and nurture relationships with all stakeholders and members of the Software Development Life Cycle (SDLC), which includes project managers, developers, business analysts, writers, database administrators, clients, and so forth. In this way, QA testers help connect everything together and ensure that each stage will go ahead as planned.

Here are three reasons why QA testing is essential to any successful software development project:

1. Saves time and money

Although it may take time to undertake QA testing throughout the life cycle of a software development project, it will cost much less to fix an issue early in the cycle rather than having to go back multiple steps in the process to fix something later. This is why testing should occur throughout the life cycle of a project rather than just at the end or during the implementation phase.

2. Minor change could have major impact

Even if there is a very minor change to the software application, the QA tester needs to understand its impact and test it.

A good analogy is to imagine if there was a small change to the navigation code that an airplane uses, and someone decided it was not worth testing. You likely would not want to fly with that company.

It works the same way for software development projects. If every component hasn’t been tested, you don’t know if it will perform as expected when it is deployed. That small change might just be a lot bigger than expected.

3. Prevents feature creep

Sure, adding a certain feature might sound like a good idea, but during review of the documentation, a QA tester may bring up some possible issues that need to be looked into before going further.

These might include security issues or questions about how easy it will be for the application to be scalable if the feature is added. Implementing QA testing in the life cycle of a software development project can therefore help keep it manageable and within scope.

If you're interesting in learning more about the scope of software testing, we recommend checking out this very comprehensive list of types of software testing.