胆固醇高是什么症状| ppe是什么| 雌二醇e2是什么意思| 出处是什么意思| 怀孕子宫前位和后位有什么区别| 花生属于什么类食物| beginning什么意思| 超度什么意思| 十月23日是什么星座| 1924年属什么生肖| 妗是什么意思| 什么叫五行| 胡萝卜不能和什么食物一起吃| 突然低血压是什么原因造成的| 男孩过生日送什么礼物好| 2005年属什么| 人类的祖先是什么动物| 姓许的女孩取什么名字好听| 直肠炎吃什么药好的快| 1977年五行属什么| 双子座上升星座是什么| 脑脱髓鞘改变是什么病| 弊端是什么意思| 考试吃什么早餐| 一对什么| 吹水是什么意思| 建议随诊是什么意思| 小儿麻痹是什么病| 女人卵巢保养吃什么好| 义结金兰是什么意思| 核素是什么| 梦见不干净的东西代表什么| 木加石读什么| 什么的宇宙| 什么是百分数| 小孩疳积有什么症状| 乳腺结节是什么原因引起的| 铀是什么| 宫颈切片检查是什么| 血小板低吃什么补得快| 脚趾缝脱皮是什么原因| 淋巴挂什么科| 大便的颜色代表什么| 古尔邦节是什么意思| 松板肉是什么肉| 甲状腺结节吃什么水果好| 胆囊炎不能吃什么| 两胸中间疼是什么原因| 不谷是什么意思| 宽字五行属什么| 9月13日是什么星座| 孕妇血压低吃什么能补上来| 冰丝纤维是什么面料| 大人发烧吃什么药| ecmo是什么| 下身瘙痒什么原因| 还价是什么意思| 三个龙念什么| 假酒喝了有什么症状| 异位胰腺是什么意思| 茵芙莎属于什么档次| 八面玲珑代表什么生肖| 硬刚是什么意思| 肝右叶占位是什么意思| t恤搭配什么裤子好看| 容字五行属什么| 程门立雪什么意思| 降血脂吃什么食物| 什么是翻新机| 已读不回是什么意思| 脚底干燥是什么原因| 羊的尾巴有什么作用| 3月29日是什么星座| 水瓜壳煲水有什么功效| 为什么禁止克隆人| 纤维条索灶是什么意思| 眼睛红血丝用什么眼药水| 尿胆红素高是什么原因| g1是什么意思| 气血两虚吃什么补最快| 三什么一什么四字词语| 八月一日是什么日子| 失信名单有什么影响| 36d什么意思| 脂肪肝什么意思| 下午5点半是什么时辰| 舌头根发麻是什么原因| 总胆红素偏高是什么意思| 肠炎吃什么食物调理| 周杰伦英文名叫什么| 表面是什么意思| 手串什么材料的最好| 封神榜讲的是什么故事| 胺碘酮又叫什么名字| baby是什么意思| 过敏性结膜炎用什么眼药水| 3月28号是什么星座| 来姨妈吃什么水果好| 什么是禽流感| 平光眼镜是什么意思| 昆明是什么城| 男人手大代表什么| 燕子吃什么食物| 儒家思想的核心是什么| 右手麻木是什么原因引起的| 4月27号是什么星座| 若干是什么意思| 发烧了吃什么食物好| 猫猴子是什么| 佩戴貔貅有什么讲究与禁忌| 马桶为什么叫马桶| 花哨是什么意思| 固表是什么意思| 望尘莫及的及是什么意思| 女性腋臭什么年龄消失| 床虱咬了要擦什么药膏| 什么水果营养价值最高| 天什么地| 大什么一什么| 寸是什么意思| 什么叫体位性低血压| 烧心吃什么药效果最好| 琥珀五行属什么| 什么是微循环| 儿童正常体温在什么范围| 雪燕是什么东西| 忙碌的动物是什么生肖| 禾花鱼是什么鱼| 双清是什么意思| 迟钝是什么意思| sapphire手表什么牌子| 荻是什么意思| 扁桃体发炎吃什么食物好| 三叉神经痛吃什么药效果好| 叕怎么读音是什么意思| 萎靡是什么意思| 下巴长痘痘是什么原因| 去湿气喝什么| 什么是气质| 什么是扁平疣| 发烧可以吃什么| 男性生殖痒是什么原因| 女人没经验开什么店好| 1977年五行属什么| 紫色是什么颜色| 脾胃虚是什么症状| 大限将至什么意思| 苏打和小苏打有什么区别| 梦见打篮球是什么意思| 小猫什么时候驱虫| 收官是什么意思| 覅什么意思| 肾精是什么| 血小板低吃什么食物补得快| 槐米是什么| 光绪是慈禧的什么人| 什么是幂| 什么原因导致尿酸高| 腹腔积水是什么原因造成的| 肌酐偏低有什么危害| 芒果跟什么不能一起吃| 什么什么不动| 骨头坏死是什么感觉| 女人为什么会喷水| 心电图低电压什么意思| 送朋友鲜花送什么花| 久卧伤什么| beyond什么意思| 被螨虫咬了非常痒用什么药膏好| 蒲公英的花是什么颜色| 嘴唇起泡用什么药| aids是什么病的简称| 1月11日什么星座| 家里为什么不能放假花| 1953年是什么生肖| 尿液中有血是什么原因| 梦见自己手机丢了是什么意思| 白袜子是什么意思| 贫血有什么危害| 宝宝不爱吃饭是什么原因| skechers是什么牌子| 生化了是什么意思| 皿是什么意思| ems代表什么| 肾阳虚吃什么药| 势利眼是什么意思| 尿液带血什么原因| 周杰伦什么时候出道| 男性尿道疼痛小便刺痛吃什么药| 结肠多发憩室是什么意思| 县团级是什么级别| 橘络的功效与作用是什么| 腿上有淤青是什么原因| 十二月份是什么星座| 勿忘心安是什么意思| 香港为什么不用人民币| 点子是什么意思| 财五行属什么| 甲肝是什么病| 呵呵哒什么意思| 什么因什么果| balmain什么档次| 生辰纲是什么东西| 梦见吃红薯是什么意思| 1020是什么星座| 不行是什么意思| 国标舞是什么舞| 血细胞分析能查出什么| 2005属什么| 蜈蚣最怕什么东西| 喉咙发炎吃什么水果好| 八月初八是什么星座| 优势是什么意思| 玉米须有什么作用| 过期的洗面奶可以用来做什么| 炖羊肉放什么| 皮赘用什么药膏去除| 什么动物的牙齿最多| 知性女性是什么意思| 肌钙蛋白高说明什么| 什么也别说| 凌晨两点多是什么时辰| 岁岁年年是什么意思| 劳热是什么意思| 鞋油自然色是什么颜色| 什么是口爆| 玄米是什么米| oof是什么意思| 转氨酶高吃什么药最好| 什么公主| 什么的沙滩| 青岛有什么特产| 屁多吃什么药| 蛋白粉什么牌子好| 紫苏叶是什么| 液蜡是什么| 尿酸高要注意什么饮食| 美的不可方物什么意思| 小囡是什么意思| 脱肛是什么意思| 海棠花的花语是什么| 捋捋是什么意思| 湿气重不能吃什么| 8月31号是什么星座| 小便黄是什么原因| 医保统筹是什么意思| 向日葵代表什么| 心功能一级什么意思| winbond是什么品牌| 小叶增生吃什么药| 刀子嘴豆腐心什么意思| 宝路华手表什么档次| 喉咙有痰吐出来有血是什么原因| 胆结石能吃什么| pearl什么意思| 人言轻微是什么意思| 降低压吃什么药| 生活方式是什么意思| 口腔炎吃什么药| 诺如病毒感染吃什么药| 类风湿不能吃什么东西| 去医院打耳洞挂什么科| 眼睛五行属什么| 红色配什么颜色好看| 百度

AmbySoft.com

甘肃省将进一步抓细落实责任防范 遏制重特大事故发生

百度 比如,优势聚焦战略、创新图存战略、产品转型升级战略、抱团求存战略、安静冬眠战略、降低成本战略、防守反击战略等。

The goal of this article is to describe the agile system development lifecycle (SDLC), the agile SDLC, putting it in context from what you may have heard about within the agile community and more importantly within the context of your overall IT efforts.

This article covers:

  1. The scope of lifecycles
  2. Concept: Pre-planning
  3. Inception
  4. Construction sprints
  5. Release sprints
  6. Production
  7. Retirement

 

1. The?Scope of Lifecycles

Although some lifecycles are depicted otherwise, the Scrum construction lifeycle of?Figure 1?is a classic example of such, the reality on the ground is much different.?Figure 2?depicts an agile, Scrum-based project lifecycle, adding an Ideation/Sprint 0 phase and a Deploy phase.?Figure 3?goes one step further to present a full, agile solution lifecycle. Each of these lifecycles are described in?The Scrum Lifecycles: Construction, Project, and Solution

 

 

Figure 1. The Scrum construction lifecycle (click to enlarge).

Figure 2. The agile project lifecycle (click to enlarge).

 

Figure 3. A detailed agile SDLC (click to enlarge).

 

Figure 4?depicts a lean, Kanban-based continuous delivery lifecycle that is well suited for a DevOps approach. This lifecycle is described in greater detail in?The Continuous Delivery (CD) Software Lifecycle.

Figure 4. The lean continuous delivery (click to enlarge).

 

On the surface, the agile SDLC of?Figure 5?looks very much like a traditional SDLC, but when you dive deeper you quickly discover that this isn’t the case. This is particularly true when you consider the detailed view of?Figure 3. Because the agile SDLC is highly collaborative, iterative, and incremental the roles which people take are much more robust than on traditional?initiatives. In the traditional world a?business analyst?created a?requirements model?that is handed off to an?architect?who creates?design?models that are handed off to a coder who writes programs which are handed off to a?tester?and so on. On an agile team, developers work closely with their stakeholders to understand their needs, they pair together to implement and test their solution, and the solution is shown to the stakeholder for quick feedback. Instead of specialists handing artifacts to one another, and thereby injecting defects at every step along the way, agile developers are?generalizing specialists?with full lifecycle skills.

 

Figure 5. The Agile SDLC (high-level). Click to enlarge.

High-level agile SDLC

2. The Concept Phase: Portfolio Planning

The Concept Phase, sometimes called sprint -1, is the pre-initiative?aspects of?portfolio management. During this phase you will:

  1. Define the business opportunity. You must consider the bigger business picture and focus on market concerns. This includes exploring how the new functionality will improve your organization’s presence in the market, how it will impact profitability, and how it will impact the people within your organization. This exploration effort should be brief, not all?initiatives?will make the initial cut so you only want to invest enough effort at this point to get a good gut feel for the business potential.
  2. Identify a viable strategy for the initiative. There are several issues to consider when identifying a potential strategy for the initiative. For example, do you build a new system or buy an existing package and modify it? If you decide to build, do you do so onshore or offshore? Will the work be solely done by your own development team, by a team from a system integrator (SI), or in partnership with the SI? What development paradigm – traditional/waterfall, iterative, or agile – will you follow? Will the team be co-located, near-located within the same geographic region, or far-located around the world? As you can see there are many combinations of strategy available to you, and at this point in time you may only be able to narrow the range of the possibilities but be forced to leave the final decision to the team in future sprints.
  3. Assess the feasibility. During the Concept Phase you will want to do just enough feasibility analysis to determine if it makes sense to invest in the potential?initiative. Depending on the situation you may choose to invest very little effort in considering feasibility, for many systems just considering these issues for a few minutes is sufficient for now, and for some systems you may choose to invest days if not weeks exploring feasibility. Many organizations choose to do just a little bit of feasibility analysis during the Concept Phase, and then if they decide to fund the effort they will invest more effort during?Inception. In my experience you need to consider four issues when exploring?feasibility: economic feasibility, technical feasibility, operational feasibility, and political feasibility. Your feasibility analysis efforts should also produce a list of potential risks and criteria against which to make go/no-go decisions at key milestone points during your initiative. You should question the feasibility of the?initiative?throughout the lifecycle to reduce overall risk.

Concept Phase activities can and should be as agile as you can possibly make it – you should collaborate with stakeholders who are knowledgeable enough and motivated enough to consider this potential initiative and invest in just enough effort to decide whether to consider funding the effort further.

3. Ideation/Sprint 0: Getting Your Initiative Going

The first week or so of an agile initiative is often referred to as Sprint 0 or Ideation. Your goal during this period is to start the?initiative?by:

  1. Garnering initial support and funding for the initiative. This may have been already achieved via your portfolio management efforts, but realistically at some point somebody is going to ask what are we going to get, how much is it going to cost, and how long is it going to take. You need to be able to provide reasonable, although potentially evolving, answers to these questions if you’re going to get permission to work on the effort. You may need to?justify your initiative via a feasibility study.
  2. Actively working with stakeholders to?initially model?the scope of the system. As you see in?Figure 6, during sprint 0 agilists will do some?initial requirements modeling?with their stakeholders to identify the initial, albeit high-level, requirements for the system. To promote?active stakeholder participation?you should use?inclusive tools, such as index cards and white boards to do this modeling – our goal is to understand the problem and solution domain, not to create mounds of documentation. The details of these requirements are modeled on a just in time (JIT) basis in?model storming?sessions during the?development cycles.
  3. Starting to build the team. Although your team will evolve over time, at the beginning of a development effort you will need to start identifying key team members and start bringing them onto the team. At this point you will want to have at least one or two senior developers, the team leader, and one or more stakeholder representatives.
  4. Modeling an?initial architecture?for the system. Early in the project you need to have at least a general idea of how you’re going to build the system. Is it a mainframe COBOL application? A .Net application? J2EE? Something else? As you see in?Figure 6, the developers on the team will get together in a room, often around a whiteboard, discuss and then sketch out a potential architecture for the system. This architecture will likely evolve over time, it will not be very detailed yet (it just needs to be?good enough?for now), and very little documentation (if any) needs to be written. The goal is to identify an architectural strategy, not write mounds of documentation. You will work through the design details later during?development cycles?in?model storming?sessions and via?TDD.
  5. Setting up the environment. You need workstations, development tools, a work area, … for the team. You don’t need access to all of these resources right away, although at the start of the initiative you will need most of them.
  6. Estimating the effort. You’ll need to put together an initial?estimate for your agile initiative?based on the initial requirements, the initial architecture, and the skills of your team. This estimate will evolve throughout the effort.

Figure 6: The Agile Model Driven Development (AMDD) lifecycle (click to enlarge).Agile model driven development (AMDD) lifecycle

 

 

The?2013 Agile Project Initiation Survey?found that the average time to initiate an agile project took 4.6 weeks.?Figure 7?depicts the range of initiation periods. Differences are the results of the complexity of the domain/problem space, technical complexity of what you’re trying to accomplish, availability of stakeholders, ability of stakeholders to come to agreement as to the scope. and ability of the team to form itself and to obtain necessary resources.

Figure 7. How long did it take to initiate an agile project?

4. Construction Sprints

During construction sprints agilists incrementally deliver high-quality working software which meets the changing needs of our stakeholders, as overviewed in?Figure 8.

Figure 8. Agile software development process during a construction sprint.

 

We achieve this by:

  1. Collaborating closely with both our stakeholders and with other developers. We do this to reduce risk through?tightening the feedback cycle?and by improving?communication via closer collaboration.
  2. Implementing functionality in priority order. We allow our stakeholders to?change the requirements?to meet their exact needs as they see fit. The stakeholders are given complete control over the scope, budget, and schedule?– they get what they want and spend as much as they want for as long as they’re willing to do so.
  3. Analyzing and designing.?We analyze individual requirements by?model storming?on a just-in-time (JIT) basis for a few minutes before spending several hours or days implementing the requirement. Guided by our architecture models, often hand-sketched diagrams, we take a highly-collaborative,?test-driven design (TDD)?approach to development (see?Figure 9) where we iteratively write a test and then write just enough production code to fulfill that test. Sometimes, particularly for complex requirements or for design issues requiring significant forethought, we will?model just a bit ahead?to ensure that the developers don’t need to wait for information.
  4. Ensuring quality. Disciplined agilists are firm believers in following guidance such as?coding conventions?and?modeling style guidelines. Furthermore, we?refactor?our application code and/or our?database schema?as required to ensure that we have the best design possible.
  5. Regularly delivering working solutions. At the end of each development cycle/sprint you should have a partial, working solution to show people. Better yet, you should be able to deploy this solution into a pre-production testing/QA sandbox for system integration testing. The sooner, and more often, you can do such testing the better. See?Agile Testing and Quality Strategies: Discipline Over Rhetoric?for more thoughts.
  6. Testing, testing, and yes, testing. As you can see in?Figure 10?agilists do a significant amount of?testing?throughout construction. As part of construction we do confirmatory testing, a combination of developer testing at the design level and agile acceptance testing at the requirements level. In many ways confirmatory testing is the agile equivalent of “testing against the specification” because it confirms that the software which we’ve built to date works according to the intent of our stakeholders as we understand it today. This isn’t the complete testing picture: Because we are producing working software on a regular basis, at least at the end of each sprint although ideally more often, we’re in a position to deliver that working software to an independent test team for investigative testing. Investigative testing is done by test professionals who are good at finding defects which the developers have missed. These defects might pertain to usability or integration problems, sometimes they pertain to requirements which we missed or simply haven’t implemented yet, and sometimes they pertain to things we simply didn’t think to test for.

 

Figure 9. Taking a “test first” approach to construction.Test driven development (TDD)

 

Figure 10. Testing activities during an agile initiative (click to enlarge).

Testing throughout the agile lifecycle

 

I would rather fail three weeks into a six-month initiative than ten months into a six-month initiative.

5. Deploy: The “End Game”

During the deploy phase, also known as the “end game” or transition, we release the solution into?production. Not that for complex systems the end game may prove to be several sprints, although if you’ve done system and user testing during construction sprints (as indicated by?Figure 7) this likely won’t be the case. There are several important aspects to this effort:

  1. Final testing of the system. Final system and acceptance testing should be performed at this point, although as I pointed out earlier the majority of testing should be done during construction sprints (ideally, you just need to rerun your regression test suite to see that it works). You may choose to pilot/beta test your system with a subset of the eventual end users. See the article?Agile Testing and Quality Strategies: Discipline Over Rhetoric?for more thoughts on testing.
  2. Rework. There is no value testing the system if you don’t plan to act on the defects that you find. You may not address all defects, but you should expect to fix some of them.
  3. Finalization of any system and user documentation. Some?documentation?may have been written during construction sprints, but it typically isn’t finalized until the system release itself has been finalized to avoid unnecessary rework Note that documentation is treated like any other requirement: it should be costed, prioritized, and created only if stakeholders are willing to invest in it. Agilists believe that if stakeholders are smart enough to earn the money then they must also be smart enough to spend it appropriately.
  4. Training. We train end users, operations staff, and support staff to work effectively with our system.
  5. Deploy the system. See my article entitled?System Deployment Tips and Techniques.

As you can see in?Figure 11, on average agile teams take 4.6 weeks to transition their system into production according to the?November 2010 Agile State of the Art Survey. As you can see in the figure there is a wide range of time taken. I believe this variance ranges based on the complexity of the solution, the amount of deployment automation (teams that have adopted a continuous deployment strategy automate many of the technical aspects of transition), the comprehensiveness of the?agile testing?effort during construction, the need for manual efforts such as training and educating end users (or support or operations staff), and the organizational complexity of your environment.

Figure 11. Amount of time experienced agile teams invested in releasing/transitioning their solution into production.

6. Production

The goal of the?Production Phase?is to keep systems useful and productive after they have been deployed to the user community. This process will differ from organization to organization and perhaps even from system to system, but the fundamental goal remains the same: keep the system running and help users to use it. Shrink-wrapped software, for example, will not require operational support but will typically require a help desk to assist users. Organizations that implement systems for internal use will usually require an operational staff to run and monitor systems.

This phase ends when the release of a system has been slated for retirement or when support for that release has ended. The latter may occur immediately upon the release of a newer version, some time after the release of a newer version, or simply on a date that the business has decided to end support. This phase typically has one sprint because it applies to the operational lifetime of a single release of your software. There may be multiple sprints, however, if you defined multiple levels of support that your software will have over time.

7. Retirement

The goal of the?Retirement Phase?is the removal of a system release from production, and occasionally even the complete system itself, an activity also known as system decommissioning or system sunsetting. Retirement of systems is a serious issue faced by many organizations today as legacy systems are removed and replaced by new systems. You must strive to complete this effort with minimal impact to business operations. If you have tried this in the past, you know how complex it can be to execute successfully. System releases are removed from production for several reasons, including:

  1. The system is being complete replaced. It is not uncommon to see homegrown systems for human resource functions being replaced by COTS systems such as SAP or Oracle Financials.
  2. The release is no longer to be supported. Sometimes organizations will have several releases in production at the same time, and over time older releases are dropped.
  3. The system no longer needed to support the current business model. A organization may explore a new business area by developing new systems only to discover that it is not cost effective.
  4. The system is redundant. Organizations that grow by mergers and/or acquisitions often end up with redundant systems as they consolidate their operations.
  5. The system has become obsolete.

In most cases, the retirement of older releases is a handled during the deployment of a newer version of the system and is a relatively simple exercise. Typically, the deployment of the new release includes steps to remove the previous release. There are times, however, when you do not retire a release simply because you deploy a newer version. This may happen if you can not require users to migrate to the new release or if you must maintain an older system for backward compatibility.

 

Related Resources

 

Recommended Reading

This book,?Choose Your WoW! A Disciplined Agile Approach to Optimizing Your Way of Working (WoW) – Second Edition, is an indispensable guide for agile coaches and practitioners. It overviews key aspects of the Disciplined Agile? (DA?) tool kit. Hundreds of organizations around the world have already benefited from DA, which is the only comprehensive tool kit available for guidance on building high-performance agile teams and optimizing your WoW. As a hybrid of the leading agile, lean, and traditional approaches, DA provides hundreds of strategies to help you make better decisions within your agile teams, balancing self-organization with the realities and constraints of your unique enterprise context.

 

小孩老咳嗽是什么原因 7月18日是什么日子 04属什么生肖 脚底冰凉是什么原因 刚感染艾滋病什么症状
菊花代表什么生肖 nacl是什么 吃什么食品减肥 便秘吃什么好 可什么可什么成语
什么样的花朵 钴对人体有什么伤害 人死后会变成什么 戒指戴无名指是什么意思 为什么拔罐肩膀最黑
炙子是什么意思 孽缘是什么意思 乡长是什么级别 甲状腺低回声什么意思 吃饭就吐是什么原因
奶茶里面的珍珠是什么做的hcv8jop1ns2r.cn qa和qc有什么区别tiangongnft.com 什么人不能喝石斛hcv7jop6ns4r.cn 伥鬼是什么意思hcv8jop5ns6r.cn 小暑是什么意思啊hcv8jop8ns6r.cn
又什么又什么cl108k.com 为人是什么意思1949doufunao.com 补办身份证需要什么hcv8jop8ns4r.cn 什么叫变态hcv9jop3ns0r.cn 煮玉米放盐起什么作用hcv9jop0ns9r.cn
feno是什么检查hcv8jop1ns9r.cn gs是什么hcv8jop1ns3r.cn 丧门是什么意思aiwuzhiyu.com 关爱是什么意思hcv7jop7ns4r.cn 9.3什么星座hcv8jop4ns9r.cn
南柯一梦是什么意思hcv9jop6ns9r.cn 小便多是什么原因hcv8jop5ns2r.cn 再者是什么意思hcv8jop8ns2r.cn ch2o是什么物质hcv9jop7ns1r.cn 八面玲珑代表什么生肖hcv9jop2ns1r.cn
百度