Overview: Agile Development & Testing
Agile is a widely-accepted software development methodology that focuses on end-user collaboration to develop smaller pieces of working product in short, iterative sprints. Each development sprint is then tested, user feedback is provided back to the development team, and the process is repeated, creating a constant development-feedback loop. With this process, business users are able to benefit from immediate insights and constant improvements.
Plus, With the power of automation, you can respond to changes quickly and efficiently, solving problems in minutes that once took days or weeks. Using the Discovery Hub platform with the Agile methodology means you can get large amounts of usable product out in short iterations, ensuring your analytics infrastructure is constantly aligned with the needs of your business.
Testing with Multiple Environments
In order for the Agile development process to work well, there must be a thorough, but efficient, testing procedure in place. This typically involves multiple physical (or virtual) environments. The first and last of these environments are always Development and Production.
As you may have guessed, the Development environment is where all of the changes are carried out. This way, development can take place in a safe and secure area, without the risk of impacting the business reporting process. Often times, the data used in the development environment is masked for security purposes and/or highly limited in volume to speed up the development process.
Once development work is complete, and it has been thoroughly tested and approved by the business users, it is migrated to the Production environment. All business reporting is then carried out on the full production data contained within this environment. This means that the business users can benefit from data that has been properly vetted and is safe from unnecessary changes.
The Test Environment, while recommended, is not always implemented due to budgeting restrictions. This environment sits between Development and Production and is where development iterations can be properly tested by business users. If the Development environment is using masked and/or limited data, the Test Environment is where development changes can be properly "Tested" using production data. The business will test their various reports and dashboards using the data produced by the Test environment to ensure the proper results before moving the changes to production. Because the Test environment doesn't require the same 100% up-time as the Production environment, Test is often placed on the same server as the Development environment in order to save costs.