The methodology that recommends taking the best practices to extreme levels

Another method gaining popularity is Kanban, which also uses incremental improvements to continuously add parts or features until such time that the product is fit to be delivered. The process uses a visual card or signboard that displays to the development team, the customers and other stakeholders the different stages of development, the number of work items to do, being worked on, and completed, which aids the continuity of the work flow.

Alternative Software Development Methods before Agile

Before the Agile Manifesto was published, there were already different development methods being experimented and practiced to find a solution to the failing traditional methods. The waterfall method that was previously being followed was deemed too rigid to take on the changing requirements brought on by an improving technology and a more demanding client. Some of these methods were Extreme Programming (XP), Feature Driven Development (FDD), Dynamic Systems Development Method (DSDM) and Crystal.

Extreme Programming (XP)

Extreme Programming (XP) was introduced in 1996 by Kent Beck when he was working on a Chrysler payroll project. Although the term was new at that time, the methods used such as pair programming, unit testing, and customer acceptance tests have existed before. What XP did differently was to take these best practices to “extreme levels “. It was created to take into account changes that are happening at that time in software development and technology, namely, object oriented programming and the Internet. XP puts importance in co-location of customers and developers, as well as pair programming, which also coincides with the values of interaction in Agile. It also has short development cycles, focusing on the needs of today rather than those of the future, sometimes called the “You aren’t gonna need it! ” or YAGNI approach. Kent Beck is one of the signatories of the Agile Manifesto.

The methodology that recommends taking the best practices to extreme levels

Extreme programming’s goal is to deliver software that is needed when it is needed. XP is best used by a small team of programmers, between 2 and 12, working on projects with dynamic requirements or high risk. The XP development team works together with managers and customers. An example project that used XP was Encyclopaedia Britannica available on CD and web subscription.

Reference site: Extreme Programming

Feature-Driven Development (FDD)

Feature-Driven Development (FDD) was introduced in 1997 by Jeff De Luca when he was working in a software development project for a large Singapore bank. FDD was also built around software engineering best practices such as domain object modeling, developing by feature and code ownership. The blending of these practices that resulted in a cohesive whole is the best characteristic of FDD. It consists of five basic activities, namely, the development of an overall model, the building of a feature list, the planning by feature, the designing by feature, and the building by feature. Every project will have its own unique model, which will result in a feature list. The last three activities are short iterative processes, with a feature not taking longer than two weeks to build. If it will take more than two weeks, then it will have to be broken down into smaller features.

The methodology that recommends taking the best practices to extreme levels

FDD’s main purpose is to deliver tangible, working software repeatedly in a timely manner. The advantage of using FDD is that it is scalable even to large teams due to the concept of ‘just enough design initially’ (JEDI). It is a great solution to maintain control over agile, incremental and inherently complex projects because of its feature-centric process. It is used in enterprise projects as well as web projects such as the Mousebraker.com online gaming site.

Reference site: Arrkgroup – FDD Guide

Dynamic Systems Development Method (DSDM)

Dynamic Systems Development Method (DSDM) was published in 1995 by the DSDM Consortium, an association formed by vendors and experts in software engineering to provide a structure for Rapid Application Development techniques brought on by object oriented programming. The Consortium jointly developed and promoted a tool- and technique-independent development framework from best practice experiences of people working in big companies such as British Airways, American Express, Oracle and Logica. It has now evolved into a project delivery framework that is fully compatible with ISO 9000 and PRINCE2. In 2007, it was rebranded Atern after the bird Arctic Tern. However, since 2014, it has reverted back to its original name as DSDM Agile Project Framework. Also, in 2016, the DSDM Consortium rebranded as the Agile Business Consortium.

The methodology that recommends taking the best practices to extreme levels

DSDM consists of eight principles that will direct the team and create a mindset to deliver on time and within budget. Principles include focusing on the business need, delivering on time by timeboxing work, and emphasizing collaboration with end users, team members, business representatives and other stakeholders. As a framework and not just a software development method, it can also be used in non-IT projects. It is often used in government projects where it is paired with project management standards, such as PRINCE2.

Reference site: Agile Business Consortium

Crystal Methods

Crystal Methods are a family of software development methodologies developed by Alistair Cockburn from his study and interviews of teams. The methods are color-coded to signify the risk to human life. For example, projects that may involve risk to human life will use Crystal Sapphire while projects that do not have such risks will use Crystal Clear. Crystal focuses on six primary aspects: people, interaction, community, communication, skills, and talents. Process is considered secondary. There are also seven common properties in Crystal that indicate higher possibility of success and they include frequent delivery, reflective improvement, osmotic communication, and easy access to expert users. The methods are very flexible and avoid rigid processes because of its human-powered or people-centric focus. Alistair Cockburn is also one of the original signatories of the Agile Manifesto.

The methodology that recommends taking the best practices to extreme levels

Crystal Methods consider people as the most important, so processes should be modeled to meet the requirements of the team. It is adaptive, without a set of prescribed tools and techniques. It is also lightweight, without too much documentation, management or reporting. The weight of the methodology is determined by the project environment and team size. For example, Crystal Clear is for short-term projects by a team of 6 developers working out of a single workspace.

Conclusion

Many teams and organizations have realized benefits, advantages and improvement by adopting agile methodologies. However, challenges continue to come because of unique requirements and transforming business landscapes, especially difficult in large enterprises. Thus, the problem of scaling agile delivery process continues to be difficult to solve, and is currently being addressed by solutions such as Scaled Agile Framework (SAFe) and Large Scale Scrum (LeSS). Therefore, the goal of all companies to find that repeatable, predictable process that will improve productivity and quality continues on.

 

To learn more about Project Management, check out TechRepublic Academy.

If you’re interested in learning more about top rated project management software, the editors at Project-Management.com actively recommend the following:

1 Wrike

The methodology that recommends taking the best practices to extreme levels

Visit website

Tackle complex projects with Wrike’s award-winning project management software. Break projects into simple steps, assign tasks to team members, and visualize progress with Gantt charts, Kanban boards, and calendars. Manage resource allocation and forecasting with software that’s easy to launch. Automation and AI features strip away time-consuming admin tasks so you can do the best work of your life. Streamline your practices, align your team, and ensure you hit deadlines and stay on budget.

What is extreme programming methodology?

Extreme programming is a software development methodology that's part of what's collectively known as agile methodologies. XP is built upon values, principles, and practices, and its goal is to allow small to mid-sized teams to produce high-quality software and adapt to evolving and changing requirements.

What is called extreme in Agile methodology?

Extreme Programming (XP) is an agile software development framework that aims to produce higher quality software, and higher quality of life for the development team. XP is the most specific of the agile frameworks regarding appropriate engineering practices for software development.

What are the 3 practices of extreme programming?

eXtreme Programming (XP) – Key Practices You Need to Explore for Your Team.
Key Practice #1 – Pair Programming. ... .
Key Practice #2 – Planning Game. ... .
Key Practice #3 – Continuous Process. ... .
Key Practice #4 – Coding Standards. ... .
Key Practice #5 – Sustainable Pace. ... .
Key Practice #6 – Test Driven Development (TDD).

What type of testing should be done when using extreme programming?

Extreme Programming and test-driven development A particular type of testing typical for Extreme Programming was a source for a completely new software development practice that is called test-driven development. Its principles are simple: the software product is developed through tests.