A collaboration with Toyota to continually improve their enterprise data warehouse

Avatar photo

Umbrellar Connect

Stellar and Toyota New Zealand have collaborated for more than five years to build, maintain and upgrade Toyota’s enterprise data warehouse.

As the solution grew in size and complexity, changes to the system became harder to test and risked putting an increased burden on the development team and business users. Also, with a mix of large and small projects all using the same data warehouse, there was an administrative overhead to maintain multiple streams of work.  

“Often you are using the same resource to get these projects built and tested,” says Michael Shepherd, responsible for  Business Intelligence at Toyota.  

“We’ve had timing issues, where we’ve been unable to proceed with something because we have to wait for something else to be tested first. Or there might be pressure to refresh  the data, but we have to wait until  someone finishes testing something.” Michael Shepherd, Toyota. 

Integration and Testing is the phase of the software development life cycle (SDLC) where the code for a new feature or fix is merged into the solution and tested, ready for deployment to production. If the new feature has taken weeks or even months to develop, with lots of changes to the code, then testing can be a long and difficult exercise. There can be clashes between the various changes, and bugs can be introduced (or old bugs re-emerge). 

Comprehensive testing is required to make sure the new code works, and the existing code still works as expected. 

How Continuous Integration works 

Continuous Integration (CI) is a development approach that uses an automated process for the Integration and Testing phase. Developers merge their new code as often as they like,  sometimes even multiple times a day, into a replica of the live system. The full solution is then built and tested automatically. 

Using CI, developers get rapid feedback on their changes so they can identify and resolve issues earlier. The automation means developers spend more time developing new features and fixes rather than “administering” the development. 

CI gives developers the confidence to make bigger changes to improve the solution because they know there is a suite of automated tests ensuring the output to business users remains the same. This in turn leads to lower costs to improve and maintain the solution. This is sometimes referred to as refactoring or paying down technical debt. 

Although CI is common in software companies, where code is the primary product, it’s still rare to find it used in corporate environments for bespoke solutions intended for internal consumption. 

The Toyota project 

The CI project at Toyota involved approximately two months of work by Stellar consultants, installing and configuring a  specialist piece of software to enable Continuous Integration. 

The tool selected was Atlassian Bamboo which has great integration with the other Atlassian developer tools that were already in use (BitBucket, Confluence and JIRA). 

Bamboo was configured to automatically retrieve the latest code, build the solution, run the full Extract/Transform/ Load (ETL) of data for each area of the business, and then run a suite of tests to confirm the results were as expected.  Bamboo logs each step of this cycle and reports the result. 

“Bamboo is a generic system that allows you to automate the testing of any type of software,” says Craig Larmer, Lead  Consultant at Stellar. “We had to configure it to work with  Toyota’s data warehouse solution – and there were a couple of tricks along the way because we were using Microsoft BI  tools, which do not natively support automated testing. We  were able to ‘roll our own’ based on our knowledge of the  data warehouse solution, and similar work we have done for  other clients.” 

Michael adds: “Continuous Integration gives us confidence that what’s being ‘thrown across the fence’ for us to use has been tested. And it’s not limited to the things we are  currently focused on developing or changing; it’s also the  other little things that we may not have time to go and test  to the Nth degree.” 

Benefits of Continuous Integration 

Business stakeholders can be slightly unsure about this type of project because it takes developers away from delivering features while they work on process improvements. But the investment in a CI solution will soon be paid back inefficiencies and new features. 

“The whole thing is about going quicker and with a wider scope because we’re not limited to testing just a narrow piece,” says Michael. “It’s going to get better and better because we’re going to add more tests – the test scripts that we develop will not be used just once. This naturally fits into  our Kaizen (continuous improvement) approach at Toyota.” 

One unexpected outcome of the project was the number of issues in the existing solution that were identified by building the solution completely from a blank database. Typically,  changes are applied incrementally on top of the existing data warehouse. So, before the project was even implemented the code quality of the solution had improved. 

“You push a button, and it tells you that a report has run correctly. That’s so much better than relying on a member of the business, who is not a professional tester, to try and remember what they need to do to test a particular chart, so it’s going to very quickly pay for itself,” says Michael. 

Looking ahead at Toyota 

“The project went really well – it was painless for us, and the feedback from the infrastructure team has been really positive,” says Michael.  

“We want to try and take this as a best practice for other areas of our business running on a variety of core systems. If  we can be more efficient and quicker at getting things deployed without errors, it  will be a massive step forward, and enable  us to focus on new projects rather than  fixing the things we thought were fixed.” Michael Shepherd, Toyota. 

“Continuous Integration is a first step,” adds Craig. “The  next piece, called “Continuous Delivery”, will allow us  to automatically deploy code to an acceptance test  environment and alert users that their request is ready  for them to test.”  

Michael is also eager to expand Toyota’s use of CI. “Seeing  how successful this has been, we’d be silly not to consider  the next level of automation, which would be very exciting.” 

Avatar photo

Umbrellar Connect

Umbrellar Connect is the leading multi-media hub for New Zealand's tech innovations. We keep you informed on the need-to-know impact stories, the trends shaping our world, and the tech enabling us to go further.

Stellar Consulting

See Profile

With New Zealand’s largest team of dedicated Business Intelligence experts, Stellar has the skills and experience to help your organisation turn data into intelligent action.

You might also like

[ajax_load_more id="9462509724" container_type="div" post_type="post" posts_per_page="6" post__in="" pause="false" placeholder="true" scroll="false" button_loading_label="Loading" button_done_label="No results" no_results_text="No results"]

Our Vendors

Subscribe to
A collaboration with Toyota to continually improve their enterprise data warehouse - Umbrellar Connect

Get the latest news content in your inbox each week