My Authors
Read all threads
Don't do too much #software design upfront. But, you also want to be intelligent about laying a foundation for the needs of the business.

Some of the questions you might want to consider at the beginning of a new product or project:

#SoftwareEngineer #SoftwareDeveloper
- Should the system be structured in a way that reflects the business divisions in the current organizational structure?

- Should your software system be structured in a new way?
- Will that affect how your organization ought to be structured (via Conway's law, cross-functional teams, etc.?)

- What are the expected performance, security and usability concerns?
- Are there any highly technical problems that can be isolated and approached as an independent system component?

- Are there any tough domain problems that can be isolated and approached in a focused and independent fashion?
- How can we split-up our upcoming products or features into smaller iterable chunks?

- How does this feature/product relate to other ones? Does it conflict with any know features or upcoming features?
- Is there a need to integrate this new feature/product with existing ones? How ought we to plan for this?

- Are there any external systems of products we need to interact with? How will those affect our system?
- What is the core of this project/product/feature? What #1 problem does it solve? How can our architecture/design support this?

- Should we approach this feature as a long-running business process? Or is CRUD OK (it may be a supportive feature)?
- Is there a need for robust auditing? If so, how will we approach this (history tables, event sourcing, etc.)

- Is there any technological piece that seems high-risk?

- Is there a complex domain problem that seems high-risk?
- How will we deal differently with the high-risk problems we are solving?

- What's the end goal of this project? (Reduced costs? More lead generation? Better usability for existing customers? Solve a specific customer problem? Address tech debt?)
- Are there any pieces of our product or system that can be accomplished via off-the-shelf software?

- Do we have enough people to attack this within the expected time?

- If not, how are we going to manage that? (Just adding more ppl doesn't always work 🤔)
- Are there any pieces of this product/feature that we could potentially open-source?

- Are there other ways we can build this in a more transparent way that will attract other software developers and ease future hiring?
- Do we have any known bottlenecks in our #softwaredevelopment processes? Will they affect this project?

- Will this project potentially roadblock any other ones?

- Are there any other projects that need to be completed first?
- What skills and strengths will be most required for this project? Do we have those skills in-house?

- How does this project/product align with the overall goal of the business? Does that affect how we should plan and implement this?
Can you think of any other questions like these?
Missing some Tweet in this thread? You can try to force a refresh.

Enjoying this thread?

Keep Current with James Hickey 🇨🇦👨‍💻

Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

Twitter may remove this content at anytime, convert it as a PDF, save and print for later use!

Try unrolling a thread yourself!

how to unroll video

1) Follow Thread Reader App on Twitter so you can easily mention us!

2) Go to a Twitter thread (series of Tweets by the same owner) and mention us with a keyword "unroll" @threadreaderapp unroll

You can practice here first or read more on our help page!

Follow Us on Twitter!

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3.00/month or $30.00/year) and get exclusive features!

Become Premium

Too expensive? Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal Become our Patreon

Thank you for your support!