Extreme Programming | Glossary

Definition

Extreme programming (XP) is a software development methodology which is intended to improve software quality and responsiveness to changing customer requirements. It is a type of Agile Software Development, which advocates frequent “releases” in short development cycles. It is intended to improve productivity, and introduce checkpoints at which new customer requirements can be adopted.

Origin

Extreme programming was created by Kent Beck during his work on the Chrysler Comprehensive Compensation System (C3) payroll project. Beck became the C3 project leader in March 1996, and began to refine its’ development methodology, eventually writing a book about it. In October 1999, “Extreme Programming Explained” was published.

Pros

  • Extreme Programming aims at bringing about efficiency in the coding process and providing customers with maximum value
  • It stresses importance to individuals and interactions over processes and tools, working software over documentation, customer collaboration over contract negotiation, and responding to change over following a plan
  • Extreme Programming trims unproductive activities to reduce costs and frustration of everyone involved

Cons

  • Extreme Programming is challenging to adopt completely and it becomes challenging to enforce culture change.

Further Reading

  • “Extreme Programming Explained” by Kent Beck
  • “eXtreme Programming in Action: Practical Experiences from Real World Projects” by Martin Lippert.

Know more about Extreme Programming by visiting our website.

DevOps | Glossary

Definition

DevOps is a software development and delivery process, which emphasizes on communication and collaboration between, product management, software development, and operations professionals.

Origin

The term DevOps was popularized through a series of “devopsdays” starting in 2009 in Belgium. Since then, there have been devopsdays conferences, held in many countries, worldwide. The popularity of DevOps has grown in recent years, inspiring many other tangential initiatives including OpsDev, WinOps and BizDevOps.

Pros

  • Recovery rate from failures is much faster through DevOps model
  • Application development rate is very high in companies through DevOps compared to those who don’t use DevOps
  • The quality is improved drastically, the time and effort spent on unplanned work and bug fixing is reduced
  • Customer experience and satisfaction is high since credibility is maintained by providing them the applications on time.

Cons

  • The main problem with a DevOps team is a risk of security issues. This is because the security team is not integrated with
    DevOps, and they have no idea about the methodologies being used to speed up Application development Process
  • Requires a Major change in mindset of the people and organizational culture, which cannot happen overnight
  • Switching to DevOps from Waterfall is very difficult and often results in failure.

Further Reading

  • “The DevOps Handbook: How to Create World‑Class Agility, Reliability, and Security in Technology Organizations”, by Gene Kim, Jez Humble, and Patrick Debois
  • “The Phoenix Project”, by Gene Kim, George Spafford, and Kevin Behr.

Know more about DevOps by visiting our website and our workshop offerings.