We all have our share of mistakes. We evolve over time learning our lessons. This post is to help you introspect your thoughts on varied things that float in the realm of software development. Below is a compilation of “some” common misconceptions that we hear and get influenced by for bad. 1. Writing Unit Tests = Test Driven Development 2. 100% Test Coverage Report = Code well done! 3. Building deployment artifacts by central machine = Continuous Integration 4. Every developer checking in code in his branch of remote central repository to be merged with main branch at a later date = Continuous Integration 5. Coding more hours = Commitment 6. Churning tons of code = Geek 7. Crippling team with one-developer dependency = Star Developer 8. CTOs, Architects and the like don’t code 9. Commitment = Estimates 10. A CTO sheperds development team and need not understand business. 11. Big Fat Product = Sure shot success 12. Idea is rare and so expensive. Execution/Implementation is cheap. 13. Developers don’t need to know the business domain. Business Analysts and Product Managers are meant for it all. 14. Developers are cheap and replacable. 15. MVP = Lean Startup 16. Variations of MVP like Minimum Lovable Product, Minimum Awesome Product, etc is Lean Startup++ 17. Startups don’t do TDD, because they don’t have time. 18. Enterprises don’t do TDD, because they hire really intelligent developers. 19. Startups hoping to hire geeks with their sales pitch and not give adequate equity or salary. 20. Enterprises hoping to hire awesome developers by virtue of their brand. 21. Immature culture = Open Culture 22. Reducing levels in org hierarchy = Flat hierarchy 23. The ability to speculate user needs and add features to product = Product Management 24. MBA grads deserve to be Product Managers 25. Feature richness = UX richness 26. Selling a product ain’t that hard 27. Developing a product that scales and thrives is just science and has no art to it. 28. Code intelligence over readability 29. Code brevity over maintainablility 30. Product Manager > BA > Developer > UX Specialist > Quality Analyst 31. Every task is a User Story in Agile 32. Adding Story Points to Bugs = Improved Velocity 33. SAFe is the safest Agile 34. Increased Velocity = Increased Agility 35. TDD is waste of time and is practiced by mediocre developers 36. Pair-Programming is practised by mediocre developers 37. Agile Certification = Agile Expertise 38. SAFe is scalable Agile 39. Speculating end-user needs = Business Analysis 40. Using {substitute\_your\_choice\_of\_framework/language\_here} solves scalability 41. Cloud = Scalability 42. Machine Learning is about algorithms and not domain knowledge 43. Analytics has nothing to do with domain knowledge 44. The strength of an Agile Coach is in his knowing how to use tools like Jira, etc. 45. Software Craftsmanship is about using tools like Jenkins, SonarQube, etc. 46. DevOps Team is the new jazzy name for Infrastructure Management team. 47. Agile is the new way of managing developers 48. UX is all about UI 49. Full-Stack Developer = Frontend Developer + Backend Developer + Infrastructure Developer 50. Product Manager is the new Project Manager This list is surely not an exhaustive one. How about you contribute more to this based on your experience? Please do share yours thoughts as feedback/comments to this blog post. This post was originally published in [Blog @ Codonomics](http://blog.codonomics.com/2018/04/50-common-misconceptions-in-world-of.html).