Go homepage(回首页)
Upload pictures (上传图片)
Write articles (发文字帖)

The author:(作者)aaa
published in(发表于) 2013/12/17 8:34:43
A programmer, don’t waste your life,

Programmer, don't waste your life-programmer-IT information Programmer, don't waste your life

Programmers should be able to cherish life, doing useful things that are meaningful. Do useful things, there are two ways, first, do a really valuable items to users, this project is really meaningful useful; second, moving in the right direction to do it the right way project. But programmer will met many failed of project, these system or is no people with no real value, or is to not right of way do project, using improper of technology, such as, with report tools instead of query, and with ESB Enterprise bus as mass data transfer with, or do some no actual uses of function, as do a universal of user since definition query system, and do user since definition work flow tools, and do user since definition report tools, these project undoubtedly in waste programmer of life. I have attempted to summarize the programmers waste of life in several ways, as follows.

1, the development of a very poor quality and performance system

Programmers often encounter this kind of project, done out of poor quality system operation without feedback, it fails silently and slowly, operating every now and then wait a little while. However, the point is that programmers have no chance or do not want to participate in the implementation and maintenance of lost opportunities to learn and to diagnose the problem.

2, takes a lot of human and financial resources to develop a one-time project

Programmers often encounter is engaged in application development, customized development for a customer is a one-time project, this project takes a huge human cost, though, final maintenance cycle is very long, great ending at a loss or make it impossible to finish.

3, developing a very nice bells and whistles of unmanned systems

This is common for customers to do a highlight performance engineering, to make a beautiful interface bells and whistles "funky" system, various charts, interactively, a variety of surveillance analysis on the whole heap, but in the end no one with such a system. It's lead or customer visit.

4, the new development is a legacy of the original system

Programmers led to the original system back a product that dramatically increase scalability, maintainability, increasing system stability, reduce system failures. Leaders decided to convene people, renewed demand investigation, demand analysis, architecture design, coding, development test. However, this kind of thing repeated similar requirements to different systems with different sets of new clients, and each system fault instability remains after a period of time. Various versions, code library reserved for programmers ... ... Programmers need to maintain different versions of the system to different customers.

5, develop a project scope of uncertain system

Programmer is in a project, no one is managing project scope, no WBS, users do, completely without a contract or contractual constraints, users need to do more and more, the system grew wide, cannot ultimately control, customer dissatisfaction, programmers are tired to death, trying to please his customers to strive for greater project plan fails.

6, the development of a system without a system role or stakeholders

The project programmer, although there are requirements, functional, interface, but the strange thing is, demand does not mention, but no one knows what these features are used. Demand does not define system role, as well as the role to be involved in business activities. Such a project is not uncommon, however,

7, developed a project that uses an uncertain environment

Enterprise application project programmer, don't know or give your mobile device to the computer, don't know if it's for IE or any other browser, don't know if it's for IE6 is IE10 cannot determine platform versions of the browser. Don't know whether iOS or mobile devices is Android, Android don't know 2.3 or 4, phones or Tablet PC models cannot be determined. We know that applications medium size business Internet applications more complicated, almost impossible to cover all users using Terminal platform, to being a good system must have a constraint, use the target platform.

For the above situations, programmers often is no way to intervene because, either which is customers who knowingly acts or corporate sector, strategic behavior, either because they lack basic skills of the project manager responsibilities. Programmers assume that of course he was project manager, and considering how to do the project and appropriate to raise issues or solutions at the right time, so as not to waste his life.


(

程序员,别在浪费生命了 - 程序员 - IT资讯
程序员,别在浪费生命了

程序员应该要爱惜生命,做有用有意义的事情。做有用的事情,有两种方式,一、做一个对用户真正有价值的项目,这个项目是真正有意义有用的;二、朝正确的方向以正确的方式做项目。但是程序员会遇到很多失败的项目,这些系统要么是没有人用没有真正价值,要么是以不正确的方式做项目,使用不当的技术,例如,用报表工具代替查询、用ESB企业总线当作海量数据传输用,或者做一些没有实际用途的功能,如做一个万能的用户自定义查询系统、做用户自定义工作流工具、做用户自定义报表工具,这些项目无疑在浪费程序员的生命。笔者试图总结程序员浪费生命的几种方式,如下。

1、开发一个质量和性能很差的系统

程序员经常会碰到这样的项目,做出来的系统质量很差,操作无反馈,失败无提示,而且速度很慢,操作时不时要等一会儿。然而,关键是程序员没有机会或者不想参与实施和维护,失去了学习和诊断问题的机会。

2、花费大量人力财力开发一个一次性的项目

这是从事应用开发程序员经常碰到的情况,为某个客户定制化开发一个一次性的项目,然而这个项目要花费巨大的人力成本,最终开发维护周期很长,以巨大亏本收尾或无法收尾。

3、开发一个很漂亮花哨的无人用的系统

这也是当前常见的情况,客户要做一个亮点政绩工程,要做一个界面漂亮花哨“很炫”的系统,各种图表,各种交互方式、各种监控分析全部堆上,但最终这样的系统是没有人用的。这只是给领导或客人参观用的。

4、全新开发一个原有遗留的系统

程序员的领导要基于原有的系统重新做一个产品,大幅提升可维护性可扩展性,增加系统的稳定性,减少系统故障。领导决定召集人马,重新进行需求调研,需求分析,架构设计、编码开发测试。但是,这样的事情一再重复,同样类似的需求给不同的客户做了一套又一套新的系统,而且每个系统过一段时间后故障不稳定的情况依旧。各种版本、各种代码库留给了程序员......程序员需要持续给不同客户维护不同版本的系统。

5、开发一个项目范围不确定的系统

程序员所在的项目,没有人管理项目范围,没有WBS,用户提一点做一点,项目完全没有合同或契约约束,用户要做的越来越多,系统做得越来越大,最终无法控制,客户不满意,程序员也累得半死,试图讨好客户争取更大项目的计划失败。

6、开发一个没有系统角色或涉众的系统

程序员做的这个项目,虽然都有需求、有功能、有界面,但是奇怪的是,需求没有提到,也没有人知道这些功能是什么人用的。需求没有定义出系统的角色,以及角色所要参与的业务活动。然而这样的项目也不少见,

7、开发一个使用环境不确定的项目

程序员做的企业应用项目,不知道是给电脑用的还是给移动设备用的,不知道是给IE用的还是其他浏览器用的,不知道是给IE6用的还是IE10用的,不能确定浏览器平台版本。移动设备不知道是iOS还是Android,Android不知道是2.3的还是4.0的,也不能确定手机或平板电脑型号。我们知道,中等规模的企业应用都会比互联网应用要复杂很多,几乎不可能覆盖所有用户的使用终端平台,要做一个优秀系统必须有约束条件,有使用的目标平台。

针对以上各种情况,程序员经常是没办法干预的,因为,要么这是客户明知故犯的行为,要么是公司部门的战略行为,要么是由于项目经理基本的技能职责缺乏。当然程序员可以假设自己是项目经理,考虑该如何做好这些项目并适时适当的提出问题或解决办法,以免浪费自己的生命。


)


If you have any requirements, please contact webmaster。(如果有什么要求,请联系站长)





QQ:154298438
QQ:417480759