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?
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
The name. If you don't know something's name how do you know what to build?
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".
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.
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.
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 :)
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.
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
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.
npm init -y
I think probably the MVP list and a working name. The hardest part ... choosing the platform to build it with :)
Totally agree with you @peterwitham