软件开发的八个误解
软件开发是复杂的,为了使你的项目成功,必须了解它能做什么和不能做什么。如果你记住以下观点,你的软件开发项目就更有可能成功。我们来看以下八个误解:
1. 只有一种最好的编程语言。
软件开发人员倾向于成为他们每天使用的编程语言的粉丝。Python是当今流行的语言,但C++也是如此。事实是,每一种编程语言的使用都有其特定的原因。这就是为什么我们不能肯定地说一种语言优于另一种语言。这就像说西班牙语比英语好一样--这归结于你所在的地方。只有当你考虑到一个具体的编程任务时,才能衡量一种特定的软件编程语言的优势。通常情况下,一个编程任务可能需要程序员知道一种以上的语言。
这就是为什么知识渊博的程序员通常把他们的语言看作是几种相互补充的语言,而不是在竞争中。最好的项目结果通常发生在开发人员一起使用几种语言的时候。
2. 使用更多的开发人员意味着更快的进展
软件开发过程中最关键的部分是规划阶段。如果项目没有经过深思熟虑,有些人认为你可以稍后再把更多的开发人员扔进这个组合。然而,软件开发并不像制造肥皂。如果你在游戏后期给一个软件开发项目增加资源,就会造成延误。 当你引进新的开发人员时,你需要让他们尽快熟悉项目。你花在指导新团队成员的每一分钟都是你没有开发的一分钟。只要小心,你也许可以在不放慢开发速度的情况下增加团队成员,但必须加以管理和计划。
3. 你不能使用远程开发人员
有些公司认为开发人员必须在现场,这样你才能控制他们。如果你有强大的项目管理工具以及与整个现场和远程项目团队的良好沟通,你可以使用他们。许多成功的硅谷初创公司证明,远程软件编程团队可以和内部开发人员一样努力工作。你可以在全球范围内找到优秀的网络和移动应用程序开发人员,所以你不需要让每个人都在本地。 你的公司应该根据他们的技能、奉献精神和专业精神来选择其开发人员,而不是他们的位置。
4. 软件开发总是线性的
许多人认为,开发软件恰恰像制造业。如果团队遵守项目计划,软件的创建就不会有问题。不幸的是,这通常不是它的工作方式。有的时候,开发可以按计划进行,特别是在较小的项目上,例如一个单一的登陆页面。如果你的团队使用的是瀑布式方法,项目有可能是线性的。但如今更多的开发团队在使用敏捷方法,它提供了更多的灵活性,但可预测性更低。 有些项目不允许你对完成的时间给出准确的估计。有很多情况下,项目需要更多的灵活性以获得理想的结果。
5. 软件开发是为书呆子准备的
你可能在大学里得到这样的想法:所有程序员都是书呆子。但是,你不必以某种方式行事或看起来就能成为一个有效的程序员。任何有智慧的人都可以学习编程语言和如何编码,特别是在无代码趋势的兴起下。它只是需要你了解方法论和实践。
6. 如果你不擅长数学,你就不能编程
许多开发者和程序员在高中时就擅长数学。但这并不是一个要求。例如,软件工程师不需要你在学校学过的数学很出色。许多软件开发人员和工程师使用离散数学,这是不同的,更直接的。只要记住,你可以成为一个好的开发者,而不是在数学方面有很高的技能。
7. 程序员的唯一技能是编码
通常情况下,开发人员和程序员对客户的主题领域有一些了解是至关重要的。 例如,如果你的公司正在为iPhone开发一个会计应用程序,公司的会计人员可能无法准确解释他们想要和需要这个应用程序做什么。或者,他们可以用会计术语解释,但他们无法将这些知识与编程和开发联系起来。这就是为什么如果程序员对会计原则和功能有一定的了解会有帮助。
8. 产品发布后,项目就结束了
实际上,在某些方面,当你发布软件时,项目才刚刚开始。一旦发布,你的团队就应该得到用户的反馈,并将其纳入产品的改进中。你需要建立一个流程改进系统,进行修改和测试,以改进产品。
总结
做为一个PM或Team Leader,这些最基本常识是需要理解的。否则团队都是在混沌之中,不懂软件工程必然会抓虾。那些管理层总认为软件开发过程加入新人可以加快进度想法是如此的愚昧。所有以上内容都值得我们反思。
今天先到这儿,希望对云原生,技术领导力, 企业管理,系统架构设计与评估,团队管理, 项目管理, 产品管管,团队建设 有参考作用 , 您可能感兴趣的文章:
领导人怎样带领好团队
构建创业公司突击小团队
国际化环境下系统架构演化
微服务架构设计
视频直播平台的系统架构演化
微服务与Docker介绍
Docker与CI持续集成/CD
互联网电商购物车架构演变案例
互联网业务场景下消息队列架构
互联网高效研发团队管理演进之一
消息系统架构设计演进
互联网电商搜索架构演化之一
企业信息化与软件工程的迷思
企业项目化管理介绍
软件项目成功之要素
人际沟通风格介绍一
精益IT组织与分享式领导
学习型组织与企业
企业创新文化与等级观念
组织目标与个人目标
初创公司人才招聘与管理
人才公司环境与企业文化
企业文化、团队文化与知识共享
高效能的团队建设
项目管理沟通计划
构建高效的研发与自动化运维
某大型电商云平台实践
互联网数据库架构设计思路
IT基础架构规划方案一(网络系统规划)
餐饮行业解决方案之客户分析流程
餐饮行业解决方案之采购战略制定与实施流程
餐饮行业解决方案之业务设计流程
供应链需求调研CheckList
企业应用之性能实时度量系统演变
如有想了解更多软件设计与架构, 系统IT,企业信息化, 团队管理 资讯,请关注我的微信订阅号:
作者:Petter Liu
出处:http://www.cnblogs.com/wintersun/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
该文章也同时发布在我的独立博客中-Petter Liu Blog。