python日期迭代_计算敏捷项目中迭代时间安排(Python3版)
节奏是敏捷开发的核心,保持合理固定的节奏,能有效的促使各个环节协调统一,高效运行。针对产品的不同周期,方案有所不同。
迭代开发.jpg
通常,我们需要在一个时间盒中去分配一个项目中不同阶段的时间,在项目管理中,我们经常要以人/天来进行计算。
现在让我们来假定一个规则:
一个时间盒里的时间点有 需求,开发,SIT测试,UAT测试,回归测试, 发布
工作日为周一,周二,周三,周四,周五(万恶的工作日。。。)
上一个迭代发版后的一天为需求截止时间
SIT测试完成的时间为需求截止后的5天
UAT和回归测试一共消耗3天
封板时间为发布前一天
看看,我们设定了一个至少6个条件的规则才能算出一个迭代周期。这个时间你是不是已经开始翻着日历开始搬指头了。
日历.jpg
如果,用Python来实现呢?
翻了翻PyPi中的第三方包,发现一个好玩的:business_calendar
其提供了非常简单易用的计算工作日的接口,并允许用户指定特定日期为假期,从而将其从当前的工作日中剔除
项目主页: https://pypi.python.org/pypi/business_calendar/
在该类库中,有workday和businessday的概念:
addbusydays(date, offset) 其将考虑holidays公休假的因素
addworkdays(date, offset) 忽略公休假的因素
busdaycount(date1, date2) 计算两个时间点直接的工作日
range(date1, date2) 返回工作日列表, 考虑假期因素
isworkday(date) 是否是工作日,忽略公休假的因素
isbusday(date) 是否工作日,考虑公休假
isHoliday(date) 是否是假日
from business_calendar import Calendar, MO, TU, WE, TH, FR
import datetime
detester = input("请输入上一个版本结束时间:\n")
thisyear = datetime.datetime.strptime(detester, '%Y-%m-%d').year
thismonth= datetime.datetime.strptime(detester, '%Y-%m-%d').month
thisday= datetime.datetime.strptime(detester, '%Y-%m-%d').day
begindatetime = datetime.datetime(thisyear,thismonth,thisday)
print(begindatetime)
# normal calendar, have holidays
#cal = Calendar(workdays=[MO,TU,WE,TH,FR], holidays=['2018-06-18'])
cal = Calendar(workdays=[MO,TU,WE,TH,FR])
date1 = cal.addbusdays(begindatetime, 1)
print("版本中需求截止时间 %s" % date1)
date2 = cal.addbusdays(date1, 5)
print("版本中SIT测试完成时间 %s" % date2)
date3 = cal.addbusdays(date2, 3)
print("版本中UAT+回归测试完成时间 %s" % date3)
date4 = cal.addbusdays(date3, -1)
print("版本中封板时间 %s" % date4)
下次,再算版本时间的时候,希望小伙伴们能用的上啦~~~
python日期迭代_计算敏捷项目中迭代时间安排(Python3版)相关推荐
- 设计模式在项目中的应用案例_设计模式在项目中的应用(初学者版)
文章首发链接: 设计模式在项目中的实际应用(应试版)mp.weixin.qq.com 本文适用于设计模式初学者. 很多人学习了设计模式,但在项目开发中仍然不知道如何使用: 很多小伙伴在课堂上跟着老师 ...
- 敏捷开发中迭代是谁创建_使用基于迭代的敏捷创建里程碑
敏捷开发中迭代是谁创建 我一直在指导几个有问题的团队:他们喜欢迭代工作. 而且,它们具有不在里程碑边界上的里程碑. 他们该怎么办? (我建议使用流程,您应该已经听到了他们的回应.嗯,也许不是.) 这就 ...
- 敏捷项目中的进度控制
敏捷项目中的进度控制 消除浪费 时间是软件开发过程中最为稀缺并不可替代的资源.其浪费将直接影响项目的进度.而软件开发过程中存在各种各样的浪费.因此,消除浪费是加快进度的一种重要途径. 返工则是软 ...
- 业务分析师在敏捷项目中的作用
业务分析师在敏捷项目中的作用 作者 Shane Hastie 译者 郑柯 发布于 2009年2月23日 下午12时35分 社区 Agile 主题 客户及需求 标签 补充实践 敏捷软件开发实践的文化中存 ...
- 业务分析师在敏捷项目中的作用(ZT)
业务分析师在敏捷项目中的作用 作者 Shane Hastie 译者 郑柯 发布于 2009年2月23日 领域 过程 & 实践, 架构 & 设计 主题 客户及需求 , 敏捷 , 补充实践 ...
- vue项目中动态显示时间
vue项目中动态显示时间 前言 一.js源代码 二.效果图 1.修改 2.html与style的修改 3.修改后效果图 总结 前言 在vue项目中动态显示时间,并且按日期.时间.星期一列排列. 我们想 ...
- python领域的名人_计算任意视频中各人物的出镜时间(附Python实现)
作者:Pulkit Sharma 编译:Bing 编者按:本文作者Pulkit Sharma分享了一篇有趣的项目,以<猫和老鼠>为例,计算任意视频中汤姆猫和杰瑞鼠的出镜时长.这一模型也可以 ...
- python读取视频里面爱豆出现的时间_计算任意视频中各人物的出镜时间(附Python实现)...
编译:Bing编者按:本文作者Pulkit Sharma分享了一篇有趣的项目,以<猫和老鼠>为例,计算任意视频中汤姆猫和杰瑞鼠的出镜时长.这一模型也可以用于其他电影,轻松统计各演员的上镜时 ...
- pythondjango项目集成_[Python]将Wagtail整合到Django2项目中
Django是Python主流的Web框架之一,目前主要版本是Django 2.1,但是很多扩展都是基于Django 1.x.最近想做个简单的Web发布,选择了Wagtail,因为其他两个主流的cms ...
最新文章
- 用ASP.NET建立一个在线RSS新闻聚合器(3)
- 一文读懂Spring中的AOP机制
- Wix中注册c#开发的Activex控件
- HDU 5115 Dire Wolf 区间dp
- c语言用指针带出局部变量,关于C语言中返回局部变量和局部指针变量
- django如何调用php接口,使用django集成第三方api开发接口注意事项
- oracle中sp怎么写_校招简历中的实习和项目经历该怎么写?
- native html5 区别,H5与Native优劣对比
- Java:节点流和处理流的理解
- 279. 完全平方数(JavaScript)
- 2020年了,JavaScript依然是前端最受欢迎的语言吗?
- linux下无法安装VMware的解决方法
- python破解excel进入密码(密码字典)
- 计算机上机操作表格试题,2013职称计算机考试Excel表格操作试题(1)
- css制作序列帧动画
- linux tar文件如何压缩文件,在 Linux 上压缩文件的 5 种方法
- gite改提交的用户名称
- Html 设置整个页面的背景颜色
- mysql查询当前月份前两个月的数据_sql查询指定月份之前的几个月
- 路由器常见的第三方系统( OpenWRT,LEDE,PandoraBox,Gargoyle | ASUSWrt,Merlin,Padavan | DD-WRT | Tomato )
热门文章
- suse linux 10 ftp服务配置
- python中元祖 字典 列表的区别_Python中元祖,列表,字典的区别
- chkconfig: 2345 20 80
- Java 集合体系详解——List体系有序集合
- Oracle expdp/impdp导出导入命令及数据库备份
- android 定义固定数组,Android 图片数组定义和读取
- java socket建立长连接_Java Web项目中使用Socket通信多线程、长连接的方法
- ansys 内聚力_内聚力 软件工程
- 编程语言优缺点_R编程语言的优缺点
- Java Integer类numberOfLeadingZeros()方法的示例