Development & Testing with Agile: Extreme Programming

Agile    |    Intermediate
  • 21 videos | 2h 32m 24s
  • Includes Assessment
  • Earns a Badge
  • Certification PMI PDU
Rating 4.2 of 742 users Rating 4.2 of 742 users (742)
The Extreme Programming methodology is intended to improve software quality and responsiveness, as well as handle changing software requirements. In this course, you'll learn how Extreme Programming is a framework that aims to produce higher quality software and an efficient and positive way of life for the developers on the team. You'll dive deep into the Extreme Programming methodology including its concepts, life cycle, and roles. You'll explore source control tools such as GIT, as well as how they are used in Extreme Programming. By the end of the course, you'll have also learned the benefits of Extreme Programming, including the interconnected set of twelve practices and how the methodology as a whole is helping to integrate Agile into software development for an efficient and dynamic team.


  • Discover the key concepts covered in this course
    Describe extreme programming (xp) concepts, including its roles, values, and benefits
    Describe extreme programming using a software development use case
    Recognize the planning game practice and its purpose
    Recognize the pair programming practice and its purpose
    Describe the effectiveness of pair programming as an agile tool to develop software
    Recognize the test-driven development practice and its benefits
    Define the test-driven development cycle from beginning to end
    Describe the customer's role in xp
    Provide an overview of source control management and tools
    Describe source control tools and how they can be used in an agile project
  • Recognize the practice of continuous integration
    Demonstrate how continuous integration tools help agile software development
    Describe the coding standard practice and its benefits to agile software development
    Describe the concept of collective code ownership and its benefits
    Identify the practice of code refactoring
    Describe how code refactoring helps agile software development based on examples
    Recognize the small releases practice and its use for iterative releases in agile software development
    Recognize the system metaphor practice and its elements
    Describe the concepts behind the 40-hour week
    Summarize the key concepts covered in this course


  • 1m 48s
    In this video, you’ll learn more about the course and your instructor. In this course, you’ll learn about Extreme Programming. This is a framework aimed to produce higher-quality software and an efficient and positive way of life for developers on a team. You’ll learn Extreme Programming methodology, including its concepts, lifecycle, and roles. You'll explore source control tools like GIT and how it's used in Extreme Programming. Finally, you’ll learn the benefits of extreme programming. FREE ACCESS
  • 9m 52s
    In this video, you’ll learn more about Extreme Programming or XP. The purpose of Agile software development is to provide a means to develop software efficiently and elicit feedback as quickly as possible. The XP is the most direct of all the Agile frameworks because it lays out the appropriate engineering practices well. Like most Agile frameworks, XP is designed to excel in three main areas. FREE ACCESS
  • Locked
    3.  Extreme Programming Use Case
    8m 17s
    In this video, you’ll learn more about XP use cases. XP is the framework to use if the activities you’ll be doing are performed throughout the development phase. With XP all work is done during development. This means the direction can change as needed without having to reset the project. XP is also a good tool when builds and deployments are iterative, when simple versions of the software will be released and continuously improved. FREE ACCESS
  • Locked
    4.  Planning Game Practice
    8m 24s
    In this video, you’ll learn more about XP’s planning process. This feature is referred to as the planning game. The planning game starts with organizing a meeting with the development team, customer, and stakeholders. It’s typically run at the beginning of the project, and then at some logical cadence after that. Some teams run it every sprint and some run it less frequently. The purpose is to make sure everyone's on the same page. FREE ACCESS
  • Locked
    5.  Pair Programming Introduction
    7m 24s
    In this video, you’ll learn more about the Pair Programming technique. With Pair Programming, at least two developers come together to solve a problem. They actually code the solution. Pair Programming involves two or more programmers. The objective of Pair Programming is to jointly solve a problem, so one of the most important aspects is that there's a single shared workstation. FREE ACCESS
  • Locked
    6.  Effectiveness of Pair Programming
    6m 18s
    In this video, you’ll learn more about the effectiveness of Pair Programming. When deployed appropriately, Pair Programming provides significant advantages. Effective Pair Programming requires understanding the different styles of Pair Programming. There are six common styles of Pair Programming, unstructured pairing, driver navigator, backseat navigator, tour guide, ping pong pairing, and distributed pairing. You’ll explore each here. FREE ACCESS
  • Locked
    7.  Test-driven Development
    8m 52s
    In this video, you’ll learn more about test-driven development. Test-driven development, or TDD, is a methodology used to help improve the quality of software being built. With TDD you create the test that proves your software is working before you create the actual software. Once the software is created, it will meet the quality bar that you've set for it. Now TDD can be broken down into three tightly interwoven elements, design, coding, and testing. FREE ACCESS
  • Locked
    8.  Test-driven Development Life Cycle
    5m 57s
    In this video, you’ll learn more about the test-driven development life-cycle. One of the main goals of TDD is to make sure the code is as efficient as possible. By writing specific tests and making sure only enough code is written to satisfy those tests, you keep the code to the bare minimum required to satisfy requirements. That’s the second goal of TDD. It ensures you're meeting the functional requirements of the project. FREE ACCESS
  • Locked
    9.  Customer Role in Extreme Programming
    7m 44s
    In this video, you’ll learn more about the customer role in extreme programming. The customer role is so important they must always be available. The customer is the one who has the information. The development team can figure out how to make things, but it's the customer that tells us what needs to be done, and why it needs to be done. The customer is so involved they're considered part of the development team. FREE ACCESS
  • Locked
    10.  Source Control Management and Tools
    7m 22s
    In this video, you’ll learn more about source control management and tools. Source control management or SCM, and the various associated tools associated with it, is the most important thing you can implement in your development practice. SCM can be used to track work, track code, and manage your source altogether. It helps you with version control. One of the main benefits of SCM is that it lets you maintain a single source of truth. FREE ACCESS
  • Locked
    11.  Source Control Tools
    11m 27s
    In this video, you’ll watch a demo. In this demo, you’ll learn the concept of source control and a common usage pattern. First, you’ll create a repository in GitHub, connect to it from your local machine, create a branch, update some code, commit your work, and then merge the branch back into the root. Now, you’ll use your browser and navigate to GitHub. What you’ll do next is create a new repository. FREE ACCESS
  • Locked
    12.  Continuous Integration
    7m 34s
    In this video, you’ll learn more about continuous integration or CI. This is a natural and logical progression of source control management and Agile processes like XP. CI is the process by which code is automatically retrieved from the code repository, and compiled, tested, and packaged every time a commit is made. CI is predicated on the idea that you have a single source code repository for your product. FREE ACCESS
  • Locked
    13.  Using Continuous Integration Tools
    6m 53s
    In this video, you’ll watch a demo. In this demo, you’ll implement a simple continuous integration action in GitHub. You’ll start where you left off in the last demo when you created a repo and put a simple Hello World console app in there. You’ll use GitHub to create a set of actions that compiles and packages your code in preparation for deployment. The first you’ll do is head to your GitHub repository. FREE ACCESS
  • Locked
    14.  Coding Standard Practice and Benefits
    9m 13s
    In this video, you’ll learn about coding standard practice and benefits. It’s important to implement appropriate coding standards to ensure your software runs correctly. Proper coding standards result in a constant outcome. If everyone writes code the same way with the same patterns, formats and methodologies every single time, the likelihood that your team will produce consistent results is greatly increased. Coding standards drastically improve the manageability of your code. FREE ACCESS
  • Locked
    15.  Collective Code Ownership
    7m 11s
    In this video, you’ll learn about collective code ownership. One thing that often gets forgotten by development teams is that it's the team that produces a quality product, not an individual. This is important because it means there's a collective ownership of the product and its code. If the product is good, it's because the team did a good job. If the product has issues, it's the team that's responsible for resolving the problem. FREE ACCESS
  • Locked
    16.  Code Refactoring
    7m 43s
    In this video, you’ll learn about code refactoring. Refactoring is the action of editing code without making any actual changes to its overall function. Refactoring means that you can completely rewrite the internals of a method, but the function would remain the same. There are many reasons to refractor code, and one of the most common reasons is to increase code efficiency. FREE ACCESS
  • Locked
    17.  Refactoring in Agile Software Development
    6m 55s
    In this video, you’ll learn about refactoring in Agile. In Agile, refactoring helps improve the overall consistency of the software produced. Combining the iterative approach of Agile and the iterative improvement benefits of refactoring fits well. Refactoring helps fix bad code. It can take decent code and make it better. It helps make code more stable. Refactoring also helps increase time efficiency. FREE ACCESS
  • Locked
    18.  Small Releases
    7m 59s
    In this video, you’ll learn about small releases in Agile. One of the tenants of Agile development methodologies, particularly with XP, is focusing on small releases. There are many advantages to this approach. For example, with small releases, you can deliver value to the customer very quickly because each release is incremental. Each release doesn't have to be large. Each release has one objective, to elicit feedback. The smaller the release, the quicker the feedback. FREE ACCESS
  • Locked
    19.  System Metaphor
    7m 46s
    In this video, you’ll learn about system metaphors in Agile. One common strategy with XP or really any software development methodology is to use system metaphors. A system metaphor is a strategy where you can change standard project architecture names to easily understood non-technical terms or phrases. A system metaphor allows the entire team to better understand the system. This gets everyone on the same page quickly and allows ideas to flow with fewer hurdles. FREE ACCESS
  • Locked
    20.  Applying the 40-hour Work Week
    6m 57s
    In this video, you’ll learn about the strict application of the 40-hour work week in Agile. Agile processes require developers to work no more than 40 hours per week, or at least not work overtime more than two weeks in a row. By asking people to work a regular work week and not beyond, you'll find that your team members work better. That’s because people naturally work best when they're well-rested. FREE ACCESS
  • Locked
    21.  Course Summary
    In this video, you’ll summarize what you’ve learned in this course. You’ve examined extreme programming and the various practices with examples. You explored extreme programming, planning game practice, and pair programming. You learned about test-driven development, customer role practice, and source control management and tools. You also learned about continuous integration and coding standards, collective code ownership and code refactoring, small releases, and system metaphors, and applying the 40-hour workweek. FREE ACCESS


Skillsoft is providing you the opportunity to earn a digital badge upon successful completion on some of our courses, which can be shared on any social network or business platform.

Digital badges are yours to keep, forever.


Rating 4.5 of 55 users Rating 4.5 of 55 users (55)
Rating 4.5 of 41 users Rating 4.5 of 41 users (41)
Rating 4.4 of 48 users Rating 4.4 of 48 users (48)


Rating 4.4 of 49 users Rating 4.4 of 49 users (49)
Rating 4.3 of 73 users Rating 4.3 of 73 users (73)
Rating 4.4 of 223 users Rating 4.4 of 223 users (223)