• 从零开始编写自己的C#框架(10)——项目实施计划与甘特图


    不知不觉本系列已经写了一个月,编码前的各项工作到此也终于结束了。回头看看这一个月走过来,白天上班晚上码字查资料,写写改改,挺不容易的。很多时候有些知识会用,知道是怎么回事,但并不等于能写出来。错别字、表达不清、言不达意这些就很常见了。虽然有了这么多年的工作积累,真正写后才感觉到自己还远远不足。在这个期间查看了很多博客、相关的书籍,在写博的过程中明显感到自己提升了,所以还未写博的朋友也赶紧尝试一下吧。

      在写本系列的过程中,没有想到多次得到了编辑推荐,同时也得到了众多网友的支持,让我非常激动,在此表示万分感谢,同时也希望大家不要光看贴不评论,好的坏的都发表一下,大家多多交流。

      另外,本文主要针对的是初学者和中小型项目,所以使用的技术、文档和工具会更偏向个性化,对此一些朋友给了不少建议,我个人觉得,无论是白猫黑猫,抓得到老鼠的就是好猫,所以最主要的是要合适和好用,而不必在乎它是什么。无论什么软件都有它自身的优缺点,我们只要利用得好就可以了。当然我本人未曾在大公司呆过,对很多工具与一些规范性的东西都是一知半解,所以也就不可能用那些高大上的东西在本系列中应用了。不过对于快捷简单的开发一个中小型项目来说已经足够了,希望初学者们也不要一下子定位太高,我们从中小型项目做起,至于那些更好的工具,我也在学习当中,大家空闲时间从逛逛那些大神的博客努力学习就可以了。

      对于很多初学者来说,项目经验不是很足,在实际开发过程中很难把控好项目的进度,项目延期和加班加点那是家常便饭了,当然有一部分的原因可能是需求方的变动,而更多的是初学者们制定的开发计划不合理,预计时间不准确有关。

      为什么会出现预计的开发时间不准确呢?

      据我了解,主要有这几种情况:

      1、对项目需求、功能不太了解,不清楚项目涉及的业务逻辑与将要使用的算法,以及功能之间联动产生的影响;

      2、对开发框架或代码不够熟悉,不知道开发一个具体功能要调用到那些模块,需要花多长时间才能完成;

      3、预计的时间只是自己的代码编写完成时间,没有考虑错误修复与自测时间;

      4、在需求方、相关部门或上级领导的压力下(项目完成时间压力),挤压自己的休息时间,将工作以外的加班时间添加到实际开发时间中;

      5、开发经验不足或项目需要的技术不了解,解决问题与Debug占用太多时间;

      6、项目前期规划不好,存在结构性问题,导致代码量大增;

      7、需求方不断变动,未考虑需求变化对项目进度的影响;

      8、UI设计或其他同事开发进度影响;

      9、个人有事请假或其他外因影响,占用了大量开发时间;

      ......

      如何预计开发时间和控制项目进度呢?

      首先要做的就是前面章节的各项准备工作,了解需求、画出原型,然后设计各界面详细功能,绘制出相关流程图,再了解框架代码和项目中所需要使用的技术细节,做完这些细节一个项目到底要开发多少个界面,使用什么算法,花多时间基本上就心理有数了。

      当然这些都是影响预计开发时间的内在因素,除了这些以外,还有很多外在的不可控因素存在,会对项目进度造成更直接的影响。所以初学者在预估开发时间时,还需要注意下面几点:(由于时间关系对于每一点就不再举例说明了,大家自行理解)

      1、在设计项目时,考虑好扩展性,方便需求变动时容易添加新功能;

      2、评估时间须包括自测时间与Bug修复时间;

      3、对于功能开发,不要随意加入自己的创意,除非必要功能(需要与需求方确认),多余的功能一律不给予实现;(这一点在很多新人身上都会发生,他们大多思路活跃,喜欢在项目中加入自己觉得很不错的小功能或想法,这样的话就会令项目变得不可控了,多余的功能会占用开发时间,又会令项目产生更多的Bug)

      4、需求变更或增加时,必须通过项目经理或负责人统一规划安排,非必须项一律放到二期以后开发,新增需求必须重新评估开发时间;

      5、开发进度必须严格遵守实施计划的安排,可以提前完成,但不能延期;

      6、与需求方、项目经理、设计师以及部门同事做好充分的沟通工作,有问题主动请教别人,不耻下问;

      7、多请教部门中的前辈和技术部负责人;

      除了上面这些外,还有很多其他工作也是需要注意的,如项目更改后原型与文档的同步更新工作(对后期维护与二次开发会产生影响)、测试用例(设计得合理可以提高开发效率,不明白这些的人自测基本上都不会到位的,写出的代码会被测试人员反复的一虐再虐)、项目性能与安全优化(这个就更不用说了,经验不够的就算完成基本代码编写,但后面花费在这上面的时间将更长)、后期的项目部署等等,都会对进度产生一定的影响,这里就不再一一细说了。初学者不可能一开始开发时间就预估得很准,这需要开发经验的不断学习与积累。

      本项目开发进度安排(只列出一部分,具体请下载附件查看)

      

      

      

      本项目开发甘特图

      

    下载地址:项目实施计划与甘特图.rar

    (实施计划与甘特图在下载文件的《数据字典》中,另附上《项目开发计划》与《开发进度月报》模板)

    版权声明:
      本文由AllEmpty原创并发布于博客园,欢迎转载,未经本人同意必须保留此段声明,且在文章页面明显位置给出原文链接,否则保留追究法律责任的权利。如有问题,可以通过1654937@qq.com 联系我,非常感谢。

      发表本编内容,只要主为了和大家共同学习共同进步,有兴趣的朋友可以加加Q群:327360708 ,大家一起探讨。

      更多内容,敬请观注博客:http://www.cnblogs.com/EmptyFS/

    只有将自己置空,才能装进更多的东西
  • 相关阅读:
    面试经验链接汇集
    258. Add Digits
    192. Word Frequency(shell)
    6、字符串循环对角线结构ZigZag Conversion
    5、最长回文子串Longest Palindromic Substring
    idea常用的快捷命令
    JAVA传输概念
    UUID随机字符串
    Bean的加载
    默认标签的解析过程(三)parseDefaultElement
  • 原文地址:https://www.cnblogs.com/FinleyJiang/p/7600764.html
Copyright © 2020-2023  润新知