We may earn an affiliate commission when you visit our partners.
Course image
Coursera logo

Agile Software Development

Praveen Mittal

Software industry is going crazy on agile methods. It is rapidly becoming the choice for software development where requirements are unpredictable or is expected to change over time. This course will help you gain knowledge on what is agile? Why agile is better suited for these situations? We will also cover some of the most common agile frameworks like scrum and XP in depth.

Read more

Software industry is going crazy on agile methods. It is rapidly becoming the choice for software development where requirements are unpredictable or is expected to change over time. This course will help you gain knowledge on what is agile? Why agile is better suited for these situations? We will also cover some of the most common agile frameworks like scrum and XP in depth.

Prerequisite: You need basic knowledge of software development process and software development methodologies.

After completing this course, you will be able to :

1) Demonstrate the ability to participate effectively in agile practices/process for software development.

2) Explain the purpose behind common agile practices.

3) Ability to apply agile principles and values to a given situation.

4) Ability to identify and address most common problems encountered in adopting Agile methods.

Project: You will also be given opportunity to apply what you learn in this course. You will be given fictional case studies, where after studying the case study, you will have to exercise some of the practices, techniques, etc that team members of an agile team members are expected to know.

Enroll now

What's inside

Syllabus

Agile Fundamentals
In this module, we will learn about agile mindset, the core behind many agile methods. How agile methods are different than traditional methods and when to use agile methods. We will learn about how to apply agile mindset and finally review different frameworks available to implement agile.
Read more
Requirements and Planning
In this module we will learn about user stories and agile estimation and planning techniques.
Scrum
In this module we will learn about Scrum which is one of the most popular agile framework. We will learn about scrum practices and the purpose behind these practices.
XP and Course Wrap-up
In this module, we will compare Scrum to XP and learn about some of the engineering practices from XP.

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Taught by famous figures in the field, Praveen Mittal
Develops valuable professional skills in a field that is constantly adapting, software engineering
Examines a topic, Agile development, which is highly relevant to software engineering
Explores Scrum, a highly valued practice in industry
Teaches XP, a highly valued practice in industry
Covers essential skills: user stories and agile estimation and planning techniques

Save this course

Save Agile Software Development to your list so you can find it easily later:
Save

Reviews summary

Well-received agile course

Learners say this course lays a strong foundation for Agile software development, especially for beginners. Students appreciate the clear explanations, engaging assignments, and practical examples. The course emphasizes Agile methodologies like Scrum and XP, covering topics such as sprint planning, story mapping, and team dynamics. Learners highlight the value of peer-graded assignments and case studies, which provide hands-on experience and diverse perspectives.
The course is well-suited for beginners, providing a clear introduction to Agile principles and practices. Learners with little or no prior knowledge find it accessible and informative.
"This is a very good short introductory course on agile software development."
"This course is very useful to understand Software Development by using Agile Methodology."
"This course gave me a lot of insights as to the practicalities in the Software Industry."
Learners appreciate the instructor's expertise and ability to explain complex concepts clearly. They find the instructor engaging and passionate about the subject matter.
"The trainer is very knowledgeable and the quizzes and assignments are really wonderful which help in leveraging your knowledge on Agile-Scrum"
"It's the best course for Agile software methodology in order to understand each role and responsibility."
"The language was very simple and quizzes in between the modules helped me gathering my knowledge and polishing my skill of Agile."
Students praise the course's assignments, particularly the case studies and peer-graded projects. These assignments allow learners to apply their knowledge, receive feedback, and engage with other students.
"Assignments are extremely helpful to get a first hand experience before facing the live project situation."
"I would highly recommend you all to check it out."
Learners find the course content well-organized, comprehensive, and easy to follow. They appreciate the logical flow of topics and the inclusion of quizzes and assessments to reinforce learning.
"The course is very nicely structured and it has all the essential components that are necessary."
"It is very simple to understand the flow seems very logical and natural."
"The evaluations are very good."
Some learners express concerns about the peer review process, citing issues with plagiarism, inconsistent grading standards, and a lack of clear guidelines.
"The last assignment grading process is ridiculous"
"I doubt that the certificate as such has a huge value in my CV, as the pass criteria are relatively low."

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Agile Software Development with these activities:
Agile Software Development, Principles, Patterns and Practices
Reading the book can provide insights into real-life case studies from the Agile domain.
Show steps
  • Read the book and take notes on key concepts.
  • Identify the similarities and differences between the book's content and the course material.
Software Development Foundations
Reviewing software development concepts can help refresh and reinforce knowledge for the course.
Browse courses on Software Development
Show steps
  • Review basic software development concepts, such as data structures, algorithms.
Scrum Tutorial
Following an external tutorial on Scrum can help in visualizing the real-life uses of Scrum.
Browse courses on Scrum
Show steps
  • Search for a comprehensive Scrum tutorial.
  • Work through the tutorial, taking notes on key concepts.
  • Apply what you've learned to a Scrum project.
Five other activities
Expand to see all activities and additional details
Show all eight activities
Agile Principles Blog Post
Writing a blog post on Agile principles can help you grasp and organize your knowledge.
Browse courses on Agile Principles
Show steps
  • Identify the key principles of Agile.
  • Write a blog post explaining each principle, providing examples and real-life applications.
Agile Study Group
Participating in a study group can help reinforce what was learned in the course.
Browse courses on Agile
Show steps
  • Form a study group with classmates.
  • Meet regularly to discuss course material, work on problems together, and share resources.
Agile Estimation Drill
Performing Agile estimation drills can improve one's grasping of the topic.
Browse courses on Agile Estimation
Show steps
  • Practise Agile estimation techniques on sample user stories.
  • Compare and contrast the accuracy of different Agile estimation techniques.
Agile Project Plan
Creating an Agile project plan can help apply what was learned in the course to a real-world scenario.
Browse courses on Agile
Show steps
  • Choose a project to plan.
  • Use Agile principles and practices to create a project plan.
Agile Team Simulation
Participating in an Agile team simulation can help you experience the real-world application of Agile.
Browse courses on Agile
Show steps
  • Form a team of 4-6 people.
  • Choose an Agile framework to use, such as Scrum or XP.
  • Work on a project together, following the principles of the chosen framework.
  • Reflect on your experience and identify areas for improvement.

Career center

Learners who complete Agile Software Development will develop knowledge and skills that may be useful to these careers:
Scrum Master
A Scrum Master is responsible for facilitating agile software development projects using the Scrum framework. This course may be particularly useful for aspiring Scrum Masters as it provides a comprehensive overview of Scrum practices and the purpose behind these practices. The course covers topics such as agile mindset, user stories, agile estimation and planning techniques, Scrum, and XP. By understanding these concepts, individuals can develop the skills and knowledge necessary to effectively lead and support agile software development teams.
Agile Coach
An Agile Coach is responsible for guiding and supporting agile software development teams in adopting and implementing agile practices. This course may be useful for aspiring Agile Coaches as it provides a comprehensive overview of agile software development practices and the principles behind agile methodologies. The course covers topics such as agile mindset, user stories, agile estimation and planning techniques, Scrum, and XP. By understanding these concepts, individuals can develop the skills and knowledge necessary to effectively coach and support agile software development teams.
Product Owner
A Product Owner is responsible for defining and managing the product backlog in agile software development projects. This course may be useful for aspiring Product Owners as it provides a foundation in agile software development practices and the role of the Product Owner within agile teams. The course covers topics such as agile mindset, user stories, agile estimation and planning techniques, Scrum, and XP. By understanding these concepts, individuals can develop the skills and knowledge necessary to effectively define and manage the product backlog and contribute to the success of agile software development projects.
DevOps Engineer
A DevOps Engineer is responsible for bridging the gap between development and operations teams to ensure that software systems are delivered and maintained efficiently. This course may be useful for aspiring DevOps Engineers as it provides a foundation in agile software development practices and the principles behind agile DevOps. The course covers topics such as agile mindset, user stories, agile estimation and planning techniques, Scrum, and XP. By understanding these concepts, individuals can develop the skills and knowledge necessary to effectively collaborate with development and operations teams and contribute to the success of DevOps initiatives.
Business Analyst
A Business Analyst is responsible for gathering and analyzing business requirements and translating them into technical specifications for software development projects. This course may be useful for aspiring Business Analysts as it provides a foundation in agile software development practices and the role of Business Analysts within agile teams. The course covers topics such as agile mindset, user stories, agile estimation and planning techniques, Scrum, and XP. By understanding these concepts, individuals can develop the skills and knowledge necessary to effectively gather and analyze business requirements and contribute to the success of agile software development projects.
Project Manager
A Project Manager is responsible for planning, executing, and monitoring software development projects. This course may be useful for aspiring Project Managers as it provides a foundation in agile software development practices and the principles behind agile project management. The course covers topics such as agile mindset, user stories, agile estimation and planning techniques, Scrum, and XP. By understanding these concepts, individuals can develop the skills and knowledge necessary to effectively manage agile software development projects and contribute to the success of software development teams.
IT Consultant
An IT Consultant is responsible for providing guidance and support to organizations on information technology matters. This course may be useful for aspiring IT Consultants as it provides a foundation in agile software development practices and the principles behind agile consulting. The course covers topics such as agile mindset, user stories, agile estimation and planning techniques, Scrum, and XP. By understanding these concepts, individuals can develop the skills and knowledge necessary to effectively advise organizations on the adoption and implementation of agile software development practices.
Software Tester
A Software Tester is responsible for testing software systems to identify and report defects. This course may be useful for aspiring Software Testers as it provides a foundation in agile software development practices and the principles behind agile testing. The course covers topics such as agile mindset, user stories, agile estimation and planning techniques, Scrum, and XP. By understanding these concepts, individuals can develop the skills and knowledge necessary to effectively test software systems and contribute to the success of agile software development projects.
Quality Assurance Analyst
A Quality Assurance Analyst is responsible for testing software systems to ensure that they meet quality standards. This course may be useful for aspiring Quality Assurance Analysts as it provides a foundation in agile software development practices and the principles behind agile testing. The course covers topics such as agile mindset, user stories, agile estimation and planning techniques, Scrum, and XP. By understanding these concepts, individuals can develop the skills and knowledge necessary to effectively test software systems and contribute to the success of agile software development projects.
Software Engineer
Software Engineers apply engineering principles to the design, development, and maintenance of software systems. This course may be useful for aspiring Software Engineers as it provides a foundation in agile software development practices, which are becoming increasingly common in the software industry. The course covers topics such as agile mindset, user stories, agile estimation and planning techniques, Scrum, and XP. By understanding these concepts, individuals can enhance their ability to participate effectively in agile software development projects and contribute to the success of software development teams.
Technical Writer
A Technical Writer is responsible for creating and maintaining documentation for software systems. This course may be useful for aspiring Technical Writers as it provides a foundation in agile software development practices and the role of Technical Writers within agile teams. The course covers topics such as agile mindset, user stories, agile estimation and planning techniques, Scrum, and XP. By understanding these concepts, individuals can develop the skills and knowledge necessary to effectively create and maintain documentation for agile software development projects.
Software Developer
A Software Developer is responsible for designing, implementing, and maintaining software systems. This course may be useful for aspiring Software Developers as it provides a foundation in agile software development practices, which are increasingly being adopted by software development teams. The course covers topics such as agile mindset, user stories, agile estimation and planning techniques, Scrum, and XP. By understanding these concepts, individuals can enhance their ability to participate effectively in agile software development projects and contribute to the success of software development teams.
Data Scientist
A Data Scientist is responsible for collecting, analyzing, and interpreting data to extract insights and make predictions. This course may be useful for aspiring Data Scientists as it provides a foundation in agile software development practices and the principles behind agile data science. The course covers topics such as agile mindset, user stories, agile estimation and planning techniques, Scrum, and XP. By understanding these concepts, individuals can develop the skills and knowledge necessary to effectively apply agile principles to data science projects and contribute to the success of data science teams.
Cloud Architect
A Cloud Architect is responsible for designing and implementing cloud computing solutions. This course may be useful for aspiring Cloud Architects as it provides a foundation in agile software development practices and the principles behind agile cloud computing. The course covers topics such as agile mindset, user stories, agile estimation and planning techniques, Scrum, and XP. By understanding these concepts, individuals can develop the skills and knowledge necessary to effectively design and implement cloud computing solutions for agile software development projects.
Machine Learning Engineer
A Machine Learning Engineer is responsible for designing, developing, and deploying machine learning models. This course may be useful for aspiring Machine Learning Engineers as it provides a foundation in agile software development practices and the principles behind agile machine learning. The course covers topics such as agile mindset, user stories, agile estimation and planning techniques, Scrum, and XP. By understanding these concepts, individuals can develop the skills and knowledge necessary to effectively apply agile principles to machine learning projects and contribute to the success of machine learning teams.

Reading list

We've selected nine books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Agile Software Development.
Comprehensive guide to Scrum, one of the most popular agile methodologies. It covers all aspects of Scrum, from the basics to advanced topics such as scaling Scrum to large organizations. This book valuable resource for anyone who wants to learn more about Scrum or who is using Scrum in their organization.
Introduces user story mapping, a technique for visualizing and organizing user stories. User story mapping valuable tool for agile teams because it helps them to understand the user's perspective and to create software that meets the user's needs. This book great resource for anyone who wants to learn more about user story mapping or who is using user story mapping in their organization.
Introduces the Lean Startup methodology, a process for developing new products and services that are successful in the marketplace. The Lean Startup methodology is based on the idea of "build-measure-learn" feedback loops, which help teams to quickly and efficiently iterate on their products and services.
Novel that tells the story of a fictional IT manager who is tasked with turning around a failing IT department. The novel introduces the Three Ways of DevOps, a set of principles that can help organizations to improve their IT performance.
Introduces test-driven development (TDD), a software development practice that helps teams to write high-quality code. TDD involves writing tests for your code before you write the code itself. This helps to ensure that your code is correct and that it meets the requirements. This book great resource for anyone who wants to learn more about TDD or who is using TDD in their organization.
Introduces domain-driven design (DDD), a software development approach that focuses on creating software that is closely aligned with the domain that it is used in. DDD helps to improve the quality and maintainability of software, and it can also help to reduce the risk of software projects failing. This book valuable resource for anyone who wants to learn more about DDD or who is using DDD in their organization.
Introduces agile principles, patterns, and practices. It great resource for anyone who wants to learn more about agile software development or who is using agile software development in their organization.
Save
Introduces Scrum, one of the most popular agile methodologies. It great resource for anyone who wants to learn more about Scrum or who is using Scrum in their organization.
Introduces agile software development principles and practices. It great resource for anyone who wants to learn more about agile software development or who is using agile software development in their organization.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Here are nine courses similar to Agile Software Development.
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2024 OpenCourser