From Imagination to Execution

!UPDATE: i'm now publishing here

It's always that first time.

You're staring at that blank IDE, and you want to code code code.

Where's the code?!

Don’t rush to code based on whims and imaginations, especially in team projects. A successful launch materializes when individual developers or teams invest time in brainstorming, planning, pitching, and then diving into the code. An insightful conversation with a veteran coder offers some perspective.

Me: "Right now I want to start coding right away and code what I imagine up. That’s not realistic.”

Friend: “And then distribute the code to multiple people, anticipate when each will complete their work, juggle changes in business processes, alert users where necessary, ensuring the existing experience remains intact — that's my life.”

Me: "I’ve learned it’s crucial to sketch out my thoughts first. I then comment sections in the code, followed by some pseudo-code or transitional drafts between sketches and actual code."

Friend: “This is termed as a design review.”

Me: “It’s also vital to distinguish the MVP from desired functions/features.”

Friend: “This is the domain of a product manager.”

Before we delve into these insights, here’s a suggested workflow for project development:

Development Workflow

1. Meet the Team: Familiarize with teammates, understand schedules, priorities, and personalities.

2. Brainstorm: Discuss ideas, mull over project parameters, and pick relatable internal names.

3. Planning: Define features, components, mockups, MVP, user narratives, and timelines.

4. Design & Product Review: Reflect on mockups ensuring they're scalable and fulfill requirements.

5. Pitch: Seek feedback from external parties to gain fresh perspectives.

6. Code: Begin coding, but with a strategy.

Meet the Team

Team meeting

Get to know everyone. Understand schedules, priorities, and personalities. If a communication agreement exists, adapt it to mitigate conflicts and ensure accountability.

Brainstorm

Dive into ideas, understand project parameters, and select meaningful names to resonate with the project's essence.

Planning

Shape your ideas into tangible outlines. Discuss features, mockups, MVPs, and timelines.

Design Review / Product Review

Does the design satisfy requirements? Can it scale?

Pitch

Pitching offers a fresh set of eyes and new perspectives. Take advantage of this step.

Code

Whiteboard planning

Begin with mockup annotations. Outline the HTML framework, child elements, and assign meaningful class and ID names. A flexible CSS layout, like the one explained in this tutorial, can offer a great start.

As coding progresses, challenges arise. Dependencies might divert your focus, or unforeseen complexities could emerge, especially in larger projects. The remedy? Regularly branch and commit your code.

I also realized post-coding that the code's design focused on movies. However, if there's an expansion plan, to say, TV shows, could we preemptively code for it to ease future integrations?

Remember, tools like console logging, the developer console, and error handlers are invaluable. Breaks and timers also prevent burnouts and tunnel vision. A tool like VS Code can be beneficial to track and manage code changes.

Conclusion

Navigating a project from inception to completion was enlightening. Interestingly, traditional tools like pen and paper became the anchor amidst all the digital chaos. They forced a pause, fostering clarity and focus.

Did you find this article valuable?

Support Jia-Jia Zhu by becoming a sponsor. Any amount is appreciated!