Consider This When Navigating a Software Project
Recently, we have talked about The Most Important Thing in Software Engineering and one common reason Why Many Software Projects Fail. In this article, I want to look at another common problem that you should avoid in IT projects.
Let's imagine you are on a hiking trip with a friend. You have a great time exploring nature and the beautiful landscape around you. However, the region is unfamiliar, and therefore you need to check that you are on the right track from time to time. Otherwise, it might get dark before you return from your adventure, and then it gets complicated to find the way back to your accommodation.
Let's assume you have no GPS signal, your smartphone got lost or the battery is empty. How would you navigate your way back? At least you have a map in your back that you picked up at a tourist shop. You unfold the map and identify your destination immediately. However, your destination is only one part of the equation. You also need to know where your current position is. How would you find out? These are some options:
You might even need to walk further for a while until you come across one of these options to find out your current position. Now, how does that relate to software development and IT projects in general? The answer is simple: Whenever you want to reach a goal, you need to know your current position. When joining a software project, there is usually some existing software
Now, let's translate this concept to some specific actions that you can take to avoid running into this trap:
Recommended by LinkedIn
Always know where you are coming from before you head off towards your goal. Otherwise, you will run into a direction that leads you nowhere (best case) or even does harm to the company that you work for (by wasting resources, creating more work etc.).
What has been your experience with finding out your starting point in a project? Let me know in the comments below.
I total agree here Bastian. Joining an existing project always comes with a great benefit. You have a fresh view on the status quo. In my experience it is the best moment to capture the status in diagrams and request feedback on it with your new colleagues. This gives you the chance to a) update documentation, b) together with colleagues challenge design decisions, c) understand the project and highlight its architecture. A fresh view always comes with benefits, it’s up to the existing team to value it. Worst case, you have an updated architecture image, best case you identify pitfalls together and incorporate it into the team work.