Fast development is not fast! it seems fast at first but believe me its super slow…
I work at an awesome remote position, the company take super challenging products and starts them from the ground up.
Few months ago I joined a project in the making (2 months after it started), and had to master all the frontend side with 2 other developers that started learning react with this project.
We started noticing some problems as the product managers were super pressured to launch the product. All the pressured came down on us the developers.
What do I mean by pressure is like:
- you get a feature, you estimate it as 3 days, and you are told to finish it in one day. (?!)
All of those things could be properly handled with you really keep your foot down, and explain what would happen in the future.
I notified the team lead about it, and he knew about it, but he had to ship so he decided to go with the flow and simply ship as they requested.
Some hard facts of the current project:
- It was suppose to be “live” 2 months ago, and we are still in the making.
- application is super buggy and just now the PM’s understand the cost of what I mentioned before.
I can surely say its my fault that I didn’t put more pressure on the matter and described what would happen if we continue on the same path.
I gave in to the “pressure” to deliver, and simply coded to ship, and not coded so it will work properly with edge cases, tests etc.
Always plan before you code!
Take your task, break it down to tiny bits of subtasks, write down an estimate for each subtask and glue it together with some overhead.
Make sure to do it on paper! with all the amazing apps, todo lists, task management etc. Pen and paper at the start is the way to go…
Believe me, just try it and you will see.
Take this guidelines from this post:
- Take a pen and paper
- Break your feature to small subtasks
- Estimate each feature
- Glue them together with some overhead to get a rough estimate for that feature
React Feature Guidelines:
- Take a pen and paper 😀 (always…)
- Wireframe your feature and break it to small components
- Make sure to reuse existing components from the rest of the app
- Plan you view/dumb components, props etc
- Plan your container components
- Using redux? plan your state design
- Start building the View components, that’s the easy part, make sure to have tests!!!
- Build container component, and have tests!!
- Make sure your components are documented so other devs could reuse them somewhere else. Use PropTypes!!!!!!
There is much more to the flow, but just wanted to have a morning post that will blast all my thoughts for future reference 🙂