Agile Software Development with Python: TDD and BDD
Recommended experience
Recommended experience
What you'll learn
Apply Agile principles and Scrum practices to manage software development projects effectively.
Implement Test-Driven Development (TDD) and Behavior-Driven Development (BDD) to write clean, reliable, and maintainable Python code.
Build a collaborative, iterative workflow that improves communication, reduces bugs, and enhances software quality.
Skills you'll gain
Tools you'll learn
Details to know
See how employees at top companies are mastering in-demand skills
There are 6 modules in this course
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
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
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
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
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
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
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
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
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
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
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.
What's included
1 video
1 video•Total 8 minutes
- 🎥 Wrap-Up and Next Steps•8 minutes
Instructor
Why people choose Coursera for their career
Advance your career with an online degree
Earn a degree from world-class universities - 100% online
Frequently asked questions
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.
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.
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.
More questions
Financial aid available,
¹ Some assignments in this course are AI-graded. For these assignments, your data will be used in accordance with Coursera's Privacy Notice.
