DEV Community

Jim Medlock for Chingu

Posted on

Perfection is the first step to failure!

Alt Text

Developers are by nature very detail-oriented individuals. It's a required trait since the apps we create must meet the requirements imposed on us by both users and the technologies we use.

But, the downside occurs when your attention to detail turns into perfectionism. Our definition of perfectionism is devoting attention and attention to details associated with a task, before they are needed.

This is where an Agile Methodology can be your best friend.

The Agile Manifesto values "Responding to change over following a plan" and one of the 12 Agile Principles is:

Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage.

Timing is critical since it's important to do the right thing at the right time. Some practical tips include:

  • Create simple app components based on what you currently know and add to them as new details surface in later sprints.

  • Don't let what you've already created lead to resistance to change. Your code is the means to a goal, not the goal itself.

  • Design and write your code assuming that it will need to be modified and enhanced.

  • Treat your backlog as a "living" document. Continuously groom it in each sprint as new details are found.

  • Don't hide your status from the team. Information should be freely and openly shared (including problems!) since all teammates are equally responsible for reaching the MVP.

Keep in mind that being an Agile Developer means you embrace the concept of incremental development. Start simple and add complexity as needed!

Alt Text

Before you Go!

Chingu helps you to get out of “Tutorial Purgatory” by transforming what you’ve learned into experience. The experience to boost your Developer career and help you get jobs.

You can learn more about Chingu & how to join us at https://chingu.io


Top comments (4)

Collapse
 
jasterix profile image
Jasterix

Great article. What do you recommend in terms of building a backlog? Is it a list of features or incremental changes?

Collapse
 
jdmedlock profile image
Jim Medlock

I prefer to start out by creating a simple list of features to be included in the Minimum Viable Product (MVP). Think of this as the first release that can be provided to users. I then add these features as Epics in the backlog to start the process of decomposing them into User Stories, and then User Stories into tasks.

As dependencies are discovered between user functionality and app infrastructure (like a database) I'll also create tasks to build out those infrastructure components.

Collapse
 
jasterix profile image
Jasterix

I'm still learning the agile process and terminology but I think I understand what you mean

Thread Thread
 
jdmedlock profile image
Jim Medlock

Feel free to ask additional questions and I'll be happy to try and answer them for you