设为首页 收藏本站
查看: 532|回复: 0

[经验分享] 一次SharePoint开发的敏捷实践

[复制链接]

尚未签到

发表于 2015-9-28 11:19:46 | 显示全部楼层 |阅读模式
  一直都才尝试用敏捷的方式作项目,在此记录最近一次SharePoint项目开发的敏捷实践。希望能和大家更多的交流关于敏捷开发以及SharePoint开发的经验。
  起因:公司希望将资产管理纳入公司的SharePoint Portal之中,由于资产管理名目繁多,现阶段从PC管理开始,而项目第一期是关于PC购买,分配的流程管理,这里只记录其中一部分。
  首先了解需求,整理user story,确定user story的优先级,确保每个user story都是deliverable&testable。
  我们设定了2周为一个Iteration,在对每个User story的point进行评估以后,选择了其中优先级较高的可以在一个Iteration完成的user story,在这个Iteration内完成,例如本次Iteration选取了下面的user story:
  1.As a user, I can apply component/PC from SharePoint site.
  2.As a manager,  I want to be able to get new pc application and approve/reject it.  
  3.As a director,  I want to be able to response the application after manager approved/reject it.
  我们采用了TDD的方式来开发,先写test case(开发人员和测试人员一起达成共识)。我们采用了一个开源的测试框架Fitnesse,在这里不具体介绍Fitnesse的使用方法了,有兴趣的朋友可以去看 http://fitnesse.org/.FitNesse.UserGuide, 有比较详细的介绍。Fitnesse本身是一个Wiki,我们的test case在fitnesse上都表现为一个个table。我们细分了user story,在fitnesse上创建针对各个user story的test case。Fitnesse的table是一种很直白的表现Test case的方式,也很直接的表现了需求。
  写完了test case,跑test case,不过。然后开始写business代码。完成business代码(.dll),再跑test case,这次通过了。
  然后我们需要把business代码和SharePoint相结合起来,这里由于业务流程不是很复杂,放弃了SharePoint的workflow开发方案,直接选用了Eventhandler解决方案,当用户提出一个application时,会促发SharePoint的eventhandler,来完成这一系列的workflow。由创建的eventhandler来调用我们的business代码。再这里不帖具体的business和eventhandler实现代码了。当所有的这一系列工作(包括前台页面的开发)都完成后,2周的时间也差不多到了。
  一个Iteration结束后,在demo meeting上我们为公司资产管理的admin演示这个Iteration所完成的user story。demo完成后,她对大部分完成的需求感到满意,提出了一个小小的改变,就是在manager审批过申请后,不直接将申请发送到director审批,而是中间需要由admin来review这个申请。由于中间加了一个review的环节,在下一个Iteration中,我们修改了test case,再跑test case。有一部分test case通不过了。于是我们再修改了business 代码,再跑test case,通过。这样也确保了所有没有涉及到修改的代码没有因为我们修改的部分而出错,这个就是TDD的好处之一。
  在TDD的开发模式下,我们将business代码分离的出来,这样有助于我们优化我们的代码结构,同时这部分代码可以被automation test,确保了代码质量。
  敏捷开发的好处在这里也不再赘述了。
  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-119924-1-1.html 上篇帖子: SharePoint 2010高并发下异常“此用户不存在或不唯一”处理 下篇帖子: SharePoint 2010中的客户端AJAX应用——ASP.NET AJAX模板
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表