We may earn an affiliate commission when you visit our partners.
Course image
Praveen Mittal and Kevin Wendt

Software is quickly becoming integral part of human life as we see more and more automation and technical advancements. Just like we expect car to work all the time and can't afford to break or reboot unexpectedly, software industry needs to continue to learn better way to build software if it were to become integral part of human life.

In this course, you will get an overview of how software teams work? What processes they use? What are some of the industry standard methodologies? What are pros and cons of each? You will learn enough to have meaningful conversation around software development processes.

Read more

Software is quickly becoming integral part of human life as we see more and more automation and technical advancements. Just like we expect car to work all the time and can't afford to break or reboot unexpectedly, software industry needs to continue to learn better way to build software if it were to become integral part of human life.

In this course, you will get an overview of how software teams work? What processes they use? What are some of the industry standard methodologies? What are pros and cons of each? You will learn enough to have meaningful conversation around software development processes.

After completing this course, a learner will be able to

1) Apply core software engineering practices at conceptual level for a given problem.

2) Compare and contrast traditional, agile, and lean development methodologies at high level. These include Waterfall, Rational Unified Process, V model, Incremental, Spiral models and overview of agile mindset

3) Propose a methodology best suited for a given situation

Enroll now

What's inside

Syllabus

Software development processes : Part 1
In this module and next one, we will learn about various software development processes at a high level to understand what is involved in each of these processes. In this module, we will cover Requirements and Architecture.
Read more
Software Development Processes : Part 2
In this module, we will learn about processes that are used to implement the software, verify and validate the software, deploy the software and maintain the software.
Software Development Models: Traditional Models
In this module we will learn about various traditional models like waterfall, RUP, Incremental, and Spiral models.
Software Development Models: Agile and Lean
In this module, we will learn about agile and modern techniques of software development. We will also learn about techniques that helps you learn faster about your market, your users, and your product.

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Introduces learners to key software development lifecycle concepts
Covers traditional methodologies such as Waterfall, RUP, Incremental, and Spiral models
Reviews contemporary agile and lean approaches to software development
Provides foundational knowledge for users to engage in meaningful discussions around software development processes
Suitable for beginners to software development seeking foundational concepts on software engineering practices
Taught by Praveen Mittal and Kevin Wendt, experienced professionals in the field

Save this course

Save Software Development Processes and Methodologies to your list so you can find it easily later:
Save

Reviews summary

Software processes and methodologies

learners say this course on software development processes and methodologies is largely positive. According to students, the practical examples and real-world scenarios make the course applicable to software engineers and project managers. The course is well-structured with a good balance of content, quizzes, and assignments. Students appreciate the instructor's clear explanations and professionalism.
The quizzes and assignments in this course are well-formulated and provide a good conceptual challenge for students.
"Good Introductory course."
"The content is concise and gives a broad overview."
"The assignments and quizzes are formulated very well, through which one gets a good conceptual challenge."
"Excellent refresher on traditional methods and good introduction with new methods."
"Course had a nice balance of content, quizzes, and assignments."
"Having to grade your peers on the same assignments was a nice way to further solidify understanding of the materials."
The instructors for this course are professional and have a deep understanding of software development processes and methodologies.
"Excellent. This is all new to me."
"They were both very clear in their presentations."
"An exceptional course offered by Coursera."
"These guys made it fun and easy to follow through although the subject is far from being an easy one."
This course is highly applicable to real-world software development scenarios, especially for those in software engineering or project management.
"Definitely Worthwhile your time and energy.Amazing performance and efforts put by the experts into clearing and introducing these concepts via lectures and test evaluation."
"Great beginner course for those interested in software development processes and methodologies."
"Very applicable especially if you're a software engineer or an aspiring IT project manager."
This course provides easy-to-understand and engaging assignments that will help you learn about software development processes and methodologies.
"Videos were very simple and easy to understand."
"Projects are engaging and seemed to really resemble real life situations."
Some students have experienced issues with the quality of peer assessments, with some reviewers not taking the time to provide constructive criticism.
"In the assignment related to application of best fit methodology, some interactive assessment would have been helpful."
"The number of peer reviews should be odd and not even."
"I'm torn, as overall the course is quite good, giving a solid overview just enough to start with from high level, but the week 1 and 2 are significantly less well demostrated than week 3 and 4: the latter ones has the balance between speech and slides, whereas the first ones don't."

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 Software Development Processes and Methodologies with these activities:
Review "Agile Software Development: Principles, Patterns, and Practices"
Review "Agile Software Development: Principles, Patterns, and Practices" to supplement course materials and gain insights into agile principles and best practices.
Show steps
Organize and compile notes, quizzes, and assignments
Organize and compile notes, quizzes, and assignments to reinforce learning and improve retention of course materials.
Show steps
  • Gather and organize notes, quizzes, and assignments from the course.
  • Create a system for easy access and retrieval of materials.
  • Review and reflect on the compiled materials regularly.
Follow online tutorials on software testing techniques
Follow online tutorials on software testing techniques to expand knowledge and improve testing skills, ensuring the quality of software products.
Browse courses on Software Testing
Show steps
  • Identify and select online tutorials on software testing techniques.
  • Follow the tutorials and complete the exercises.
  • Apply the learned techniques to practice software testing.
Five other activities
Expand to see all activities and additional details
Show all eight activities
Participate in study groups with other learners
Participate in study groups with other learners to engage in discussions, share knowledge, and enhance understanding of course concepts.
Show steps
  • Identify and connect with other learners interested in forming a study group.
  • Establish regular meeting times and a communication platform.
  • Collaborate on reviewing course materials, discussing concepts, and completing assignments.
Create a presentation on software development processes
Create a presentation on software development processes to strengthen comprehension and enhance communication skills related to these processes.
Show steps
  • Research and gather information on software development processes.
  • Organize and structure the presentation content.
  • Create visual aids and slides for the presentation.
  • Practice delivering the presentation.
Implement different design patterns in a programming language
Implement different design patterns in a programming language to solidify understanding and reinforce knowledge of object-oriented design concepts.
Browse courses on Software Design Patterns
Show steps
  • Choose a programming language and a design pattern to implement.
  • Implement the design pattern in the chosen programming language.
  • Test the implemented design pattern.
Design and develop a software architecture diagram
Design and develop a software architecture diagram to improve understanding of system structure and relationships, enhancing architectural design skills.
Browse courses on Software Architecture
Show steps
  • Gather and analyze requirements for the software system.
  • Identify and define the components and modules of the system.
  • Create a visual representation of the software architecture.
  • Validate and refine the software architecture diagram.
Build a software application using an agile methodology
Build a software application using an agile methodology to gain hands-on experience with agile practices and enhance project management skills.
Browse courses on Agile Development
Show steps
  • Define the project scope and requirements.
  • Create a project plan using an agile methodology.
  • Implement the software application in iterations.
  • Test and evaluate the software application.
  • Deploy and maintain the software application.

Career center

Learners who complete Software Development Processes and Methodologies will develop knowledge and skills that may be useful to these careers:
Project Manager
Project Managers are responsible for the planning, execution, and control of software development projects. Software Development Processes and Methodologies may be useful for this career role by providing an overview of software development processes, methodologies, and models, which may be useful for understanding the software development lifecycle and for communicating with other team members.
Data Scientist
Data Scientists use data to build models and algorithms that can be used to solve problems and make predictions. Software Development Processes and Methodologies may be useful for this career role by providing an overview of software development processes, methodologies, and models, which may be useful for understanding the software development lifecycle and for communicating with other team members.
Machine Learning Engineer
Machine Learning Engineers build and maintain machine learning models and algorithms. Software Development Processes and Methodologies may be useful for this career role by providing an overview of software development processes, methodologies, and models, which may be useful for understanding the software development lifecycle and for communicating with other team members.
Business Analyst
Business Analysts are responsible for analyzing business needs and requirements and developing solutions that meet those needs. Software Development Processes and Methodologies may be useful for this career role by providing an overview of software development processes, methodologies, and models, which may be useful for understanding the software development lifecycle and for communicating with other team members.
Software Engineer
Software Engineers apply engineering principles to the design, development, testing, and maintenance of software systems. Software Development Processes and Methodologies may be useful for this career role by providing an overview of software development processes, methodologies, and models, which may be useful for understanding the software development lifecycle and for communicating with other team members.
Database Administrator
Database Administrators are responsible for the design, implementation, maintenance, and security of database systems. Software Development Processes and Methodologies may be useful for this career role by providing an overview of software development processes, methodologies, and models, which may be useful for understanding the software development lifecycle and for communicating with other team members.
Product Manager
Product Managers are responsible for the planning, development, and marketing of software products. Software Development Processes and Methodologies may be useful for this career role by providing an overview of software development processes, methodologies, and models, which may be useful for understanding the software development lifecycle and for communicating with other team members.
Computer Scientist
Computer Scientists research and develop new computing technologies and applications. Software Development Processes and Methodologies may be useful for this career role by providing an overview of software development processes, methodologies, and models, which may be useful for understanding the software development lifecycle and for communicating with other team members.
Technical Writer
Technical Writers are responsible for writing and editing technical documentation, such as user manuals, white papers, and training materials. Software Development Processes and Methodologies may be useful for this career role by providing an overview of software development processes, methodologies, and models, which may be useful for understanding the software development lifecycle and for communicating with other team members.
Information Technology Manager
Information Technology Managers are responsible for the planning, implementation, and management of information technology systems. Software Development Processes and Methodologies may be useful for this career role by providing an overview of software development processes, methodologies, and models, which may be useful for understanding the software development lifecycle and for communicating with other team members.
Software Developer
Software Developers are responsible for analyzing user needs and designing, coding, implementing, testing, and maintaining software applications. Software Development Processes and Methodologies may be useful for this career role by providing an overview of software development processes, methodologies, and models, which may be useful for understanding the software development lifecycle and for communicating with other team members.
Systems Analyst
Systems Analysts are responsible for the analysis, design, and implementation of software systems. Software Development Processes and Methodologies may be useful for this career role by providing an overview of software development processes, methodologies, and models, which may be useful for understanding the software development lifecycle and for communicating with other team members.
Software Architect
Software Architects design and develop the architecture of software systems. Software Development Processes and Methodologies may be useful for this career role by providing an overview of software development processes, methodologies, and models, which may be useful for understanding the software development lifecycle and for communicating with other team members.
Software Tester
Software Testers are responsible for testing and evaluating software systems to ensure that they meet quality standards. Software Development Processes and Methodologies may be useful for this career role by providing an overview of software development processes, methodologies, and models, which may be useful for understanding the software development lifecycle and for communicating with other team members.
Quality Assurance Analyst
Quality Assurance Analysts are responsible for testing and evaluating software systems to ensure that they meet quality standards. Software Development Processes and Methodologies may be useful for this career role by providing an overview of software development processes, methodologies, and models, which may be useful for understanding the software development lifecycle and for communicating with other team members.

Reading list

We've selected 15 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 Software Development Processes and Methodologies.
A foundational work on software engineering. This set of essays provides both historical context and timeless advice. Provides depth.
A popular book on how to build high performing technology organizations. Provides both breadth and depth.
A popular book on site reliability engineering. Provides both breadth and depth.
Another classic textbook on agile software development. Suitable as either supplemental or replacement reading. Provides both breadth and depth.
Classic textbook on software engineering. can serve either as a reference or supplemental reading for additional depth and breadth.
An influential work on domain-driven design. Provides depth.
Provides practical advice on writing clean, maintainable code. Serves as a useful reference tool for practicing software developers.

Share

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

Similar courses

Here are nine courses similar to Software Development Processes and Methodologies.
Agile Software Development
Most relevant
Basic Manual Software Testing +Agile+Bugzilla for...
Most relevant
Global Software Development
Introduction to Software Engineering
Agile and Hybrid Approaches in a Project Environment
Agile Dev Practices: SDLC & Project Management
Software Testing Masterclass (2024) - From Novice to...
Introduction to SAFe: Navigating Scaled Agile Framework
Software Engineering Basics for Everyone
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