The key objectives of any organization is to provide / derive value from the products / services they offer. To achieve this, they need to be able to deliver their offerings in the quickest time possible, and of good quality!

In such a fast moving environment, CI (Continuous Integration) and CD (Continuous Delivery) are now a necessity and not a luxury!

There are various practices that organizations need to implement to enable CD. Changes in requirements (a reality in all projects) needs to be managed better. Along with this, processes and practices need to be tuned based on the team capability, skills and distribution.

Testing (automation) is one of the important practices that needs to be setup correctly for CD to be successful. But, this is tricky and requires a lot of discipline, rigor and hard work by all the team members involved the product delivery.

All the challenges faced in smaller organizations get amplified when it comes to Enterprises. There are various reasons to this - but most common reasons are - scale, complexity of the domain, complexity of the integrations (to internal / external system), involvement of various partners / vendors, long product life-cycles, etc.

In such situations, the Testing complexity and challenges also increase exponentially!

Learn, via a case study of an Enterprise, a large Bank, the Testing approach required to take them on the journey to achieving CD.

 
 

Outline/Structure of the Case Study

This talk will be structured as below:

  • Explain the concept of a Test Pyramid, what it really means and some Test Pyramid Anti-Patterns
  • Recap of what Continuous Integration (CI) and Continuous Delivery (CD)
  • Describe the case-study of an Enterprise on the path to implement CD, including challenges related to scale in implementing processes and practices, managing distributed teams, changes in requirements, etc.
  • Walk-through the Test Strategy for this Enterprise
  • Different types of testing required (Starting from Unit, and all the way up to UI, NFRs, batches, migrations, etc.)
  • Different types of Environments needed
  • Test data challenges and requirements
  • Importance of selecting the right tools and technology for Testing
  • How does Manual testing fit in this?
  • Ways to show real-time assessment of state of the product-under-test in order to take meaningful decisions for next deployment stage
  • Key takeaways from the Test Strategy to help achieve CD

Learning Outcome

  • Understand the [Test Automation Pyramid](http://martinfowler.com/bliki/TestPyramid.html), and its importance for quick feedback
  • Understand some Test Pyramid Anti-Patterns
  • Recap of what Continuous Integration (CI) and Continuous Delivery (CD) mean
  • Create a Test Strategy for complex domains / Enterprises on a journey to implement CD
  • Key takeaways to ensure the Test Strategy will help achieve CD!

Target Audience

Managers, Leads, Hand-on team members (devs / qas / product owners)

Slides


Video


schedule Submitted 8 years ago

  • 60 Mins
    Demonstration
    Intermediate

    The key objectives of organizations is to provide / derive value from the products / services they offer. To achieve this, they need to be able to deliver their offerings in the quickest time possible, and of good quality!

    In order for these organizations to to understand the quality / health of their products at a quick glance, typically a team of people scramble to collate and collect the information manually needed to get a sense of quality about the products they support. All this is done manually.

    So in the fast moving environment, where CI (Continuous Integration) and CD (Continuous Delivery) are now a necessity and not a luxury, how can teams take decisions if the product is ready to be deployed to the next environment or not?

    Test Automation across all layers of the Test Pyramid is one of the first building blocks to ensure the team gets quick feedback into the health of the product-under-test.

    The next set of questions are:
        •    How can you collate this information in a meaningful fashion to determine - yes, my code is ready to be promoted from one environment to the next?
        •    How can you know if the product is ready to go 'live'?
        •    What is the health of you product portfolio at any point in time?
        •    Can you identify patterns and do quick analysis of the test results to help in root-cause-analysis for issues that have happened over a period of time in making better decisions to better the quality of your product(s)?

    The current set of tools are limited and fail to give the holistic picture of quality and health, across the life-cycle of the products.

    The solution - TTA - Test Trend Analyzer

    TTA is an open source product that becomes the source of information to give you real-time and visual insights into the health of the product portfolio using the Test Automation results, in form of Trends, Comparative Analysis, Failure Analysis and Functional Performance Benchmarking. This allows teams to take decisions on the product deployment to the next level using actual data points, instead of 'gut-feel' based decisions.

  • Prasad
    Prasad
    Prasad
    HolleyHolland
    schedule 8 years ago
    Sold Out!
    45 Mins
    Experience Report
    Advanced

    With business agility the new watchword in senior management circles, more and more enterprises are looking for ways to adopt ‘agile’ into their technology practices. However, such an initiative needs to go beyond the mere adoption of agile in a few projects. To successfully implement enterprise IT agility, organizations need to understand the impact of agile across functions and groups, develop frameworks to sustain agile, empower teams across the board to work in an agile fashion, and invest in the right infrastructure. A strategic roadmap based on these considerations can help organizations infuse agile into their practices, processes and systems, thereby achieving true benefits of agile – faster returns, better quality and quicker time-to-market.

    This session  discusses the critical factors for an effective roadmap to implementing enterprise IT agility. It also outlines how these factors contribute to a successful enterprise IT agility strategy.

  • Shankar Garg
    keyboard_arrow_down

    Shankar Garg - Behavior Driven Development - Creating a Robust Mobile Test Framework using Appium, Cucumber-JVM & Page Objects

    30 Mins
    Demonstration
    Intermediate

    For teams developing & maintaining mobile apps for both Android & iOS platforms, functional testing is a huge challenge. With the advent of Agile practices, behavior driven testing has gained more popularity. The current process of updating apps over the air is very easy, raising users’ expectations of new features delivered sooner.

    Appium has made it easier for teams to test their apps for multiple platforms. However, it alone cannot solve the challenges around implementing behavior driven development & frequent UI/functionality updates. So we created a robust Test Framework combining the best features of Appium, Cucumber-jvm & Page Objects.

    Cucumber-jvm is a key tool in implementing BDD. Page Objects is a framework design approach for maintaining & accessing components & controls spread across test scenarios. Appium provides a JSON bridge that allows test cases to be written once, and run for multiple mobile platforms. Integrating the powerful features of these 3 tools, we can create a powerful framework that is easy to setup, use, scale and maintain.

  • Ebin John Poovathany
    Ebin John Poovathany
    Agile Coach
    GE Healthcare
    schedule 8 years ago
    Sold Out!
    90 Mins
    Workshop
    Intermediate

    This is a workshop to introduce the concept of Value and cost based prioritization. The speaker will facilitate a short game for participants to learn how to prioritize the backlong using value and cost. 

  • Om Prakash Bang
    keyboard_arrow_down

    Om Prakash Bang - Agile Business Analyst and Product Backlog Management

    45 Mins
    Talk
    Intermediate

    Agile Product development with Scrum is based on completing a set of User Stories within a time-box called a sprint. Stories describing user functionality. Conversatin with customer is the means of elaborating requirement. looks simple, right?

    Only User Stories are enough for product development? If not, what all other documents are necessary and how these are progressively elaborated? 

    What's required before agile team start sprinting? What are the challenges while transitioning from waterfall to agile related to product requirement?

    What's the role of Business Analyst in agile? BA moving into an agile team, moving to Product Owner? Can Business Analyst and Product Owner co-exist?

     

  • Sekhar Burra
    keyboard_arrow_down

    Sekhar Burra - The secret sauce of Self-Organization

    Sekhar Burra
    Sekhar Burra
    Coach
    Independent
    schedule 8 years ago
    Sold Out!
    45 Mins
    Talk
    Intermediate

    In this session, we discuss about the few facilitation techniques that a servant leader need to have to promote self-organization.

    We also focus on Evolution of an Agile team, the traits of an agile leader and various of pit falls that do not lead to self organization.

    How do you really make a team being controlled by a manager to become self- coordinating team?

    We also look at key behaviours that helps changes stick.

     

  • Smita Mishra
    keyboard_arrow_down

    Smita Mishra - Agile Tester : Change of mindset

    Smita Mishra
    Smita Mishra
    CEO
    QAZone Infosystems
    schedule 8 years ago
    Sold Out!
    45 Mins
    Talk
    Intermediate

     

    How you think defines how you act.  Agile is more of a people practice than huge technical methodology. 

    In traditional setup with waterfall methodology where each phase of the projects are serially aligned and more often than not take longer, testing is slow paced and quite reactionary. When moving to an agile setup, it requires a paradigm shift in the mindset. 

    Its important to open our minds towards not only learning more technical but also soft skills and inspire our teams to do so too. Moving from competition to collaboration (with developers), moving from mere bug finding to bug investigation, moving to exploratory testing.

    Emphasis is laid on team members and interactions instead of processes and tools. The idea is to encourage testers to think more about Agile as mentioned in Agile Manifesto than getting blindly into agile projects.

  • AnkitTandon
    AnkitTandon
    Scrum Master
    Citibank
    schedule 8 years ago
    Sold Out!
    45 Mins
    Talk
    Intermediate

    -The Sprint Planning meeting is just too long and never finishes on time.

    -I finished my tasks on time, the story couldn’t be completed as there was a dependency on him. I just didn’t have time to follow it up. Not my fault.

    -Yet again, there are left over items in the sprint. We couldn’t finish all the committed stories as some of them were too complex for their correct effort complexity estimation.

    -Ohh Gosh, once again the priority of the tasks have changed in the middle of the sprint, there are new urgent items that have to be done. My sprint commitments have gone for a toss.

    -We moved to Agile from waterfall and it has been few sprints into it, though even here vision is unclear, requirements are evolving and our sprint commitments are failing. Velocity is just been a number, Burn down graphs conclude nothing concrete and useful.

    -How do we cater support/maintenance work with Scrum?

    Does any of the above statement sound familiar to you, if yes probably it is the time to evolve and adopt KanScrumBan wrapped around XP practices.

    KanScrumBan is the combination of Kanban and Scrum and uses the best features of both. While Scrum framework helps the software development teams to self-organize, collaborate, improve efficiency constantly, work in small iterations, and avoid management overhead, applying lean methods like Kanban , flavored with XP practices can extend these benefits.

  • Vineet Patni
    keyboard_arrow_down

    Vineet Patni - Lean - Agile: The Eternal Siblings

    30 Mins
    Talk
    Intermediate

    What came first - Lean or Agile? It's a chicken-and-egg question for many. And then, there are beliefs that these two are separated twins.

    If you think that Lean software development and Agile are the same, think again!

    There are both difference and similarities in the Lean and Agile principles and practices.

    During this talk, we will discuss on how Agile and Lean are related or different. Or are they two different names of the same thing? how the principles of Lean and Agile can be leveraged in order to create complex software solutions at enterprise level.

  • Amogh
    keyboard_arrow_down

    Amogh - Team Agreements - A way to make self organized team

    20 Mins
    Talk
    Intermediate

    Why do we need team agreements?

    Scrum teams are self-organizing and cross-functional. Self-organizing teams choose how best to accomplish their work, rather than being directed by others outside the team. To become self-organized, a team has to go through various stages of team development.

    Tuckman's stages of team development The "forming, storming, norming, performing" model of team development was first proposed by Bruce Tuckman in 1965. He maintained that these phases are all necessary and inevitable in order for a team to grow, to face up to challenges, to tackle problems, to find solutions, to plan work, and to deliver results.

    A Scrum team does not have the luxury to be in each of these stages for much time, as it is expected to deliver right from the first sprint. Thus the need for formulating team agreements arises at an early stage. Sprint Zero is the ideal time for a Scrum team to go through all of these stages within a very short period. As Scrum is iterative and incremental, a Scrum team goes through Tuckman's stages in each sprint and improves its performance in every new sprint.

    Knowing what kind team agreement a Scrum team might need is useful for the team members. It helps avoid conflicts. This knowledge can help them set the team agreements in advance during Sprint Zero rather than deciding what should be done at the last moment, in the middle of working sprints. Team agreements can be defined and agreed upon in a meeting facilitated by the ScrumMaster. Various steps that can performed in this meeting are: prepare, brainstorm, sort, categorize, agree, and refine

help