What’s Your Go-To Strategy for Starting a New Project?

0
14
Asked By CreativeCoder92 On

I've got a habit of starting projects and never finishing them, and it's becoming a real problem for me. I'm looking for a solid project management approach to help me stay on track, especially since I often overcomplicate things right from the start due to my perfectionist tendencies. I'm even finding myself planning out details like structure and policies before I've written any actual code! I'm interested in hearing how others manage their workflow when tackling medium-to-large projects that might take years to complete. Do you folks draft a mission statement or a README first? Do you sketch out the entire process before you dive into coding? Or maybe start with a minimum viable product and iterate from there? Just to give you some context, my previous projects were smaller and often chaotic. I have some confidence in my coding skills as a mid-level embedded C++ developer, but when it comes to project management and architecture, I feel a bit lost. I've heard that a balance between incremental and iterative development is key, but that's easier said than done!

5 Answers

Answered By RepoRanger88 On

I can relate so much! My collection of half-finished projects is epic. For medium to large projects, I learned it’s crucial to just start writing something—anything. It doesn’t need to be perfect, and the focus should be on functioning code first. I think of it like this: your MVP doesn’t need to be polished; it just needs to demonstrate the core concept. If you're stuck planning intricate details like threading for a project that's not even built, take a breather and write a test case instead. It really helps to break that perfectionism habit!

Answered By PracticalDev2020 On

One approach that works well for me is to create a 'TODO.txt' file specifically for the project. Start by identifying some core functionality and breaking it down into tickets. Write a list of must-have features for your MVP per ticket, and then a separate list of nice-to-have features that you can tackle if time allows. This ensures your main focus remains manageable. Also, working on separate tickets in isolated branches helps keep things organized. Consider using a kanban board to track your progress, and keep a limit on in-progress tickets to avoid spreading yourself too thin. Most importantly, remember to keep it simple—your first release should do its job, even if it looks rough around the edges!

Answered By DevDudeX On

I totally get where you're coming from! For larger projects, I say focus on getting a janky MVP up and running as soon as possible. If I can't whip together a prototype over the weekend, I'm probably aiming too high. Also, readme-driven development can be super helpful. If you can’t explain what your project is doing in simple terms, you're probably overthinking it. For embedded C++, just sketching out a basic UML can save you a lot of headaches down the road. When you catch yourself planning for things that aren't built yet, just write a test case instead. Trust me, future you will appreciate it!

Answered By ProjectCompleter01 On

Honestly, just write anything to start with! I’ve had too many projects that bogged me down because of overengineering. MVP first, polish later. I keep a super simple `TODO.md` with a clear focus on getting something functional. Don't focus too early on details like thread policies; those can come later. My strategy is to put down a workflow in bullet points under "MAKE IT WORK" and I'll go from there!

Answered By MVPfanatic99 On

Before you even think about the MVP, consider establishing a Minimum Demo-able Product (MDP). Focus on building something that can demonstrate your core idea first. Seriously, just get something working; perfection can come after. My go-to is to start with a bullet point list in a `TODO.md` that clearly states "PHASE 1: MAKE IT WORK." Don't waste time on complex design until you have something to show off.

Related Questions

LEAVE A REPLY

Please enter your comment!
Please enter your name here

This site uses Akismet to reduce spam. Learn how your comment data is processed.