In today’s fast-moving tech world, great developers do more than just write code — they build adaptable, high-quality software that meets real user needs. This hands-on course will guide you through the essential tools and mindsets that power modern software teams.
You’ll gain a deep understanding of Agile principles and the Scrum framework, learning how to iterate quickly and deliver value efficiently. Through practical Python exercises, you’ll master Test-Driven Development (TDD) and Behavior-Driven Development (BDD) — industry-proven practices that help you design cleaner, more reliable, and maintainable code.
By the end of the course, you will be able to apply Agile and Scrum frameworks to manage real-world projects effectively, write and test Python code using Pytest and Behave, and collaborate seamlessly with developers, testers, and stakeholders through shared language and executable specifications.
Whether you’re an aspiring developer or a working professional, this course empowers you to build better software, communicate more effectively, and advance your career in today’s Agile-driven industry.
Welcome to the course! This course provides a practical, hands-on introduction to Agile software development using Python, with a strong emphasis on modern testing practices such as Test-Driven Development (TDD) and Behavior-Driven Development (BDD).
In this module, we will establish a strong conceptual foundation of software development evolution and the core tenets of the Agile mindset, preparing for the practical application of Scrum, TDD, and BDD.
What's included
3 videos1 reading2 assignments
Show info about module content
3 videos•Total 13 minutes
🎥 Introduction to the Course•5 minutes
🎥 Traditional SDLC: The Waterfall Model•3 minutes
🎥 The Agile Revolution: The Manifesto Values•5 minutes
1 reading•Total 10 minutes
📚 Resource: Agile Manifesto•10 minutes
2 assignments•Total 60 minutes
❓ Module 1 Quiz•30 minutes
✍️ Case Study: Developing an Online Recipe Sharing Platform•30 minutes
Deep Dive into Scrum: Framework for Agility
Module 2•1 hour to complete
Module details
In this module, we will gain a comprehensive understanding of the Scrum framework. We will be able to identify and apply its core components in an Agile development context.
What's included
2 videos2 assignments
Show info about module content
2 videos•Total 11 minutes
🎥 Understanding Scrum: Roles, Events, and Core Principles•5 minutes
🎥 Scrum Events and Artifacts: Bringing Agile Principles to Life•5 minutes
2 assignments•Total 60 minutes
❓Module 2 Quiz•30 minutes
✍️ Application Exercise: Framework for Agility•30 minutes
Python for Agile Development: Tools & Setup
Module 3•1 hour to complete
Module details
In this module, we will set up our Python development environment, equipping with the essential tools and configurations necessary for the hands-on aspects of the course, especially regarding testing frameworks.
What's included
4 videos3 readings1 assignment
Show info about module content
4 videos•Total 23 minutes
🎥 Python Installation•3 minutes
🎥 Setting Up Python, Virtual Environments & Essential Tools for Agile Development•10 minutes
🎥 PyCharm Installation•4 minutes
🎥 Configuring PyCharm IDE and Preparing Python for Testing•6 minutes
3 readings•Total 30 minutes
🪜 Steps to Install Latest Python (Windows & macOS)•10 minutes
🪜 Setting Up PyCharm Community Edition (Windows & macOS)•10 minutes
💻 Activity: Setup your Environment•10 minutes
1 assignment•Total 30 minutes
❓Module 3 Quiz•30 minutes
Unit Testing with Pytest & TDD Fundamentals
Module 4•1 hour to complete
Module details
In this module, we will introduce the concept of unit testing and the Pytest framework, and deeply embed the Test-Driven Development (TDD) cycle (Red-Green-Refactor) as a fundamental practice for building robust and reliable software.
What's included
2 videos2 assignments
Show info about module content
2 videos•Total 22 minutes
🎥 Unit Testing with Pytest: TDD Fundamentals and Demo•10 minutes
🎥 Test-Driven Development (TDD): Red–Green–Refactor Cycle•11 minutes
2 assignments•Total 60 minutes
❓Module 4 Quiz•30 minutes
✍️ Application Exercise: Implementing a String Utility with TDD•30 minutes
Integration Testing & Introduction to BDD with Behave
Module 5•2 hours to complete
Module details
In this module, we will expand our testing knowledge beyond unit tests to integration testing. We will be introduced with Behavior-Driven Development (BDD) as a collaborative approach for defining and testing features from a business perspective using the Behave framework.
What's included
3 videos1 reading2 assignments
Show info about module content
3 videos•Total 23 minutes
🎥 Introduction to Integration Testing and Behavior-Driven Development (BDD)•4 minutes
🎥 Demo: Basic Integration Test with Pytest•4 minutes
🎥 Behavior-Driven Development (BDD) with Behave: Calculator History Demo•14 minutes
1 reading•Total 10 minutes
🪜 Steps to Install Behave & Make it Work with PyCharm (Windows & macOS)•10 minutes
2 assignments•Total 60 minutes
❓Module 5 Quiz•30 minutes
✍️ Application Exercise: Integration Testing & Introduction to BDD with Behave•30 minutes
Course Conclusion & Next Steps
Module 6•8 minutes to complete
Module details
Well done! In this final module, we will comprehensively review all key concepts covered throughout the course, reinforce the value proposition of combining Agile methodologies with Python development and modern testing practices, and be provided with clear guidance for continued growth.
UC Santa Cruz is an outstanding public research university with a deep commitment to undergraduate education. It’s a place that connects people and programs in unexpected ways while providing unparalleled opportunities for students to learn through hands-on experience.
OK
Why people choose Coursera for their career
Felipe M.
Learner since 2018
"To be able to take courses at my own pace and rhythm has been an amazing experience. I can learn whenever it fits my schedule and mood."
Jennifer J.
Learner since 2020
"I directly applied the concepts and skills I learned from my courses to an exciting new project at work."
Larry W.
Learner since 2021
"When I need courses on topics that my university doesn't offer, Coursera is one of the best places to go."
Chaitanya A.
"Learning isn't just about being better at your job: it's so much more than that. Coursera allows me to learn without limits."
When will I have access to the lectures and assignments?
To access the course materials, assignments and to earn a Certificate, you will need to purchase the Certificate experience when you enroll in a course. You can try a Free Trial instead, or apply for Financial Aid. The course may offer 'Full Course, No Certificate' instead. This option lets you see all course materials, submit required assessments, and get a final grade. This also means that you will not be able to purchase a Certificate experience.
What will I get if I purchase the Certificate?
When you purchase a Certificate you get access to all course materials, including graded assignments. Upon completing the course, your electronic Certificate will be added to your Accomplishments page - from there, you can print your Certificate or add it to your LinkedIn profile.
Is financial aid available?
Yes. In select learning programs, you can apply for financial aid or a scholarship if you can’t afford the enrollment fee. If fin aid or scholarship is available for your learning program selection, you’ll find a link to apply on the description page.