Several tools come to mind. Gliffy is a great way to build out a diagram for a visual aid digitally. I often use a white board to physically sketch out my tables and relationships as my preference. In Quick Base University, we have some very helpful videos describing the app planning process and how to collect and organize your data and processes.https://university.quickbase.com/series/app-planningIntro to Data Modeling: https://university.quickbase.com/empower2019-course/343413Learn by Doing: https://university.quickbase.com/empower2019-course/343129
I have two different answers for this. Very commonly, people set out for a new solution as their current one is failing in some way. However, immediately they begin to try to recreate the exact same system they're looking to replace rather than imagine their new, ideal solution. That's definitely human nature as we gravitate towards what we already know and what's familiar.The second mistake that happens commonly is not identifying and agreeing on all app scope requirements. When identifying the scope to build a solution, often management and the business owners only ask for A, B and C. It's helpful to have all stakeholders sign off on what is being asked before building. That will help when stakeholders come back and ask for D, E, F and G. This always happens.
Similar to the prior question, identifying the stakeholders and potential, future stakeholders is key. You may be building a solution for just one department but there will come a time when another department will want/need information that you have in your app. Those stakeholders might also be duplicating efforts in their own processes. I find it very helpful to identify the common lists of information that people track and then try to build an ecosystem where those lists are consolidated. One source for a list of active employees and office contact numbers rather than each department maintaining their own list, for example. That way when a phone number changes, it's updated in one spot and everyone now has access to current information.I also think it's very important to identify potential "super users" that can be trained to understand the back end of the app for contingency or delegation purposes. If an app is owned and managed by just one individual, there is a risk when that person leaves for vacation or takes a different job. In order for an app to grow and evolve over time, it's particularly useful to have people collaborate on enhancements and creating a Center of Excellence to govern over your app(s).