We may earn an affiliate commission when you visit our partners.
Course image
Evan Bergman and Noel J. Bergman

This course provides an introduction to a few of the main development methodologies used by application programmers today. These methodologies provide a framework and structure for the process of development to ensure teams can work together and all critical steps are followed. We'll discuss the Software Development Lifecycle (SDLC), Agile concepts, Continuous Integration/Continuous Delivery and 12 Factor for cloud development.

Read more

This course provides an introduction to a few of the main development methodologies used by application programmers today. These methodologies provide a framework and structure for the process of development to ensure teams can work together and all critical steps are followed. We'll discuss the Software Development Lifecycle (SDLC), Agile concepts, Continuous Integration/Continuous Delivery and 12 Factor for cloud development.

No previous development experience is necessary to complete this course, and there are no specific hardware or software requirements outside of the Coursera environment.

Enroll now

What's inside

Syllabus

Introduction to Development Methodologies
In this module, we'll list the topics covered in this curriculum. We'll also discuss the Software Development Lifecycle (SDLC), development methodologies, and structured methodologies versus unified methodologies.
Read more
Agile
In this module, we'll introduce some Agile concepts, discuss methodologies and tools, look at how Agile manages risks, and explore the Agile Manifesto. We will also explore Agile roles, Sprint meetings, and planning a Sprint.
CI/CD
In this module, we will compare and contrast Continuous Integration, Continuous Delivery, and Continuous Deployment. We will also the capabilities of the Jenkins automation server.
12 Factor Apps
In this module, we'll be exploring the 12 factor App methodology. We will look at how it applies to Cloud Native apps and how it can be used in Kubernetes.

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Provides a structured approach to complex development projects, ensuring team collaboration and best practices
Suitable for individuals with no prior development experience, making it accessible to aspiring programmers
Covers Agile methodologies, which are widely used in industry, providing learners with relevant and practical knowledge
Introduces Continuous Integration and Continuous Delivery practices, which are essential for modern development workflows
Explores the 12 Factor App methodology, which is particularly valuable for cloud-based development

Save this course

Save Development Methodologies Overview to your list so you can find it easily later:
Save

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 Development Methodologies Overview with these activities:
Practice coding before starting the course
Solidify coding skills and reduce potential obstacles during the course.
Show steps
  • Review basic programming concepts
  • Solve coding challenges on platforms like HackerRank or LeetCode
Review Software Development Lifecycle (SDLC)
Revisit the Software Development Lifecycle to better prepare for the Agile and DevOps methodologies.
Show steps
  • Review the SDLC phases
  • Research the advantages and disadvantages of SDLC
  • Identify real-world examples of SDLC
Form a study group for Agile methodologies
Collaborate with peers to enhance understanding and share insights on Agile methodologies.
Show steps
  • Identify interested classmates
  • Establish regular meeting times
  • Discuss Agile concepts and case studies
Five other activities
Expand to see all activities and additional details
Show all eight activities
Complete Agile simulations
Engage in hands-on simulations to reinforce Agile principles and practices.
Browse courses on Agile
Show steps
  • Join an online Agile simulation platform
  • Participate in multiple simulation rounds
  • Analyze the results and identify areas for improvement
Read 'Agile Project Management with Scrum'
Gain a comprehensive understanding of Scrum and its application in Agile project management.
Show steps
  • Read the book thoroughly
  • Identify key concepts and principles
  • Consider how Scrum can enhance your development practices
Build a Continuous Integration (CI) pipeline
Gain practical experience in setting up and managing a CI pipeline to ensure code quality and efficiency.
Browse courses on Continuous Integration
Show steps
  • Configure the CI pipeline
  • Choose a CI tool
  • Integrate the pipeline with your development environment
  • Monitor and maintain the pipeline
Explore 12-Factor Apps in Kubernetes
Enhance your understanding of 12-Factor Apps and their application in Kubernetes for cloud-native development.
Show steps
  • Identify a tutorial on 12-Factor Apps in Kubernetes
  • Follow the tutorial step-by-step
  • Deploy a sample 12-Factor App to Kubernetes
Develop a personal portfolio website
Apply the methodologies and concepts learned in the course to build a tangible project.
Show steps
  • Plan and design the website
  • Implement the frontend and backend using concepts covered in the course
  • Deploy and host the website
  • Evaluate and iterate on the website based on feedback

Career center

Learners who complete Development Methodologies Overview will develop knowledge and skills that may be useful to these careers:
Software Developer
Software Developers write the code that makes software programs function. They may also design software or conduct research to improve software performance. This course introduces Software Development Life Cycles (SDLCs), Agile methodologies, Continuous Integration CI/CD), and 12-Factor Apps. These are all important concepts for Software Developers of all kinds. Taking this course may help you get certified as a Software Developer.
Software Engineer
Software Engineers research, design, build, test, and maintain software systems. They work with a wide range of technologies, including programming languages, operating systems, databases, and networks. This course may help Software Engineers understand the different methodologies and tools that are available to them. This can help them build and maintain software systems more efficiently and effectively. The course has a particular focus on Agile methodologies, which are increasingly important in software development.
Web Developer
Web Developers design and develop websites and web applications. They use a variety of programming languages and technologies to create websites that are both functional and aesthetically pleasing. This course introduces 12-Factor Apps. This is a methodology for building cloud-native applications that are scalable, reliable, and maintainable. Taking this course may help individuals become more effective Web Developers.
DevOps Engineer
DevOps Engineers work to bridge the gap between software development and IT operations. They use automation and other tools to improve the efficiency and reliability of software delivery. This course introduces Continuous Integration (CI) and Continuous Delivery (CD). These are important concepts for DevOps Engineers, as they help to automate the software delivery process and improve software quality. The course also provides an overview of the Software Development Lifecycle (SDLC), which is essential for understanding the overall process of software development.
Cloud Engineer
Cloud Engineers design, build, and maintain cloud-based systems. They work with a variety of cloud computing technologies, including cloud platforms, databases, and networks. This course introduces 12-Factor Apps. This is a methodology for building cloud-native applications that are scalable, reliable, and maintainable. Taking this course may help individuals become more effective Cloud Engineers.
Data Scientist
Data Scientists use data to solve business problems. They use a variety of statistical and machine learning techniques to build models that can predict future outcomes. This course introduces the Software Development Lifecycle (SDLC). This is important for Data Scientists, as it helps them understand the overall process of software development. The course also provides an overview of Agile methodologies, which are increasingly important in software development.
Product Manager
Product Managers are responsible for the development and launch of new products. They work with a variety of stakeholders, including engineers, designers, and marketing teams. This course introduces the Software Development Lifecycle (SDLC). This is important for Product Managers, as it helps them understand the overall process of software development. The course also provides an overview of Agile methodologies, which are increasingly important in software development.
Project Manager
Project Managers are responsible for planning, executing, and closing projects. They work with a variety of stakeholders, including project teams, clients, and sponsors. This course introduces the Software Development Lifecycle (SDLC). This is important for Project Managers, as it helps them understand the overall process of software development. The course also provides an overview of Agile methodologies, which are increasingly important in software development.
Systems Analyst
Systems Analysts work with businesses to identify and solve problems. They use a variety of techniques, including data analysis, process mapping, and systems design. This course introduces the Software Development Lifecycle (SDLC). This is important for Systems Analysts, as it helps them understand the overall process of software development. The course also provides an overview of Agile methodologies, which are increasingly important in software development.
Technical Writer
Technical Writers create documentation for software and other technical products. They work with a variety of stakeholders, including engineers, designers, and end users. This course introduces the Software Development Lifecycle (SDLC). This is important for Technical Writers, as it helps them understand the overall process of software development. The course also provides an overview of Agile methodologies, which are increasingly important in software development.
Quality Assurance Analyst
Quality Assurance Analysts test software to identify and fix defects. They work with a variety of stakeholders, including engineers, designers, and end users. This course introduces the Software DevelopmentLifecycle (SDLC). This is important for Quality Assurance Analysts, as it helps them understand the overall process of software development. The course also provides an overview of Agile methodologies, which are increasingly important in software development.
Software Architect
Software Architects design and build software systems. They work with a variety of stakeholders, including engineers, designers, and end users. This course introduces the Software Development Lifecycle (SDLC), Agile methodologies, and 12-Factor Apps. These are all important concepts for Software Architects. Taking this course may help you get certified as a Software Architect.
Database Administrator
Database Administrators manage and maintain databases. They work with a variety of stakeholders, including database users, engineers, and designers. This course introduces the Software Development Lifecycle (SDLC). This is important for Database Administrators, as it helps them understand the overall process of software development. The course also provides an overview of Agile methodologies, which are increasingly important in software development.
Network Administrator
Network Administrators manage and maintain computer networks. They work with a variety of stakeholders, including network users, engineers, and designers. This course introduces the Software Development Lifecycle (SDLC). This is important for Network Administrators, as it helps them understand the overall process of software development. The course also provides an overview of Agile methodologies, which are increasingly important in software development.
Systems Administrator
Systems Administrators manage and maintain computer systems. They work with a variety of stakeholders, including system users, engineers, and designers. This course introduces the Software Development Lifecycle (SDLC). This is important for Systems Administrators, as it helps them understand the overall process of software development. The course also provides an overview of Agile methodologies, which are increasingly important in software development.

Reading list

We've selected 12 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 Development Methodologies Overview.
Provides a comprehensive overview of Agile software development principles, patterns, and practices. It valuable resource for anyone who wants to learn more about Agile and how to apply it to their own projects.
Introduces the Lean Startup methodology, which process for developing and validating new products and services. It valuable resource for anyone who wants to learn more about how to start and grow a successful business.
Provides a practical guide to writing clean and maintainable code. It valuable resource for anyone who wants to improve the quality of their software.
Provides a comprehensive overview of Agile project management with Scrum, a popular Agile framework. It valuable resource for anyone who wants to learn more about Scrum and how to use it to manage their projects.
Provides a practical guide to test-driven development (TDD), a technique for writing software that is both reliable and maintainable. It valuable resource for anyone who wants to learn more about TDD and how to apply it to their own projects.
Provides a comprehensive overview of domain-driven design (DDD), a software design technique that focuses on the business domain. It valuable resource for anyone who wants to learn more about DDD and how to apply it to their own projects.
Provides a practical guide to design patterns, a set of reusable solutions to common software design problems. It valuable resource for anyone who wants to learn more about design patterns and how to apply them to their own projects.
Classic work on design patterns, a set of reusable solutions to common software design problems. It valuable resource for anyone who wants to learn more about design patterns and how to apply them to their own projects.
Classic work on software engineering, covering topics such as project management, software design, and software testing. It valuable resource for anyone who wants to learn more about software engineering and how to build successful software projects.
Comprehensive textbook on software engineering, covering topics such as software development, software testing, and software maintenance. It valuable resource for anyone who wants to learn more about software engineering and how to build successful software projects.
Comprehensive textbook on software testing, covering topics such as test planning, test design, and test execution. It valuable resource for anyone who wants to learn more about software testing and how to improve the quality of their software.

Share

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

Similar courses

Here are nine courses similar to Development Methodologies Overview.
DevOps for Network Automation (NetDevOps)
Continuous Inspection and Configuration Management -...
DevOps, CI/CD(Continuous Integration/Delivery) for...
Getting Started with Software Development Using Cisco...
Continuous Integration
Software Development Processes and Methodologies
DevOps Basics for Everyone
Workforce Productivity
DevOps Foundations: Continuous Integration and Continuous...
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