Best Practices to Navigate Existing Project Work

Category Project Management

Whether you need to develop a new feature, fix a bug, refactor the existing code or you just got on board of a project that is already running, as developers we have all had an existing project work at some time or are required to do so every now and then.

Now you may have been able to deliver the project without any roadblocks, in which case you can use this post as best practices to follow for future projects. But most of the time developers face various challenges as they fail to ask relevant questions and clarify before starting work. Lack of thorough understanding of the project and its requirements often leads to assumptions making it difficult to approach the work systematically.

To avoid such roadblocks and ensure desired results you should be aware of the approach to work on an existing project and the initial steps you need to follow before you start coding.

Here’s a list of best practices that might help you initiating work on an existing project effectively.

Get the right access

One of the common problems is access permission issues that can delay deliverables. Before you begin work on a project ensure that you have the right developer-level access. And also have contact details of the relevant person in your team at hand in case you run into any access issues. Once you get your username and password do a test run to reconfirm whether you have the right access required for the job.

Understand the project

It is crucial to have a thorough understanding of the project before you start working on it. Some of the key questions listed below can help you gather right and enough information that can help you understand the project better. These questions include:

  • Why is the project running?
  • What problem is it solving?
  • How is it solving the problem?
  • Who are the end-users of your project?
  • How frequently is a feature delivered in your project?
  • What SDLC process is followed?

Besides, clarify the requirements and do not hesitate to ask questions to your team members and clients. In addition, follow these basic yet critical steps to get a complete visibility into the project:

  • Make sure you have access to proper documentation such as:
  • README file, Data Flow DiagramsArchitectural Diagrams etc.
  • Code review checklist, Non-Functional Requirements checklist, and Definition-of-Done checklist.
  • Ways of working, dos and don’ts
  • Security policies document
  • Know about the version control that is used in your project (like GIT, TFS).
  • Go through the project structure, identify the tech stack, the frameworks and the 3rd party libraries and packages used.
  • Understand why certain libraries are being used.
  • Be aware of the builds and deployment process, whether manual or automated.
  • Understand the complete structure and flow of control in your project. You can refer to the documentation and make your own flowcharts, if necessary. Get them reviewed by your team members to reconfirm your understanding of the project.
  • Request knowledge transfer sessions and invest in code time if you are starting something that is new for you but not for your team members.

Set up the development environment

Every project will have some external dependencies due to which it becomes a challenge to set up the project in dev-environment, in order to run and test locally.

  • It is easier to solve this problem if you have a dockerized project (read more on docker here), as used in this project, so that you can run and test the project locally.
  • Another way to solve this problem is to do a dev-environment setup manually. You can find the steps for doing the same in the README.md file, but that might not be enough.
  • Sometimes after setting up the dev-environment, your project may not function in an expected way, and may end up throwing errors. In that case, trace the error, look up online or discuss with the team. When you find the solution, log it in a shared sheet so that others can benefit from it.

These are some of the best practices I have listed on the basis of my experiences and challenges that I faced while working on existing projects.

If you too have come across an issue which you think might later become a roadblock, feel free to share with the team along with the resolutions or alternatives.

Ready to embark on a transformative journey? Connect with our experts and fuel your growth today!