Once, I am sure I always start by working in database design, step by step it gets vague. So, I just want to know is it the right first step?
For further actions, you may consider blocking this person and/or reporting abuse
Once, I am sure I always start by working in database design, step by step it gets vague. So, I just want to know is it the right first step?
For further actions, you may consider blocking this person and/or reporting abuse
Oldest comments (16)
Brainstorming. In my opinion the most important part. Just collecting ideas about everything. After that sort and pick the most important / best items. Then make a plan and then start working on the tasks.
The name. If you don't know something's name how do you know what to build?
Thanks, @elmuerte I don't think I would spend time on name before starting something
Before people are taking my original response too serious, it's a joke. It is a reference to the Dilbert animation series from a long time ago. Episode 1: "The Name". I was quoting the PHB (Pointy Haired Boss). He had his presentation backwards (back when they used overhead projectors instead of powerpoint presentations) and "Step 1: the name".
Of course one of the first steps when working on something is to come up with a name. You cannot start working on "untitled" every time. But it is just a name. You can always change it later to something more suitable.
Naming a project is kinda like creating a character in a RPG video game. It takes forever.
If you like Foghorn Leghorn, name your character "I say".
Create an overall architecture, design classes and interfaces, draw flowcharts etc. I usually want to prepare a helicopter view on the project and make sure that I know exactly what every part does. Then I read docs for libraries and APIs I would use, if I've never used them before. Often, different payments providers have different approaches, so it worth to explore their docs.
Thank you for sharing this! Make sense :) . Generally, I think database design is the most crucial part to analyze the possibility success of any project . So, I spend first most time working on it. What do you think about it?
Yes, I think data design in general is very important.
I doubt there’s anyone who knows what’s the “right” first step and I’m pretty sure there’s a good bit of “it depends” lurking in there.
That said, I like starting out by doing a little amount of initial thinking, followed by a little time of coding. This usually leads to many questions and choices - another block of thinking, which in turns leads to more coding. During this small iterations I constantly think (and sometimes draw) what kind of design I’m going towards but implement only as much as is required at a certain point in the project.
My reason for starting like this over starting with database or class design is that I know that I don’t know a lot of things in the beginning and that I surely won’t get it right for the first time.
Don't design bottom up, this just leads to incorrect and over-engineered designs.
The basic agile stuff :)
I like to sketch out as much as possible with pen and paper, as this feels very natural to me. I usually take a large piece of Bristol Paper, put in on my desk and scribble, draw and write anything that comes to my mind. Then I try to find the most logical connections between the dots and decide which of those are the most important first steps.
With that vague concept in my mind, I build the Minimum Viable Product for the user interface to play with the behavior, while mocking data with JSON placeholders, just to understand what I really want to build. Only then I think about the actual implementation - whether it is database design or picking the right technology stack.
Depends on what kind of project, but usually one of the following:
Depends a lot on what kind of project it is, how big, and if it's a personal project or not
npm init -yI think probably the MVP list and a working name. The hardest part ... choosing the platform to build it with :)
Totally agree with you @peterwitham