101.school
CoursesAbout
Search...⌘K
Generate a course with AI...

    Agile project management

    Receive aemail containing the next unit.
    • Introduction to Agile Project Management
      • 1.1History and Evolution of Agile Methodologies
      • 1.2Key Concepts and Principles of Agile
      • 1.3Introduction to Agile Project Management
      • 1.4Roles and Responsibilities in Agile
    • Agile Mindset and Agile Manifesto
      • 2.1Understanding Agile Mindset
      • 2.2Agile Manifesto and its Principles
      • 2.3Building an Agile Culture
      • 2.4Agilism and the Role of a Leader
    • Agile Leadership
      • 3.1Agile Leadership Styles
      • 3.2Role and Responsibilities of Agile Leaders
      • 3.3Facilitating Team Performance
      • 3.4Managing Conflicts and Backlogs
    • Agile Methodologies and Frameworks
      • 4.1Introduction to Scrum
      • 4.2Introduction to Kanban
      • 4.3Lean and XP Explained
      • 4.4Choosing the Right Agile Framework or Methodology
    • Building an Agile Team
      • 5.1Organizing Agile Teams
      • 5.2Building Psychological Safety Within Teams
      • 5.3Distributed Agile Teams
      • 5.4Team Performance Metrics in Agile
    • Agile Planning and Estimation
      • 6.1Introduction to Agile Planning
      • 6.2Story Points and Velocity
      • 6.3Agile Estimation Techniques
      • 6.4Capacity Planning in Agile
    • Executing Agile Projects
      • 7.1Running Agile Meetings and Setting Sprint Goals
      • 7.2Managing and Prioritizing Backlogs
      • 7.3Tracking Project Progress: Burn-Down and Burn-Up Charts
      • 7.4Handling Blockers and Impediments
    • Agile Quality Assurance
      • 8.1Quality Metrics in Agile
      • 8.2Agile Testing Strategies
      • 8.3Test-Driven Development
      • 8.4Continuous Integration and Continuous Deployment
    • Value-Driven Development
      • 9.1Principles of Value Driven Development
      • 9.2Prioritizing Value in the Backlog
      • 9.3Minimum Viable Product and Incremental Delivery
      • 9.4Value Stream Mapping
    • Agile Contracting and Governance
      • 10.1Agile Contract Models
      • 10.2Vendor Management in Agile
      • 10.3Governance in Agile
      • 10.4Compliance and Documentation in Agile
    • Agile Transformation and Scaling
      • 11.1Agile Transformation Pathways
      • 11.2Implementing Agile at Scale
      • 11.3Challenges in Agile Scaling
      • 11.4Tools for Managing Agile at Scale
    • Case Studies and Best Practices
      • 12.1Agile in IT and Software Development
      • 12.2Agile in Non-IT Industries
      • 12.3Agile Project Pitfalls and Mitigation
      • 12.4Sharing Best Practices
    • Reflection and Synthesis
      • 13.1Agile Leadership Reflections
      • 13.2Applying Agile Methodologies in Real-life Scenarios
      • 13.3Adapting Agile Frameworks to Unique Situations
      • 13.4Continuing Education and Certification in Agile

    Agile Quality Assurance

    Agile Testing Strategies

    Testing is a crucial part of any software development process, and Agile is no exception. Agile testing strategies are designed to ensure that the software product is of high quality, meets customer requirements, and is delivered on time. This article will cover the role of testing in Agile, the different types of testing, the Test-First approach, and the role of automation in Agile testing.

    The Role of Testing in Agile

    In traditional Waterfall models, testing is often a phase that comes after the development is complete. However, in Agile, testing is integrated throughout the development process. This continuous testing approach allows for early detection and resolution of defects, which leads to a higher quality product and a more efficient development process.

    Types of Testing in Agile

    There are several types of testing that are commonly used in Agile methodologies:

    1. Unit Testing: This is the process of testing individual components of the software to ensure that they are working correctly. Unit tests are typically written and maintained by developers.

    2. Integration Testing: This involves testing the interaction between different components of the software. The aim is to identify any issues that may arise when different parts of the system interact with each other.

    3. System Testing: This is a high-level testing process where the entire system is tested as a whole to ensure that it meets the specified requirements.

    4. Acceptance Testing: This is the final phase of testing, where the system is tested to ensure that it meets the customer's requirements and expectations. Acceptance tests are often written by customers or product owners.

    Test-First Approach

    The Test-First approach is a key part of Agile testing strategies. This approach, which includes Test-Driven Development (TDD) and Behavior-Driven Development (BDD), involves writing tests before writing the code. The idea is to write a test that fails, then write the minimum amount of code necessary to make the test pass, and finally refactor the code to improve its structure and readability.

    The Test-First approach has several benefits. It helps to clarify requirements before the development starts, it leads to better and more maintainable code, and it often results in a higher test coverage.

    The Role of Automation in Agile Testing

    Automation plays a significant role in Agile testing. Automated tests can be run quickly and frequently, which is essential for continuous integration and continuous delivery. Automation also helps to reduce the time and effort required for regression testing, which is the process of testing the system to ensure that existing functionality is not broken when new changes are introduced.

    There are many tools available for test automation, including unit testing frameworks, automated build tools, and continuous integration servers. The choice of tools will depend on the specific needs and context of the project.

    In conclusion, Agile testing strategies are designed to ensure that the software product is of high quality and meets customer requirements. By integrating testing throughout the development process, using a Test-First approach, and leveraging automation, Agile teams can deliver high-quality software products in a timely and efficient manner.

    Test me
    Practical exercise
    Further reading

    Buenos dias, any questions for me?

    Sign in to chat
    Next up: Test-Driven Development