If you ask me what my development style is like? I would have to describe it as a form of top-down view with a model view approach. I've been describing my approach to build web application this way for a few years. Every now and then I encountered a developers who will agree with this approach. I guess you can just take the definition from wiki page but really I have my own way of marketing it.
At the end of the day I do know it’s about results and results pay the bills. However mobility and new capability with your application sometimes takes priority for me. There's always going to be another feature you could have created or improved but what if it takes less time in a new framework.
Currently I have a way to simplify this approach. I'm not going to go in depth because it’s easier to show and I'll probably work on example in the future but to understand it you can try it with any existing website. From a frontend perspective you can completely redesign any site in seconds.
The steps to take tackle any website project
- What's the setup for the navigation? Dashboard or mobile like? Build index.html and pick your js libraries.
- Colors, Shapes and size! Start creating css files.
- UI/UX Flow
- Learn the routes and where things connect. Starting creating js routes.
Data is a Black Box
One of the things that has helps me is to think of data like a mystery box until I'm ready to write it out. I don't care where the data is located or what different types of content are listed in a given record. Instead I just want a sample of the fields and an outline of the data types so I can guess what the data might look. From there I might think about the upper or lower bounds for each data type if I need to test. Example a telephone number, I don't know if its international but I would include it in my tests or user interface for support.
As spend more time on a project my data types start to change and this is where the foundation of my projects starts to move a little but my frontend code is always ready handle the new structure change. Just in case I didn't like a redesign or solution to the UI first. This is why I always recommend treating data like a box black.
Everything is a Prototype
Chances are if you're updating an old site your manager will be worried things will break and use the excuse that there isn't enough time but keep rolling out with a new features while including new stuff you want in the mix. While working on this mixed version have a new version that is completely separate from the existing application so you can compare notes. I don't believe anything I do with frontend code to be set in stone and neither should you!
If you read my article on "sandbox methodology" you might say this approach enables such a situation that I want to avoid. And I would agree but I think in a longer terms it is good for combating it. Give you and your team enough time to address the issues in your development approach. Development can be fast and be done right if everyone is on the same page. Which is way I strongly recommend using a Lean methodology to improve your team's collaboration.