Agile Development Iterative Lifecycle

softwarebuck April 25, 2021 0 Comments



Development stages of Waterfall model


Usually, this methodology involves five to seven phases. Every phase onlybegins if the previous step is completed. Companies use different names ofthese phases. However, here is what the traditional Waterfall stages looklike.1. RequirementsThe requirements should be gathered at the very beginning of the project. Allthe other phases are planned without any participation of customers.2. DesignThis step includes two subphases, which are logical design and physicaldesign. The first subphase is based on brainstorming and searching forpossible solutions. After this, the physical design subphase turns the theoryinto clear specifications.3. ImplementationAt this stage, developers create the actual code based on the specificationsformulated at the beginning.4. VerificationNow customers can review the completed product and determine whether or not itmeets their initial requirements.5. MaintenanceDuring this stage, costumes are actively using the product. This phase alsoinvolves fixing bugs and features that don’t work correctly.

How Waterfall deals with software requirements


There is a big difference between Agile and Waterfall when it comes torequirements management. While Agile requires you to change the requirementsall the time depending on the input from customers and stakeholders, Waterfallprovides you with a fixed system of requirements that is determined during theinitial phase of product development. The only way to change the requirementsis through formal requests.

Waterfall Approaches


Waterfall is a linear approach to software development process. Each of theserepresents a distinct phase of software development, and each phase generallyfinishes before the next one can begin. There is also typically a milestonebetween each development phase. * Structured as one big project in a sequential process * Suited for situations where change is uncommon * A process that requires clearly defined requirements upfrontThus the waterfall model maintains that one should move to a phase only whenits preceding phase is reviewed and verified as shown in the Figure below:Waterfall approachFor example:In Royce’s original waterfall model, the following phases are followed inorder: * System and software requirements: captured in a product requirements document * Analysis: resulting in models, schema, and business rules * Design: resulting in the software architecture * Coding: the development, proving, and integration of software * Testing: the systematic discovery and debugging of defects * Operations: the installation, migration, support, and maintenance of complete systems

Agile Approaches


Agile is derived using Lean thinking that applies “Lean” concepts in theinformation technology environment. The key focus of the Lean approach is to: * Eliminate waste from processes * Minimize Business non-value added activities * Maximize added value from the consumer’s perspectiveAgile ApproachesAgile approach is the proven project management methodology that encouragesthe following key concepts: * Frequent inspection and adaptation * A leadership philosophy that encourages team work, self-organization, and accountability * A set of engineering best practices that allow for rapid delivery of high-quality projects * A business approach that aligns development with customer needs and company goals

Agile Development – Iterative Lifecycle


Agile development stages include traditional planning, analyzing requirements,design, coding, testing, and deployment, but they form a cycle rather than aline. This means the processes are flexible, repeatable, can happen in anyorder and in parallel. This allows gathering the user feedback, continuoustesting against different environments and changing the scope of the projecton the run.

Lean Approach


A lean organization understands customer value and focuses its key processesto continuously increase it. The ultimate goal is to provide perfect value tothe customer through a perfect value creation process that has zero waste.5 Step Lean ApproachThe five-step thought process for guiding the implementation of lean approachis easy to remember, but not always easy to achieve: 1. Specify value from the standpoint of the end customer by product family. 2. Identify all the steps in the value stream for each product family, eliminating whenever possible those steps that do not create value. 3. Make the value-creating steps occur in tight sequence so the product will flow smoothly toward the customer. 4. As flow is introduced, let customers pull value from the next upstream activity. 5. As value is specified, value streams are identified, wasted steps are removed, and flow and pull are introduced, begin the process again and continue it until a state of perfection is reached in which perfect value is created with no waste.5 steps Lean Approach

Waterfall Approaches


Waterfall is a linear approach to software development process. Each of theserepresents a distinct phase of software development, and each phase generallyfinishes before the next one can begin. There is also typically a milestonebetween each development phase. * Structured as one big project in a sequential process * Suited for situations where change is uncommon * A process that requires clearly defined requirements upfrontThus the waterfall model maintains that one should move to a phase only whenits preceding phase is reviewed and verified as shown in the Figure below:Waterfall approachFor example:In Royce’s original waterfall model, the following phases are followed inorder: * System and software requirements: captured in a product requirements document * Analysis: resulting in models, schema, and business rules * Design: resulting in the software architecture * Coding: the development, proving, and integration of software * Testing: the systematic discovery and debugging of defects * Operations: the installation, migration, support, and maintenance of complete systems

Agile Approaches


Agile is derived using Lean thinking that applies “Lean” concepts in theinformation technology environment. The key focus of the Lean approach is to: * Eliminate waste from processes * Minimize Business non-value added activities * Maximize added value from the consumer’s perspectiveAgile ApproachesAgile approach is the proven project management methodology that encouragesthe following key concepts: * Frequent inspection and adaptation * A leadership philosophy that encourages team work, self-organization, and accountability * A set of engineering best practices that allow for rapid delivery of high-quality projects * A business approach that aligns development with customer needs and company goals

Agile Development – Iterative Lifecycle


Agile development stages include traditional planning, analyzing requirements,design, coding, testing, and deployment, but they form a cycle rather than aline. This means the processes are flexible, repeatable, can happen in anyorder and in parallel. This allows gathering the user feedback, continuoustesting against different environments and changing the scope of the projecton the run.

Lean Approach


A lean organization understands customer value and focuses its key processesto continuously increase it. The ultimate goal is to provide perfect value tothe customer through a perfect value creation process that has zero waste.5 Step Lean ApproachThe five-step thought process for guiding the implementation of lean approachis easy to remember, but not always easy to achieve: 1. Specify value from the standpoint of the end customer by product family. 2. Identify all the steps in the value stream for each product family, eliminating whenever possible those steps that do not create value. 3. Make the value-creating steps occur in tight sequence so the product will flow smoothly toward the customer. 4. As flow is introduced, let customers pull value from the next upstream activity. 5. As value is specified, value streams are identified, wasted steps are removed, and flow and pull are introduced, begin the process again and continue it until a state of perfection is reached in which perfect value is created with no waste.5 steps Lean Approach

Understand the Project Approach


Knowing the overall approach, or methodology, of a project is an importantpart of understanding when and how you’ll be involved and how you should beinvolving others, such as your project team and business stakeholders.Sometimes there seem to be as many project approaches as there are projects.How to choose the right approach for a project is a large topic in itself. Themethodology you choose can depend on many things, including the structure andlocation of the project team, the technologies being used on the project, andthe degree to which collaboration is a part of the company’s culture. For thepurposes of this book, we’re assuming that you’ve joined a project where theapproach has largely been determined by those responsible for the project’ssuccess, such as the project sponsor and project manager. In this situation,your main goal will be to understand the approach and help make it effectivefor the business stakeholders and your users.Here we’ll focus on two of the most common types of approach, as well as athird that shows a possible variation you might encounter on a project. Theimportant thing to note is that most approaches involve the same steps: * Plan the overall strategy, approach, and team structure * Define the project requirements * Design interaction and visual concepts and evolve them into detailed specifications * Develop, test, and refine the solution * Deploy the solution via messaging, training, and a planned launch * Extend the project by making recommendations for improvementsThe names for these steps may vary, as may the degree to which they overlapand the way information is documented. But the general activities in each stepare common to most projects and to all three models presented here.

Waterfall Approach


A waterfall approach (Figure 4.3) involves treating the steps of a project asseparate, distinct phases, where approval of one phase is needed before thenext phase begins. For example, the Design phase does not begin in earnestuntil requirements have been approved by business stakeholders, who sign offon one or more requirements documents at the end of the Define phase.Figure 4.3 Example of a waterfall approach, where each phase “falls” into thenextThe problem with a pure waterfall approach is that it assumes that each phasecan be completed with minimal changes to the phase before it. So if you comeup with new requirements in the Design phase, which is common, you mustsuggest changes to documents that were approved at the end of the Definephase, which can throw off the plan and the schedule.

Agile Approaches


Because change is constant, project teams are continually looking for moreflexible approaches than the waterfall model. Many methodologies follow a morefluid approach, with some steps happening alongside each other; for example,versions of the website could be released on a rapid, iterative schedule usingan agile or rapid development approach (Figure 4.4). An agile approachgenerally has a greater focus on rapid collaboration and a reduced focus ondetailed documentation and formal sign-off.A true agile approach (following the best practices developed by members ofthe Agile Alliance, for example) calls for small teams whose members arelocated next to each other physically, with little focus on defining formalroles between team members. Working this way allows a very high degree ofcollaboration, which reduces the need for heavy documentation between thestages of design, development, and testing. A team member can pose a question,come to the answer together with other team members during a quickwhiteboarding session, and implement a solution without the delay of detaileddocumentation and approval. Stakeholder reviews occur with a fully functioningsystem when one of the many iterations is released, and the resulting input istaken into account as the next iteration is planned. (Iterations are draftversions of a particular site or application and may also be called sprints.)Designers moving to an agile approach for the first time often face aconundrum. How do you go from a waterfall approach (which favors detaileddocumentation and sign off, taking weeks or months per phase), to an agileapproach (which favors conversations and quick decision making over the courseof days or weeks) and still make time for design thinking and user research?To see how some designers have made the transition, let’s dive deeper into aparticular kind of approach called Lean UX.

Leave a Reply

Your email address will not be published. Required fields are marked *