从严治码-别人在项目中下毒,我该怎么治?

01  从软考说起

       

   

640?


    从4月份开始,由于备考《系统集成项目管理工程师》的原因,博客没有持续更新,在上半年考试结束之后,又对项目进行了一些收尾的工作。下面就这段时间的学习作一个记录和总结吧。

    在学习的过程中,提炼了一些自己认为比较重点的内容进行整理,在项目管理的五大过程和十大知识领域中,其中所囊括的内容可应用到所有的行业中,项目管理的知识具有通用性和适用性,比如土建工程的项目可行性研究报告和信息系统的项目可行性研究报告其输出基本一致。

    从这些管理方法中,也期待能够思考一些对自己项目管理有用的体会,这篇文章抛砖引玉,希望能够对大家产生一丝共鸣。


640?

从立项开始,专家的支持很重要


    在一般的系统集成项目中,当一个项目启动后,要进行需求分析、评审、管理等过程,在政府性的采购项目中,这些集成工作都会按照正常流程在进行,一步一步的把项目进行持续交付,直到收尾,这是一个相对规范的过程。    由于目前我国互联网行业的迅猛发展,大量的系统集成项目人员大量进入了私营企业内部进行工作。并且,由于国家喊出“大力创新、万众创业”的口号下,千千万万的项目就此落地开花。

    互联网项目只争朝夕,时间就是生命,一个创意从灵感突现到写下第一行代码,可能就是在一天之内;市场,并没有留给创业者太多的思考时间,继而进一步挤压了项目管理的空间,仓促立项、野蛮开发、后期维护BUG不断,甚至导致项目流产。  

      由此可见,难道下毒的一定是程序员么?不少项目,从立项开始,就是一个毒药。  因此,从项目管理的角度来说,控制好项目的立项,就是控制这个毒药泛滥的源头。

    在五大过程和十大知识领域中,包含了一个很重要的工具和技术,就是“专家”支持,比如政府采购项目中,技术专家的评审必须占评标委员会成员席位的2/3以上,这是硬性指标。借助专家在系统集成项目管理领域的专业知识,确保项目高效、稳定、规范的进行运转。


快速迭代的中国式笑话,从严治码全靠资深开发者


    快速迭代是把双刃剑,在庞大的资源面前,快速迭代就像装上了涡轮的汽车,其迭代能力得到进一步的提升,运转效率也更高,项目文档、报告、配置都得到了很好的提升和保障。但是依然存在许多问题。

     例如上面提到了仓促立项、野蛮开发,这种类型的项目通常通常会打着快速迭代的口号,大量的削减了项目执行过程,比如不作项目可行性研究详细报告,甚至不作可行性研究初步报告,仅凭脑子里面的灵光一现,就马上投入资金、项目强行上马。

---------这可能就是系统集成项目行业中自嘲的:我有一个很好的想法,就差一个程序员了!

    很多时候,上面的自嘲并非玩笑,比玩笑更可怕的是,这个玩笑是真实的存在。在这种背景下,系统集成项目管理具有非常迫切的现实需求意义。    在很多私营企业中,很多时候都是老板一言堂,说干就干,而且要大干快上;项目管理的过程在这些企业中就像笑话一般的存在,并且由于“全栈工程师”的原因,系统集成的开发人员通常身兼多职,既是裁判员也是运动员,少部分系统开发人员本身也并不具有项目管理的思想,他们一心只想着完成老板的要求(并非需求),然后拿到工资,至于是否规范、以后怎么样,天知道,大不了辞职一走了之。

    他们不知道什么叫CCB,换句话说,老板就是CCB,在这样的企业中工作,大海航行靠舵手,老板缺乏软件管理的基本知识,开发者们一味的为了完成自己的任务,拿钱,也不会自然而然不会顾及软件的质量。

    于是,在这样的开发过程中,代码质量显然是一个令人窒息的话题,各种不同的技术体系、各种毫无底线的技术缺陷层出不穷,也正是这样的项目,最终成为了开发者们秀代码质量下限的练兵场。

    这个时候,资深工程师就是企业的中流砥柱了。在项目过程中,具有优秀项目管理思想的资深开发者们,应该主动承担起排头兵的角色,尽力的控制软件项目的代码质量,确保项目开发的可控发展。


沟通是一种艺术


    沟通是一门艺术。在图书馆里面堆砌了大量的关于人际沟通方面的书籍,用以帮助人们进行有效的沟通。    在系统集成项目中,沟通管理作为一项重要的内容被单独列出,一个运转良好的项目,必然是一个有效甚至是高效沟通的过程,这种对项目干系人的沟通管理,持续贯穿到整个项目的生命周期中,项目经理作为其中的纽带,负责将整个沟通过程进行无缝的连接;对干系人的沟通,又分为水平沟通和垂直沟通,其中最为有效的方式,就是面对面的沟通,在系统集成项目中,距离不会产生美,只会带来冲突和矛盾。    沟通的方式很多,比如常见的文档、邮件、即时通讯工具、会议、讨论、通知、访谈、专家指导,沟通的线路数量随着干系人的持续加入会成指数级上升,比如当前项目组中有5名成员,此时,沟通线路为25条,如果后续新加入4名成员,该项目组的沟通线路将会上升到61条,在如此复杂的沟通线路中,想要进行有效的沟通,就必须充分利用各种各样的沟通管理工具,以达到沟通管理的高效输出。    有效的沟通是解决冲突的重要途径,冲突的形成就是有障碍的沟通,在干系人信息不对称的时候,就会造成信息孤岛,冲突就无法避免;另外,有效的沟通一定是妥协的结果,妥协的力量来自方方面面,有可能是项目基线的调整,也有可能是资源的投入,无论是何种结果,都需要完整的记录到项目文档中,就像领导开会通常都是用脑子和嘴巴直接传递信息,但是作为领导的助理,则必须将信息文档化、流程化。


收尾环节


     有一项非常重要的工作,在项目管理的过程中常常被弱化甚至被忽略,那就是项目收尾。

      有些项目的收尾工作非常复杂,有些则非常简单,但是无论如何,我们都可以围绕项目自身,去做一些必要的工作,千万不能就地解散,各回各家各找各妈;部分收尾工作内容具有普适性,根据项目干系人的不同,他们关注项目收尾的工作内容的重心也不尽相同。

     建设方关注的是项目的建设质量,是否如期按照项目基线和详细设计完成,承建方关注项目交付后资金交付,项目组内部需要进行项目总结、资料归档;有些项目还需要组产品交付后启动新的工作,比如项目后续维护管理,或者是一些长期的项目,需要持续交付,直到项目的终止。

    到了收尾环境,如果代码质量不佳,似乎已经病入膏肓,然而难道就这么不治了?

    显然不是,不管何时做好软件项目的代码质量,都是项目管理的重中之重。

思考



   

    软件工程项目质量,看似是个老调重提的话题,但是却从来没有划下休止符的那一刻,似乎从软考《系统集成项目管理工程师》教材上来看,可以给我们带来一些方法,但是却似乎也更像是学术圈理想的美梦,最终该如何控制?


640?wx_fmt=jpeg


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/315214.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

学习MVVM设计模式后第一次用于生产

WPF的MVVM设计模式从winform转变到WPF的过程,难点主要还是在MVVM的设计模式。当然,如果依然采用winform的涉及方式,在每个控件背后绑定事件的方式运用在wpf中,依然可行,但是假如GUI改版,其背后绑定的特别为…

netcore mvc快速开发系统(菜单,角色,权限[精确到按钮])开源

基于netcore2.0 mvc 开发的 快速搭建具有如下特色的后台管理系统用户管理菜单管理角色管理权限管理[精确到按钮])代码生成器代码克隆到本地 用vs2017或以上版本 打开工程。项目结构如下:找到DbModel下面的初始化db脚本里面包含4张表的schema和初始化数据…

asp.net core 系列之Startup

这篇文章简单记录 ASP.NET Core中 ,startup类的一些使用。一.前言在 Startup类中,一般有两个方法:ConfigureServices 方法: 用来配置应用的 service 。 Configure 方法:创建应用的请求处理管道它们都在应用启动时,被AS…

译 | .NET Core 基础架构进化之路(一)

原文:Matt Mitchell翻译:Edi Wang随着 .NET Core 3.0 Preview 6 的推出,我们认为简要了解一下我们基础设施系统的历史以及过去一年左右所做的重大改进会很有用。如果您对构建基础结构感兴趣,或者想要了解我们如何构建与 .NET Core…

剑指 Offer 27. 二叉树的镜像

思路:递归 /*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode(int x) : val(x), left(NULL), right(NULL) {}* };*/ class Solution { public:TreeNode* mirrorTree(TreeNode*…

Codeforces Round #626 (Div. 2) D. Present 按位贡献 + 快排新姿势

传送门 文章目录题意:思路:题意: 给你一个长度为nnn的序列aaa,让你计算 n≤4e5,a≤1e7n\le 4e5,a\le 1e7n≤4e5,a≤1e7 思路: 首先这个式子是n2n^2n2的,显然不能直接算,并且异或没有分配律&…

.NET开发框架(一)-框架介绍与视频演示

本文主要介绍一套基于.NET CORE的SPA高并发、高可用的开发框架.我们暂且称它为:(让你懂.NET)开发框架。以此为主线,陆续编写教程,讲述如何构建高并发、高可用的框架。(欢迎转载与分享)它标准化了…

译 | .NET Core 基础架构进化之路(二)

原文:Matt Mitchell翻译:Edi Wang(接上篇 译 | .NET Core 基础架构进化之路(一))Maestro 及依赖流.NET Core 3.0 基础结构难题的最后一部分就是我们所说的依赖项流。这不是 .NET Core 的唯一概念。除非它们…

在.Net Core中实现一个WebSocket路由

Net Core中使用WebSocket默认是没有路由系统的,只能通过Request.Path"/xxx"来判断请求,例如:1 2 3 4 5 6 7 8 91011121314151617181920app.Use(async (context, next) >{ if (context.Request.Path "/ws") { …

Dapper介绍--Micro-ORM

一.概述目前对于.net的数据访问ORM工具很多,EF和EF Core是一个重量级的框架。最近在搭建新的项目架构,来学习一下轻量级的数据访问ORM工具Dapper。Dapper支持SQL Server,MySQL,Sqlite,SqlCE,Fir…

剑指 Offer 31. 栈的压入、弹出序列

思路&#xff1a;模拟就完事 class Solution { public:bool validateStackSequences(vector<int>& pushed, vector<int>& popped) {stack<int> c;int idx0;for(int v:pushed){c.push(v);while(c.size()&&c.top()popped[idx]){c.pop();idx;}…

Educational Codeforces Round 84 (Rated for Div. 2) D. Infinite Path 构建环 + 思维

传送门 文章目录题意&#xff1a;思路&#xff1a;题意&#xff1a; 懒得写了&#xff0c;直接贴图了。 思路&#xff1a; 遇事不决画成图&#xff0c;考虑将iii向p[i]p[i]p[i]连一个边&#xff0c;可以发现每个点入度为111&#xff0c;出度为111&#xff0c;所以画出来是若…

WSL+VSCODE体验UBUNTU环境下的开发

首先安装 WSL&#xff0c;我这里选择的是 ubuntu18.04 这个应用。切换 WSL 的默认用户为 root 用户切换成 root 用户主要是避免后续开发中遇到权限问题比较麻烦&#xff0c;直接默认 root 解决问题。找到ubuntu安装目录&#xff0c;一般在C:\Program Files\WindowsApps\Canonic…

程序员修仙之路--优雅快速的统计千万级别uv

菜菜&#xff0c;咱们网站现在有多少PV和UV了&#xff1f;Y总&#xff0c;咱们没有统计pv和uv的系统&#xff0c;预估大约有一千万uv吧写一个统计uv和pv的系统吧网上有现成的&#xff0c;直接接入一个不行吗&#xff1f;别人的不太放心&#xff0c;毕竟自己写的&#xff0c;自己…

P3391 【模板】文艺平衡树 fhq-treap 模板

传送门 文章目录题意&#xff1a;思路&#xff1a;题意&#xff1a; 思路&#xff1a; 这是学splaysplaysplay的时候的一个模板题&#xff0c;之前学过fhq−treapfhq-treapfhq−treap&#xff0c;但是没怎么用他做过题&#xff0c;今天一做还发现不少问题&#xff0c;真是眼高…

123. 买卖股票的最3佳时机 III

思路&#xff1a;动态规划&#xff0c; dp1是当前第一次买入的最大值 dp2是当前第一次卖出的最大值 dp3是当前第二次买入的最大值 dp4是当前第二次卖出的最大值 转移看代码&#xff1a; class Solution { public:int maxProfit(vector<int>& prices) {int dp1-…

微软正式开源WSL 2的内核源码

微软在今年5月举办的 Build 2019 上宣布了第二代 Windows 的 Linux 子系统 —— WSL 2。与第一代相比&#xff0c;WSL 2 重新设计了架构&#xff0c;使用真正的 Linux 内核&#xff0c;支持在 Windows 上运行 ELF64 Linux 二进制文件。按照计划&#xff0c;WSL 2 的初始版本已于…

【NOI2016】优秀的拆分【后缀数组】【ST表】【关键点】【调和级数复杂度】【差分】

传送门 题意&#xff1a;如果一个字符串可以拆分为AABB的形式&#xff0c;其中A和B是任意非空字符串&#xff0c;则我们这种拆分是优秀的。求给定串的所有子串的拆分方案数之和。 N≤30000N \leq30000N≤30000 本来是个神仙题 但明明一个O(nlogn)O(nlogn)O(nlogn)的题为啥只…

剑指 Offer 43. 1~n 整数中 1 出现的次数(数位dp)

思路&#xff1a;就是数位dp&#xff0c;dp[idx][sum][limit]代表&#xff0c;到idx位&#xff0c;前面有sum个0&#xff0c;有没有limit限制&#xff1b; class Solution { public:int dp[20][50][2];int len; int pos[20];int countDigitOne(int n) {for(int i0;i<15;i)f…

Windows新终端中玩转ASCII和Emoji游戏的正确姿势

前一段时间&#xff0c;我搬运了几个Windows Terminal中玩游戏的视频.Windows Terminal - 动图GIF作背景图Windows Terminal - 母牛说HiWindows Terminal - 字符水族箱今天我来给大家展示一下具体的玩法~Emoji版双人碰碰球目前有个现成的 .NET core 项目可以直接用&#xff0c;…