Software Processes and Agile Practices

Start Date: 07/05/2020

Course Type: Common Course

Course Link:

About Course

This course delves into a variety of processes to structure software development. It also covers the foundations of core Agile practices, such as Extreme Programming and Scrum.

Course Syllabus

Are you someone who likes to see the big-picture? Being a forward thinker who knows what’s coming next is an invaluable trait as a software product manager. This module will prepare you to become this asset for your team. A software process organizes development from beginning to end. We are going to walk through each step of the development process. This will allow you to become familiar with the entire development process so that you can effectively organize product development and foresee upcoming steps--even if you’ve never worked in software development before!

Coursera Plus banner featuring three learners and university partner logos

Course Introduction

Software Processes and Agile Practices This course is designed to go over processes that are critical in the development of software. We cover what drives software development, why the process is critical, how to manage resources, and how to manage people. We’ll also discuss how to build processes so that you can’t just write code, but also have a high degree of agility and productivity. At the end of this course, you’ll be able to: • Describe how the software development process impacts the overall process of software development • Identify how the software development process impacts the overall process of software development • Manage resources both effectively and efficiently • Understand processes so that you can be more productive You will need to take this course if you want to be a proficient communicator and problem solver in software development, or if you want to move to a more advanced phase of software development.Why Process? Resource Management Process Control Efficiency in Software Development Sustainability & Sustainability of People, Planet Earth and Humanity In this course you will gain an appreciation of the sustainability and sustainability of human society and how it depends on people, planet earth and humanity. We’ll focus on three key areas: * In this course you will learn the fundamentals of sustainability and sustainability of people, planet earth and humanity.

Course Tag

Lean Software Development Agile Software Development Software Development Process Scrum (Software Development)

Related Wiki Topic

Article Example
Agile Automation Agile Automation refers to the application of select Agile software development principles, patterns and practices, to the area of industrial automation and process control software development. The term was coined by HAL Software (Ireland) in 2013.
Agile software development In 2011 the original Agile Alliance created the Guide to Agile Practices, an evolving open-source compendium of the working definitions of agile practices, terms, and elements, along with interpretations and experience guidelines from the worldwide community of agile practitioners.
Agile software development The Agile Alliance has provided a comprehensive online guide to applying agile these and other practices.
Agile software development In 2008 the Software Engineering Institute (SEI) published the technical report "CMMI or Agile: Why Not Embrace Both" to make clear that the Capability Maturity Model Integration and agile methods can co-exist. Modern CMMI-compatible development processes are also iterative. The CMMI Version 1.3 includes tips for implementing CMMI and agile process improvement together.
Agile modeling Agile modeling (AM) is a methodology for modeling and documenting software systems based on best practices. It is a collection of values and principles, that can be applied on an (agile) software development project. This methodology is more flexible than traditional modeling methods, making it a better fit in a fast changing environment. It is part of the agile software development tool kit.
Agile software development Under an agile business management model, agile techniques, practices, principles and values are expressed across five domains.
Agile software development A similar survey, the State of Agile, is conducted every year starting in 2006 with thousands of participants from around the software development community. This tracks trends on the benefits of agile, lessons learned, and good practices. Each survey has reported increasing numbers saying that agile development helps them deliver software faster; improves their ability to manage changing customer priorities; and increases their productivity. Surveys have also consistently shown better results with agile product development methods compared to classical project management. In balance, there are reports that some feel that agile development methods are still too young to enable extensive academic research of their success.
Lean software development Since Agile Software Development is an umbrella term for a set of methods and practices based on the values and principles expressed in the Agile Manifesto, Lean Software Development is considered an Agile Software Development Method.
Agile usability engineering Agile usability engineering is a method created from a combination of agile software development and usability engineering practices. Agile usability engineering attempts to apply the principles of rapid and iterative development to the field of user interface design.
Agile software development Agile methods support a broad range of the software development life cycle. Some focus on the practices (e.g., XP, pragmatic programming, agile modeling), while some focus on managing the flow of work (e.g., Scrum, Kanban). Some support activities for requirements specification and development (e.g., FDD), while some seek to cover the full development life cycle (e.g., DSDM, RUP).
Agile software development Potentially, almost all agile methods are suitable for method tailoring. Even the DSDM method is being used for this purpose and has been successfully tailored in a CMM context. Situation-appropriateness can be considered as a distinguishing characteristic between agile methods and traditional software development methods, with the latter being relatively much more rigid and prescriptive. The practical implication is that agile methods allow product development teams to adapt working practices according to the needs of individual products. Practices are concrete activities and products that are part of a method framework. At a more extreme level, the philosophy behind the method, consisting of a number of principles, could be adapted (Aydin, 2004).
Extreme programming practices Extreme programming (XP) is an agile software development methodology used to implement software projects. This article details the practices used in this methodology. Extreme programming has 12 practices, grouped into four areas, derived from the best practices of software engineering.
Agile software development The term "agile" was first coined for this in 2001, in the "Manifesto for Agile Software Development ("Agile Manifesto")," and is usually written as "Agile" (with a capital "A").
Agile software development Agile software development is often implemented as a grassroots effort in organizations by software development teams trying to optimize their development processes and ensure consistency in the software development life cycle. By not having sponsor support, teams may face difficulties and resistance from business partners, other development teams and management. Additionally, they may suffer without appropriate funding and resources. This increases the likelihood of failure.
Agile software development Agile development is supported by a number of concrete practices, covering areas like requirements, design, modelling, coding, testing, planning, risk management, process, quality, etc. Some notable agile practices include:
Agile software development The best agile practitioners have always emphasized sound engineering principles. As a result, there are a number of agile best practices and tools for measuring the performance of product development and teams.
Disciplined agile delivery Disciplined agile delivery (DAD) is a process decision framework that enables simplified process decisions around incremental and iterative solution delivery. DAD builds on the many practices espoused by advocates of agile software development, including Scrum, agile modeling, lean software development, and others.
Agile Software Corporation In February, 2005, Agile Software Corporation acquired Cimmetry Systems Corporation, a privately owned software developer specializing in enterprise visualization, for approximately US$41.5 million in cash. Cimmetry Systems Corporation became a wholly owned subsidiary of Agile Software Corporation.
Agile software development There are also agile self-assessments to determine whether a team is using agile practices (Nokia test, Karlskrona test, 42 points test).
Lean software development Lean software development practices, or what the Poppendiecks call "tools" are restated slightly from the original equivalents in Agile software development. Examples of such practices include: