As the nation's only hospitality company possessing a vertically integrated business model, Apple Leisure Group holds a unique niche in the U.S. travel industry. Our robust infrastructure leverages the expertise of six industry innovators to deliver exceptional value and inspired luxury to discerning travelers.
System Team Responsibilities
The System Team is a specialized Agile Team that assists in building and using the Agile development environment, including Continuous Integration, test automation and Continuous Deployment. The System Team supports the integration of assets from Agile teams, performs end-to-end Solution testing where necessary and assists with deployment and release.
Collocation, Collaboration, and Knowledge Sharing
The collocation of Agile team members and the blurring of the traditional roles optimizes velocity and quality. It also helps create empowered Agile teams. However, this means that developers no longer operate collectively from a shared resource pool, where one could argue that it was easier to learn, share, and advance collective competencies. To address this, the Agile enterprise must consciously create a culture and environment where best practices and knowledge are shared. This includes new-found Agile skills such as story writing, Continuous Exploration, Continuous Integration, Continuous Deployment, collective code ownership, and automated unit and acceptance testing, which are easily shared across teams. This is often facilitated by Communities of Practice.
As implied above, the Dev Team is directly responsible for much of the culture and many of the practices necessary for building the Continuous Delivery Pipeline and implementing DevOps. To this end, their ‘T-shaped’ skill training also includes developing expertise in developing and managing staging and deployment environments and mastering techniques for independently releasing elements of the larger Solution. They assume additional responsibilities for following the code downstream and into production. This further blend traditional siloed responsibilities such that Agile teams, and even individual developers, can master the ability to Release on Demand.
Design for Testability
Since all code is tested code, developers design and evolve the system to support testability and test automation. In practice, designing for testability and good design are synonymous and imply modularity, low coupling, and high cohesion of layers, components, and classes. This supports the testability of any separate fragment of logic, as well as the ability to create higher, system-level, integration tests. In a similar manner, the solution should be designed to make it easy to deploy and release.
© Scaled Agile, Inc.
Responsibilities Specific to the Senior Test Automation Engineer
The Senior Test Automation Engineer is an individual contributor and is a critical member of the System team. They are helping define development infrastructure as it relates to integration and testing. Mentor and guide agile teams in complex system integration. May perform automated testing duties.
A typical week includes working with Product Managers, agile teams and fellow Engineers to understand new features that support ALG’s business goals and provide a strategy of getting those features into the hands of our customers in the shortest lead time possible with high quality. To accomplish this, you will collaborate with fellow Engineers to build and maintain our Continuous Delivery Pipeline. You’ll primarily be responsible for building test automation framework(s), developing test data strategies, providing guidance on testing methodologies, testing features end-to-end and helping to keep the teams accountable for the quality of work released in all of our environments, but especially staging and production. Finally, you will push new efficiencies with the teams, from promoting test coverage to creating new tools and evangelizing automation best practices.
We are looking for self-starters who thrive in a fast-paced, scaled agile environment – which means working with multiple teams, being able to change direction quickly, and showing an eagerness to learn new technologies as the need arises. In this role you work with a cross-functional, collaborative environment – so excellent interpersonal and communication skills are also a must. We also want someone who can help and be able to learn other areas of the Continuous Deployment Pipeline such as infrastructure as code. And most importantly – we look for people who can deliver value.
You will be responsible for designing and implementing test automation frameworks and test automation suites to support the agile teams and ensure compliance throughout the various test cycles. You will guide and mentor the agile teams to become efficient at using the test automation frameworks and fill in any gaps in order to ensure effective E2E testing. You should be defining the scope of testing within the context of each cycle / release and help the agile teams execute against that scope. Performing E2E load testing and maintaining test data across all environments are part of your responsibilities as well.
What You Need to Have:
What Would Be Nice for You to Have: