Product Design · Training

Do you think it would help the community if I open sourced some MVP product & architecture designs?

Dustin Williams Business Systems, Software Development, Information Technology

July 3rd, 2016

Maybe I just haven't come across it but it seems to me that most resources are focused on teaching people how to be developers. There's a big knowledge gap between learning how to write code and how to design a software product.

In the past few years, I've seen three startups fail due to architectural problems with their MVP. Even though they validated the product thesis, their software failed (due to systemic design flaws) and they didn't have the budget or time to rebuild it. If they had a proper cross functional team in place from the beginning this wouldn't be an issue, but most startups can't afford to do that.

I have some MVP designs for product concepts that failed to validate. It shows the complexity of building "simple" mvps and just how much effort has to go in to making a product that can be iterated, maintained and scaled. I'm wondering if it will help to open source and release these designs, so others can learn from them.

Any thoughts on this are welcome.. =)

Product Design & Architecture:

Project Management
Agile - Epics & Stories
Kanban Backlog
Tasks & prioritization
Discussions
Documentation

Infrastructure
Cloud
High availability
Disaster recovery
Security
Network
Monitoring - Instances, Application Performance, Availability (national, international), Response time, Latency, etc.
Auto scaling
DNS
Naming Conventions
Resource Management - Cost Optimization

Software
Process Design
ETL (Extract Transform Load)
Data Integrations
Business Logic
Data Enrichment
Services architecture
Middleware
API Design
Distributed Architecture
Modules/libraries/SDKs
Microservices

Security
Authorization
Native
oAuth
User/groups permissions
Service segmentation & isolation
Constancy checks & fail safes
Logging
Reporting & Alerts

Data
Database Architecture
Database type(s); Document, Transactional, Search, Graph, Data Warehouse, etc.
Scheme(s) & Document Structures
Security
Consistency & Data protection
Performance Optimization

Presentation
User Experience
Information Architecture
Process Management
User Feedback Loops
Information Communication
Account Management
Graphic User Interface
Navigation
Discovery
Suggestions & Recommendations
Dashboards
Graphs
Lists
Insights
Communications

User engagement
Documentation
Bug reports
Questions & Answers
Chat

Bob Graham Engineering and Software

July 3rd, 2016

Hey Dustin,

Interesting idea. I like it!
I taught myself software engineering and just released a startup that I coded, so I know what you are talking about with many of these problems and the lack of resources around them online. I had to consult my friends that are advanced engineers on many of these topics.

I could have used someone like you to show me more than a basic tutorial project and show me how to build a startup.

Having said that, I would have most likely not watched something or read something like what you just laid out. It's far too complex and detailed.

What I think is missing is something like Mackenzie Child's videos, but it's a screencast on how to build a startup. It comes with step by step explanations in plain english. Or like railscasts but for a startup where you finish a project from start to finish.

As I was teaching myself to code, the biggest problem I found was not a lack of resources, but a lack of good teaching. Good teaching to me simplifies complex processes. I used to teach guitar when I was younger and it took me much longer to think of how to explain something complex in a simple way, rather than to just say the information to the student.

I think if you can do that, then you are onto something. But at first glance it needs a bit more simplifying down and maybe there are some things you can strip off too.

Andy Terrel Fashion Metric CTO , NumFOCUS President

July 6th, 2016

+100 here. I love seeing how other people design systems. Open sourcing such a resource and building it up could definitely help many young startups. I too see many problems at startups with very young tech teams so having an open resource to point them to would be amazing.

Dustin Williams Business Systems, Software Development, Information Technology

July 3rd, 2016

@Bob
Let me clarify this wouldn't be a course. This would be me open sourcing the requirements, product/architectural design documents & tasks list.

This would something to help someone who is looking to move beyond the intermediate stage to advanced. From my experience there isn't much support there and you have to figure it out yourself.

Dustin Williams Business Systems, Software Development, Information Technology

July 3rd, 2016

@bob 
Hmm.. I'm not sure this would be useful for someone with less then 5 years of experience. Thanks for the feedback. :) 

Dustin Williams Business Systems, Software Development, Information Technology

July 3rd, 2016

@Anath: I agree most tech startups don't understand the fundamentals of (business) systems design. I was thinking about writing some articles on the subject. Cost benefit & risk analysis is probably where I'd start on that. 

Dustin Williams Business Systems, Software Development, Information Technology

July 3rd, 2016

For instance this business logic covers a lot of the topics listed above. On the Kanban side it probably break down in to about 10-20 tasks. 

CJQ3OhoUEAA2PrC.png:large

Ananth Agasthya Principal Facilitator at ILIFESigmoid

July 3rd, 2016

What I would suggest is that they should be given some basics of System Engineering and Failure Mode and effects analysis. It would be advisable to get an independent audit group to verify and validate the whole design process. Incidentally, a strong backup for recouping from a failure should be included. Selection of suppliers is a key to scaling up. These are my first off thoughts. Thanks for raising a valuable issue to the forum. Regards Anantha Agasthya Sent from my iPad

Joseph Wang Chief Science Officer at Bitquant Research Laboratories

July 5th, 2016

Putting more stuff online is usually a good thing, but you need to think through exactly why you are open sourcing the documents, and you need to make sure that you've in fact open sourced the documents with a proper open source license.   Just putting documents online is not sufficient to open source the docs, you need to make sure that you include a proper license.


Bess Ho Everything Startup

July 3rd, 2016

Yes this is very useful. Please continue your effort. How could I stay learning your open source and project updates? status?

Kelly Kuhn-Wallace Tech startup consultant, founder coach.

July 5th, 2016

The more knowledge that's open-sourced, the better. Just sayin.