Buy @ Amazon

50 Common Misconceptions In The World Of Software Development

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. Estimates = Commitment
  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 practised 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.