Frequently Asked Questions: Agile
Is it possible to work with a balance between SAFe, Scrum and Kanban?
- 2 of the 3 might be a necessity in some cases
- Depends in the type of work and size of the organization
- Kanban is best choice if there is a lot of interrupt-driven type work
- Scrum and Scrum of Scrums is best for feature-driven type work
- Difficulty with using both Kanban and Scrum:
- Integration Points:
- Scrum: Regular tempo
- Kanban: No regular tempo
- May step on each other’s toes if doing both. Versioning could be problematic. Do Scrum of Scrums with both teams
- Organizations using all 3:
- Scrum and Kanban are both different agile methods
- SAFe-scaling framework. Most Safe implementations are at the team level. Can plug in Scrum teams and/or Kanban teams. Can use SAFe as the scaling vehicle with Kanban or Scrum.
- SAFe has notion of Release/PI planning
- Kanban can contribute to train, but this leans better toward Scrum. More Scrum as a team level.
- Some teams have both interrupt-driven work and plan-driven work. As long as they split capacity between the two boards, it works.
- Integration Points:
Interested in learning more about how to use Scrum or Kanban agile methods as a means of delivering your software more effectively? Check out our Agile 101 workshop.
How can testers make the transition from waterfall to Agile successfully?
Tips:
- Creating stronger partnerships between testers and developers
- Swarming to the top – testers should think in terms of “smaller slices,” instead of testing everything at once. They should focus on the most important features or tasks as early as possible in the sprint
- The Three Amigos – developers, testers, and Project Owners and sometimes business analysts should work together throughout the entire sprint to identify the key features
- Focus on Acceptance Criteria – It’s important to focus on acceptance criteria and finish all the tests related to that criteria first. That way if you are unable to complete the entire sprint you can ensure the most important tasks are done
- Balance of Testing – The goal is to find the right mixture of testing (automation testing, manual testing and exploratory testing, etc.)
Services Testing Workshop
Details
Join Zenergy for its upcoming services testing and automation workshop:
2019 Workshop Dates:
August 5-6
at The Nussbaum Center for Entrepreneurship
1451 South Elm Eugene St., Greensboro, NC 27406
Target Audience:
QA Testers (Basic knowledge of testing; theory and practice)
Services Testing and Automation Workshop:
2 Days
Do you have questions regarding agile, DevOps, Automation, CI/CD or Quality software practices? Please fill out the form and check back periodically for expert advice. Feel free to drop any content ideas, we are always looking to create content to best suit our visitors (webinar, blog, video content ideas).
Services Testing Workshop
Details
Join Zenergy for its upcoming services testing and automation workshop:
2019 Workshop Dates:
August 5-6
at The Nussbaum Center for Entrepreneurship
1451 South Elm Eugene St., Greensboro, NC 27406
Target Audience:
QA Testers (Basic knowledge of testing; theory and practice)
Services Testing and Automation Workshop:
2 Days
What certifications and organizations are recommended for someone interested in being a coach?
- Scrum Alliance is leading Scrum body – offers Coaching Certification
- ICAgile offers tactical coaching skills certification – complementary skills
- Find a mentor – Co-coach or pair coach with them. Doing this will give you some insight into whether you have the skills for coaching. (For Scrum Alliance, you have to have a mentor to get the certification)
- Certifications don’t make great coaches – Experience does
What are some things the team can do when transitioning from Waterfall to Agile practices?
- Training – Experience has been to have a mini boot camp that teams will run through. Pick methodology: Scrum or Kanban. Training needs to be experiential
- Kanban – Play pizza game
- Simulations – Simulate what Kanban looks like or what sprint looks like
- Behavior – As much doing as you can in order to get the behavior agile practices
- Key – Get going with real work as fast as you can
- Kanban – Put together a board and get team to start operating in a Kanban session
- 59-minute Scrum – Go through all of the ceremonies of Scrum. Use Pet Store app. There will be time for planning, backlog review, actual work, and retrospective. Then, you will do it again. Focused discussion at the end of the 59 minutes
- Team roles – Call out the team roles and underscore the importance of being flexible
Learn more:
Video: Tips for Testers Moving from Waterfall to Agile
Video: Waterfall to Agile Transitions Challenges: Combatting Scrummerfall
Webinars: Essential Patterns of Mature Agile Testers & Essential Patterns of Mature Agile Teams
Do you think that an industrial company could gain from Agile?
- Agile and scrum is being used in school systems
- Scrum is effective in non-profits and churches
- Kanban can be used in a wide variety of places
- Genesis of scrum is in software but it is getting traction in other places
- In the last 5-8 years, agile moved out to other organizations
- Recommended book called “The Wisdom of Crowds” by James Surowiecki
- Agile can be used in any organization. It is not software-centric
- Any organization can gain some value from implementing agile principles and values
- There are cultural barriers in agile adoption but they are not insurmountable
- Lean manufacturing concepts align well with agile
- Agile principles can apply to more industrial setting
- Mechanical may change how you do it, but the principles will be the same
How should bugs be handled by agile teams?
- The general rule is that a bug found in a sprint is fixed in that sprint.
- There should be a conversation between the team on how to handle the bug.
- Don’t create any heavy documentation around bugs unless you have a distributed team. Instead, keep whiteboard where you can track known issues.
- Bugs should be fixed in the same sprint they are found in, unless they are from a feature that was thought to be too large for the sprint. A bug could also open as a story, with story points, documentation, and priority. How does this bug align with other work that you have to do?
- Don’t want to lose track of the bug.
- All bugs are not equal. Recommend fixing it rather than tracking it.
- Generally speaking, the majority of bugs are small and not complex. A small bug is 1- 2 points. 10-point bugs are the minority.
- Small bugs found outside the sprint should be aggregated into story. This will provide a better demo, since it will be thematic. This will resonate with stakeholders since they will be able to see all the bugs resolved in one particular area.
Read our blog: Bugs, Bugs, and More Bugs for more insight
Product Ownership: Who owns the backlog?
- Technically the Product Owner owns the backlog (that is what it says in the Scrum guide)
- Product Owner is not sole contributor to the backlog
- Testers need to ensure that what Product Owner asks for is what Development builds
- Adding Acceptance criteria to stories is a good opportunity for testers
- Asking questions about how users will use feature is another way that tester can contribute
- Driving conversations around testability is also a way that tester can contribute
- Good Product Owner creates space where everyone can add to the backlog
- Product Owner has final say about backlog
Watch our webinar for more insight: A Tester’s Guide to Collaborating with Product Owners
What are the 4 quadrants of Product Ownership?
- Product ownership involves skills associated with Product Manager, Leader and Business Analyst
- Testers should look at each of these areas/skillsets and see where they can help. Testers have customer skill set like Product Owner’s. They have customer perspective
- Testers are comfortable diving into questions such as: What does a customer want? What is the long term vision?
What are some key patterns for Product Owners and Tester Collaboration?
- Bridge stories from team to the Product Owner
- Help write solid acceptance tests
- Hold everyone “accountable” to Definition of Done (DoD)
- Represent the customer
- Ask Questions
- What about the cost of quality?
- What about the cost of testing?
- The backlog is a “plan” help focus it towards release
- Get to know your Product Owner
Frequently Asked Questions: Open Source Test Automation
What is an Open Source test automation framework?
- Free software that is used and shared by the community
- Currently on opensourcetesting.org/functional.php, there are around 135 Open Source test automation tools/frameworks available
Why is Open Source gaining in popularity?
- It is Free!!!
- IoT, Agile, popularity of Open Source development tools
- More applications are being converted to web-based
- Development teams are pushing for it
- Companies are getting more comfortable with Open Source (Eclipse, Java, Jenkins, OpenStack, Drupal, etc)
Watch automation expert, David Dang’s, StarEast presentation on Open Source Test Automation: Riding the Second Wave
What is the first wave of Open Source test automation tools/frameworks?
- FitNesse: Operates below the user interface level. The user provides various inputs to the application and determines if the correct results are returned.
- Ruby Watir: Ruby libraries used to automate web browsers. It allows users to automate clicks, fill in forms, press buttons, etc.
- Selenium RC: Writes automated web application UI tests. RC comes in two parts: server acts as an HTTP proxy for web, and client libraries with the web elements.
The first wave of Open Source test automation tools tapered off because:
- Tools were too fragmented, difficult to integrate into complete solutions
- The level of instrumentation increased the technical challenge and decreased reliability
- Learning curve tended to be higher due to overly complex and less refined solutions
- IT landscape wasn’t ready to embrace Open Source at the time
What are the current Open Source test automation tools/frameworks?
- Selenium WebDriver: Drives a browser directly using its built-in support for automation. **This is a major benefit of using Selenium. **Can create automation using different languages: Java, Python, C#, PHH…etc. If you work in a company that uses one of those as primary development language, you can go to development for help.
- Cucumber: Runs automated acceptance tests written in a behavior-driven development (BDD) style. Write in English, and turn into automation script. Uses Ruby to create step definition (Can also use with Selenium)
- Robot Framework: Generic test automation framework based on keyword- driven testing approach. The core framework is implemented using Python
The second wave of tools are more popular than the first wave because:
- WebDriver laid foundation for numerous additional tools
- Increased support from well-known organizations
- WebDriver: W3C has adopted it as the standard for browser automation. Protractor is built on top of Selenium WebDriver and allows you to work with Angular code.
- Appium (framework to work with mobile devices) built on top of Selenium WebDriver to test Mobile. Supported by Sauce Labs.
- Supports popular methodologies (Ex. Cucumber BDD)
- Cleaner abstraction layer and more concise API’s
- Less instrumentation required
- Better integration with other toolsets (Jenkins, Junit)
- Integration with CI/CD is important. Selenium is a valuable part of this integration.
What are the differences between Open Source and Packaged Tools?
- Environment: Packaged Tools are integrated. Selenium is more of a framework. It is made up of a number of packages/utilities. Capabilities have to be loaded into an IDE. Need IDE to actually access utility of that framework. You can’t just open Selenium and start coding tests.
- Browser Compatibility: Open Source handles this better than Packaged Tools. Users in the community code up what they need and share with others in the community.
- Language Support: Selenium supports more languages than Packaged Tools.
- Reporting: With Selenium you might have to download some custom reporting to give meaning to execution. Looking at stack trace is very difficult to track down issues. With Packaged Tools, reporting is included.
- Test Management: Packaged Tools have integration with ALM/QC. With Selenium, you would have to write your own Open Source architecture to upload results back into ALM/QA.
- Continuous Integration: Packaged Tools are integrated, but with Selenium have to use separate packages like Jenkins or Bamboo.
- Support: Packaged Tools have a Customer Support 800 number whereas with Open Source, support comes from the Community. Before reaching out to the Community, you must do your own due diligence to try and research/resolve issue.
- Object Management: Packaged Tools have this included. With Selenium, you will have to build your own Object Map or GUIMap.
- Test Control: Packaged Tools include this but in Selenium you have to build your own separate package such as TestNG, phpUnit, RSpecu.
Frequently Asked Questions: Combining Functional and Performance Testing
How does a functional test tool work compared to a performance test tool?
- Functional: GUI-based tools programmatically control the UI through direct interactions with each on-screen element such as input fields, buttons, links, etc.
- Performance: Protocol-based test tools capture request/response (http) and simulate UI communication with web/application servers
Watch our webinar: Should you Combine Functional and Performance Testing for more insight
What does your automated testing inventory look like?
- Understand test coverage using metrics or heat maps
- Identify scripts that are representative of a typical workload
- Target transactions that will produce meaningful results/data
- Certain transactions have high database activity-target those
- How long does it take to launch the main page?
- How long does it take to login?
- Target high IO activity
- Instrument targeted scripts as agents
- Take certain scripts and create as agent Run entire inventory but run specific scripts to collect data
- Instrument specific script(s) to become an agent that will run within a determined interval schedule and report results while the application is under load
- Added a simple timer wrapper around specific business process flows and instrumented it to be an agent for capturing responsiveness
- True test coverage is more important than number of tests
What are some considerations when planning for performance testing?
- Understand test coverage using metrics or heat maps
- Identify scripts that are representative of a typical workload
- Target transactions that will produce meaningful results/data
- Certain transactions have high database activity-target those
- How long does it take to launch the main page?
- How long does it take to login?
- Target high IO activity
- Instrument targeted scripts as agents
- Take certain scripts and create as agent Run entire inventory but run specific scripts to collect data
- Instrument specific script(s) to become an agent that will run within a determined interval schedule and report results while the application is under load
- Added a simple timer wrapper around specific business process flows and instrumented it to be an agent for capturing responsiveness
- True test coverage is more important than number of tests
No matter where you are in your agile journey we have a solution to help you reach your goals. Click for Zenergy’s Agile Maturity Continuum to learn which solutions will benefit your organization.
From mobile test automation using leading tools to manual testing on mobile devices, Zenergy has the experience to ensure mobile sites and apps perform as expected.
Zenergy’s architects design, implement, and fine-tune advanced automation strategies and frameworks for DevOps, CI/CD, and quality initiatives to ensure all scales and performs the way you want. Let Zenergy help you up your speed-to-market.
Quality gets talked about often, but do you really know how to take it to the next level? Zenergy’s roots are in the quality space so we know how to make big improvements while integrating the process with agile and dev-ops. Let us show you how.
Continuous Integration and Deployment is no longer a nice-to-have or get-to-it-later if you want modern software delivery methods and feedback loops to help you deploy faster with high quality. Zenergy can help you “shift left” to save time and cost.