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

    Continuous Integration and Continuous Deployment in Agile Quality Assurance

    software development practice based on frequent submission of granular changes

    Software development practice based on frequent submission of granular changes.

    Continuous Integration (CI) and Continuous Deployment (CD) are two critical practices in Agile Quality Assurance. They are designed to ensure that software development teams can deliver high-quality software quickly and efficiently.

    Introduction to Continuous Integration (CI) and Continuous Deployment (CD)

    Continuous Integration is a development practice where developers integrate code into a shared repository frequently, preferably several times a day. Each integration is then automatically verified by an automated build and automated tests. The primary goal of CI is to catch and address bugs quicker, improve software quality, and reduce the time it takes to validate and release new software updates.

    Continuous Deployment, on the other hand, is a software development practice where every code change goes through the entire pipeline and is put into production automatically, resulting in many production deployments every day. It is an extension of continuous integration, aiming at minimizing lead time, the time elapsed between development writing one new line of code and this new code being used by live users, in production.

    The Role of CI/CD in Agile Quality Assurance

    In Agile Quality Assurance, CI/CD plays a crucial role. It allows for the frequent release of small, incremental changes to software, which aligns with the Agile principle of iterative development. By integrating and deploying continuously, teams can ensure that each change is working as expected and that the quality of the software is maintained throughout its development.

    The Process of CI/CD: Build, Test, Deploy

    The CI/CD process can be broken down into three main stages: Build, Test, and Deploy.

    1. Build: In this stage, the code is compiled, and the software is built. Any dependencies are also resolved in this stage. The build stage is crucial for catching any issues early in the process before they become more significant problems.

    2. Test: After the build stage, the software is tested. This can involve unit tests, integration tests, and functional tests. The goal of the testing stage is to catch any bugs or issues that were not caught during the build stage.

    3. Deploy: Once the software has been built and tested, it is deployed. In a CD environment, this deployment is automatic. The software is released into the production environment, where it can be used by end-users.

    Tools for Implementing CI/CD

    There are many tools available that can help teams implement CI/CD. Some of the most popular include:

    • Jenkins: An open-source tool that provides support for building, deploying, and automating any project. It integrates with virtually any tool in the CI/CD toolchain.

    • Travis CI: A hosted continuous integration service used to build and test software projects hosted on GitHub and Bitbucket.

    • CircleCI: A CI/CD tool that supports rapid software development and publishing. It integrates closely with GitHub, Bitbucket, and other version control systems.

    • GitLab CI/CD: A part of GitLab that provides a robust framework for continuous integration and deployment.

    In conclusion, Continuous Integration and Continuous Deployment are vital practices in Agile Quality Assurance. They help teams maintain high software quality, catch bugs early, and align with the Agile principle of iterative development.

    Test me
    Practical exercise
    Further reading

    Buenos dias, any questions for me?

    Sign in to chat
    Next up: Principles of Value Driven Development