DZone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Over 2 million developers have joined DZone.
Log In / Join
Refcards Trend Reports Events Over 2 million developers have joined DZone. Join Today! Thanks for visiting DZone today,
Edit Profile Manage Email Subscriptions Moderation Admin Console How to Post to DZone Article Submission Guidelines
View Profile
Sign Out
Refcards
Trend Reports
Events
Zones
Culture and Methodologies Agile Career Development Methodologies Team Management
Data Engineering AI/ML Big Data Data Databases IoT
Software Design and Architecture Cloud Architecture Containers Integration Microservices Performance Security
Coding Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
Partner Zones AWS Cloud
by AWS Developer Relations
Culture and Methodologies
Agile Career Development Methodologies Team Management
Data Engineering
AI/ML Big Data Data Databases IoT
Software Design and Architecture
Cloud Architecture Containers Integration Microservices Performance Security
Coding
Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance
Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
Partner Zones
AWS Cloud
by AWS Developer Relations
Securing Your Software Supply Chain with JFrog and Azure
Register Today

Trending

  • How To Use an Automatic Sequence Diagram Generator
  • Rule-Based Prompts: How To Streamline Error Handling and Boost Team Efficiency With ChatGPT
  • An Overview of Cloud Cryptography
  • Grow Your Skills With Low-Code Automation Tools

Trending

  • How To Use an Automatic Sequence Diagram Generator
  • Rule-Based Prompts: How To Streamline Error Handling and Boost Team Efficiency With ChatGPT
  • An Overview of Cloud Cryptography
  • Grow Your Skills With Low-Code Automation Tools
  1. DZone
  2. Culture and Methodologies
  3. Agile
  4. Important Things You Need To Know About Agile Development

Important Things You Need To Know About Agile Development

Make your team as strong as possible!

Amit Tiwari user avatar by
Amit Tiwari
·
Sep. 17, 19 · Analysis
Like (4)
Save
Tweet
Share
10.34K Views

Join the DZone community and get the full member experience.

Join For Free

The sky is the limit with Agile development.

The sky is the limit with Agile development.


In 2001, a group of 17 software developers met and discussed a new philosophy in software development. It was their opinion that the development practices of the 20th century were no longer appropriate in the 21st. Clients were frustrated by the lack of communication. Developers were frustrated by the regular need for revisions on finished projects. The product of their time together was a list of 12 principles published as part of their “Manifesto for Agile Software Development”.

The focus of this style of development is not what is being produced but how it is produced. Agile practices can be applied to any type of project. They focus on giving programming teams flexibility and efficient productivity.

Agile Values

Agile software development is based on several values that are meant to increase communication among developers and between developers and clients. They are also intended to allow clients to have a better sense of project progress so that revisions can be addressed earlier in the process.

Clear Communication

Programming team members need to be in regular communication so that questions can be answered quickly and instructions delivered directly. This makes communication more efficient, keeping everyone on the same page. It also streamlines the development process.

Short-Term Goals Over Long-term Plans

Agile software development encourages breaking projects down into smaller pieces. Partners and teams are assigned small chunks of programming with short deadlines. Short-term goals allow for greater flexibility. As changes arise, goals can be more easily modified.

Active Collaboration Between Clients and Developers

One of the frustrations for clients was not being able to see the progress on a project. At the same time, developers would be frustrated when a finished project was sent back for multiple revisions. By bringing the client in as a partner, revisions can be brought in as part of the goal-setting process during the building phase.

Shorter Feedback Loops

In the agile world, testing becomes a regular part of the process. Small pieces of the project are tested and presented on a regular basis. This gives everyone a better sense of the project’s timeline. In addition, this frequent testing allows developers to catch bugs before they become deeply entrenched in the code.

Agile Practices

Agile development does not mandate particular practices, but a number of standard practices have come into place as a result of the values of the agile model. One common example is paired programming. Here, two developers work together as they code a piece of the project. One programmer does the coding, and the other reviews the code as it is written.

Another common agile practice is the daily standup meeting. Here, each team will give a status report to the project manager. Then, new goals are set for the current day.

The final practice is working in sprints. Rather than set a long goal, many agile models encourage doing work in short bursts. Many offices use a two-week sprint model, where developers try to handle as many issues or address several user stories in a short period.

Issues with Agile Development

As with any development model, agile developing may not be the best fit for every workplace or every project. There are some common criticisms of the agile model.

Loss of Unified Design

It is said that a camel is a horse designed by a committee. When many developer teams are working on individual parts of a project, you can lose the overall unity of the original vision.

Loss of Focus

When developers are only looking at pieces, they can lose sight of the whole. This can lead to minor parts of a project taking up too much time.

Best for Object-Oriented Programming

Because OOP naturally breaks projects into chunks, OOP languages will be the natural choices for agile developers. Projects in non-OOP languages may not be as good of a fit.

Difficulty in Larger Settings

There is some concern that developing in the agile style does not work as well in large settings, where programming teams can get lost in the shuffle, or on very large projects, where many small programming chunks can be harder to track.

Further Reading

Agile Development and Testing — An Introduction

DevOps, The SDLC, and Agile Development

agile Software development

Opinions expressed by DZone contributors are their own.

Trending

  • How To Use an Automatic Sequence Diagram Generator
  • Rule-Based Prompts: How To Streamline Error Handling and Boost Team Efficiency With ChatGPT
  • An Overview of Cloud Cryptography
  • Grow Your Skills With Low-Code Automation Tools

Comments

Partner Resources

X

ABOUT US

  • About DZone
  • Send feedback
  • Careers
  • Sitemap

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • Become a Contributor
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 600 Park Offices Drive
  • Suite 300
  • Durham, NC 27709
  • support@dzone.com

Let's be friends: