CEG offers Corporate Training and Consulting, as well as traditional and virtual instructor-led courses in management and leadership, project management, business analysis, business process management, agile/scrum, and lean six sigma.
Issue link: https://info.corpedgroup.com/i/1514449
C O R P O R AT E E D U C AT I O N G R O U P Why is Agility Desirable? While rigorous processes are some- times necessary, they generally introduce significant inefficiencies: • Large amounts of documentation that is often unnecessary and frequently out-of-date • Increased process rigor to deal with risks of distributed teams and unavailable stakeholders • Inflexible processes when re- quirements invariably change • Long delays before a usable product is available for review by stakeholders Traditional Vs. Iterative The traditional approach to project management is to move through the various phases of a project sequentially. Progression through the different stages is structured, which means that the next phase is not started until the prior phase is complete and has been validated. For example, design is not started until all of the analysis has been done. This approach is commonly called the "waterfall approach" be- cause one only goes forward, but does not revisit a prior phase. (See Figure 1.) While this sounds like the right thing to do in theory, in prac- tice this presents a problem since requirements are often not fully understood until later in the devel- opment cycle. There invariably are changes to requirements and the waterfall process is not suited to projects where the requirements are not well understood up front. In contrast to the waterfall model, the iterative approach defines a solution in stages or iterations. It is an incremental strategy where each iteration produces a more refined product. The development team continuously plans, designs, codes, tests, and so forth. Each it- eration lasts a fixed amount of time and produces something of value at the end — ideally a demonstra- ble product. Agile methods rely on iterative project management and do not assume that all requirements must be defined before development begins. Instead, they allow new requirements to be discovered and addressed as they arise. Therefore, new requirements are added to the project "backlog" and are then addressed during an upcoming iteration when the stakeholders decide that the new requirements are more important than all of the other requirements discovered previously. (See Figure 2.) Benefits of Agile Methods The agile approach mitigates risk by addressing high priority require- ments early in the development process and providing customers with the opportunity to provide frequent feedback by producing tangible results very early in the project. Applicability of Agile Methods Ideally, agile methods provide the best results when the development team is fairly small and generally has no more than 8-10 team mem- bers. Larger projects are often divided into multiple agile teams. In addition, development teams are most productive when they are co-located, which means that they work together very closely, ideally in the same room or general area to maximize collaboration and communication. Generally, agile approaches do not work well when teams are distributed, large, or have team members who are novices. Plan Analyze Design Code Test Product Figure 1: Classic Waterfall Approach to System Development Product Plan Review Analyze Design Test Code Product Plan Review Analyze Design Test Code Product Plan Review Analyze Design Test Code Figure 2. Agile Approach to System Development