{"id":11155,"date":"2022-07-08T21:08:56","date_gmt":"2022-07-08T15:38:56","guid":{"rendered":"https:\/\/www.h2kinfosys.com\/blog\/?p=11155"},"modified":"2025-08-25T10:20:48","modified_gmt":"2025-08-25T14:20:48","slug":"extreme-programming-in-agile","status":"publish","type":"post","link":"https:\/\/www.h2kinfosys.com\/blog\/extreme-programming-in-agile\/","title":{"rendered":"Extreme Programming in Agile"},"content":{"rendered":"\n<p>Extreme Programming is a technique of agile software development framework whose goal is to produce higher-quality software and a higher-quality IT development team. XP will be considered as specific of the agile frameworks related to appropriate engineering practices for software development.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>What are the values of Extreme Programming?<\/strong><\/h2>\n\n\n\n<p>There are five values of XP that will be considered&nbsp; as<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Communication:<\/strong><\/li>\n<\/ol>\n\n\n\n<p>Software development will be inherently a team sport that relies on communication to transfer knowledge from one team member to everyone else on the team. XP pressurizes the importance of the suitable type of communication that will be a face-to-face discussion with the aid of a whiteboard.<\/p>\n\n\n\n<p><strong>2. Simplicity<\/strong><\/p>\n\n\n\n<p>Simplicity means what is going on simplest thing that will work. The main purpose of this is to avoid waste and do only the absolutely necessary things like keeping the design of the system as simple as possible so that it is easy to maintain, support and also revise. Here simplicity means addressing only the requirements that we know about.<\/p>\n\n\n\n<p><strong>3. Feedback<\/strong><\/p>\n\n\n\n<p>The constant feedback about their previous efforts where teams can identify areas for improvement and revise their practices. Feedback will support a simple design. This team builds something which will collect feedback on the design and implementation and adjust our feedback on the design and implementation.<\/p>\n\n\n\n<p><strong>4. Courage<\/strong><\/p>\n\n\n\n<p>Courage is defined as effective action in the face of fear. This definition will show a preference for all the actions depending on the principles because the results will not be harmful to the team. We need the courage to accept and also act on feedback when it is difficult to accept.<\/p>\n\n\n\n<p><strong>5. Respect<\/strong><\/p>\n\n\n\n<p>The members of our team that require respect from one another in order to communicate with each other provide and accept feedback that honours our relationship and also work together to identify simple designs and solutions.<\/p>\n\n\n\n<p>Extreme programming can be taken as a software development methodology, the main intention which satisfies the customer by delivering high-quality, valuable software at small intervals. <a href=\"https:\/\/www.scrum.org\/resources\/what-scrum-module\" target=\"_blank\" data-type=\"URL\" data-id=\"https:\/\/www.scrum.org\/resources\/what-scrum-module\" rel=\"noreferrer noopener nofollow\">Scrum framework<\/a> for sustainably developing complex products that we can use with products apart from software.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>How does Extreme Programming w<\/strong>ork<strong>?<\/strong><\/h2>\n\n\n\n<p>Extreme programming and scrum have an approach we can use to develop software in a lightweight, iterative way. These are part of what\u2019s collectively known as agile development methodologies or maybe simply agile. <a href=\"https:\/\/www.h2kinfosys.com\/blog\/agile-software-development-process\/\" data-type=\"post\" data-id=\"8140\">Agile development<\/a> has many other methodologies like lean development and crystal clear.<\/p>\n\n\n\n<p>The development will start and engineers start implementing the project\u2019s features in the form of user stories. While development engineers will follow the XP engineering practices.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>By using a pair programming when writing production code<\/li>\n\n\n\n<li>By writing unit tests before the production code.<\/li>\n\n\n\n<li>The pairs will integrate their code often.<\/li>\n\n\n\n<li>By refactoring the code as often as possible<\/li>\n\n\n\n<li>By adopting collective ownership of code.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Extreme principles considers as:<\/strong><\/h2>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/www.h2kinfosys.com\/courses\/agile-scrum-training-online-course-details\/?utm_source=blog_traffic&amp;utm_medium=blog_banner&amp;utm_campaign=agile_banner\"><img fetchpriority=\"high\" decoding=\"async\" width=\"728\" height=\"90\" src=\"https:\/\/www.h2kinfosys.com\/blog\/wp-content\/uploads\/2023\/06\/AGILE-free-demo-32.png\" alt=\"\" class=\"wp-image-13644\" title=\"\" srcset=\"https:\/\/www.h2kinfosys.com\/blog\/wp-content\/uploads\/2023\/06\/AGILE-free-demo-32.png 728w, https:\/\/www.h2kinfosys.com\/blog\/wp-content\/uploads\/2023\/06\/AGILE-free-demo-32-300x37.png 300w\" sizes=\"(max-width: 728px) 100vw, 728px\" \/><\/a><\/figure>\n\n\n\n<p>The values are significant but they are vague in the sense that it will not be possible to decide if something is valuable. For example, something simple from someone\u2019s point of view may not be complex from someone else\u2019s point of view. The extreme programming, the basic principles will be derived from the values so that the development practices will be checked against the principles<\/p>\n\n\n\n<p>The basic principles of extreme programming:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Rapid feedback<\/li>\n\n\n\n<li>Assume simplicity<\/li>\n\n\n\n<li>Incremental change<\/li>\n\n\n\n<li>Embracing change<\/li>\n\n\n\n<li>Quality work<\/li>\n<\/ul>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Rapid feedback<\/li>\n<\/ol>\n\n\n\n<p>This is to collect feedback, understand it and put the learning back into the system as soon as possible. Here developers design, implement and test the system and use that feedback in seconds or minutes instead of days, weeks or months.<\/p>\n\n\n\n<ol class=\"wp-block-list\" start=\"2\">\n<li>Assume simplicity<\/li>\n<\/ol>\n\n\n\n<p>We can assume simplicity can be used to show every problem as is and it can be solved with simplicity. You can have a plan for the future, to design for reuse.<\/p>\n\n\n\n<ol class=\"wp-block-list\" start=\"3\">\n<li>Incremental change<\/li>\n<\/ol>\n\n\n\n<p>There will be a large changes made at once where it just does not work. Any problem will be solved with a series of the smallest change that makes a difference. Incremental changes are applied in many ways:<\/p>\n\n\n\n<p>The design changes a small at a time<\/p>\n\n\n\n<p>The plan changes a small at a time<\/p>\n\n\n\n<p>The team changes a little at a time.<\/p>\n\n\n\n<ol class=\"wp-block-list\" start=\"4\">\n<li>Embracing change<\/li>\n<\/ol>\n\n\n\n<p>Here the best strategy that will be one of the options is actually solving our most pressing problem.<\/p>\n\n\n\n<ol class=\"wp-block-list\" start=\"5\">\n<li>Quality work<\/li>\n<\/ol>\n\n\n\n<p>Everyone desires doing the job. We can try to produce the quality that they can be proud of. The team&nbsp; always works well<\/p>\n\n\n\n<p>It enjoys the work<\/p>\n\n\n\n<p>It also has a good product of value.<\/p>\n\n\n\n<p><strong>Questions<\/strong><\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>What is extreme programming and its values?<\/li>\n\n\n\n<li>How Extreme are Programming principles?<\/li>\n<\/ol>\n","protected":false},"excerpt":{"rendered":"<p>Extreme Programming is a technique of agile software development framework whose goal is to produce higher-quality software and a higher-quality IT development team. XP will be considered as specific of the agile frameworks related to appropriate engineering practices for software development. What are the values of Extreme Programming? There are five values of XP that [&hellip;]<\/p>\n","protected":false},"author":16,"featured_media":11175,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1419],"tags":[1447,96,97,133,144],"class_list":["post-11155","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-agile-scrum-tutorials","tag-agile","tag-agile-model","tag-agile-scrum","tag-agile-software-development","tag-extreme-programming"],"_links":{"self":[{"href":"https:\/\/www.h2kinfosys.com\/blog\/wp-json\/wp\/v2\/posts\/11155","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.h2kinfosys.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.h2kinfosys.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.h2kinfosys.com\/blog\/wp-json\/wp\/v2\/users\/16"}],"replies":[{"embeddable":true,"href":"https:\/\/www.h2kinfosys.com\/blog\/wp-json\/wp\/v2\/comments?post=11155"}],"version-history":[{"count":0,"href":"https:\/\/www.h2kinfosys.com\/blog\/wp-json\/wp\/v2\/posts\/11155\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.h2kinfosys.com\/blog\/wp-json\/wp\/v2\/media\/11175"}],"wp:attachment":[{"href":"https:\/\/www.h2kinfosys.com\/blog\/wp-json\/wp\/v2\/media?parent=11155"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.h2kinfosys.com\/blog\/wp-json\/wp\/v2\/categories?post=11155"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.h2kinfosys.com\/blog\/wp-json\/wp\/v2\/tags?post=11155"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}