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!
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