《构建之法》提问;软件和软工的来源;各种项目管理系统优缺点
《构建之法》提问
1.一个PM通常都是怎么起步的?PM也是从程序员做起吗?
2.为什么ZBB之后反而会有bug的bounce?
3.一些专门针对限时限量的东西的软件,比如挂号、选课、秒杀等软件,钻了系统的漏洞,但又确实方便了有需要的人,应该禁止还是放任?
4.虽然改良式创新更受欢迎,但是人们有的时候需要颠覆式创新,所以,究竟什么时候人们要看到颠覆式创新的必要并欢迎它?
5.用户体验和数据结构算法并没有直接关系,但是许多非常成功的软件就是应在良好的用户体验上,那么我们为什么把学习数据结构和算法当做最优先的课程?
软件和软工的来源
软件一词在: 1958 年Turkey在论文“The Teaching of Concrete Mathematics”中提出
软件工程由Margaret Hamilton, 1969, NASA
项目管理软件优缺点:
Microsoft TFS(Team Foundation Server):
优点:
- 任务版上能将需求、项目进度一览无余,对于小团队而言,比甘特图更有用
- 集成了项目管理、版本控制、BUG 跟踪,能有效实现 SCRUM
- 能与 VS 无缝接合
缺点:
搭建、维护tfs比较复杂,硬件要求也比较高。
Git:
优点:
- 比svn更快速的分支切换,因为分支都在本地。这使得git特别适合处理临时需求,或者小实验。
- 可以在星巴克写代码的时候随时提交,因为各版本快照(commit)都在本地
- 有一个全世界最大的开源社区——github,上面可以看到各种优秀的各语言代码,去官网语言列表看看才知道有那么多语言,就跟奥运会开幕式才知道世界上有那么多国家一样
缺点:
- 因为是分布式的,每台机器上都commit的时候,有的时候忘记了push到远程服务器(github),那就不同步了。不过常常status一下看看状态,问题不大
GitHub:
是基于Git的云端项目管理中心,优点是不需要占用本地存储空间。
Bitbucket:
- 免费支持私有仓库,这一点无可比拟。它同时支持 hg / git,无论从界面还是功能上看,跟 GitHub 比都几乎没有什么缺点(GitHub 有的功能它全有)