Lesson 11 Flashcards
The Four values of Agile
Individuals and Interactions
Working software
Customer Collaboration
Responding to change
The Agile software development Lifecycle
Meet
Plan
Design
Develop
Test
Evaluate
The Six phases of the Agile life cycle
Concept
Inception
Iteration or Construction
Release
Production
Retirement
Envision and prioritize projects.
Concept
Identify team members, appointment of funds, and discussion of initial environments and requirements.
Inception
The development team works to deliver working software based on iteration requirements and feedback
Iteration or Construction
Quality assurance (QA) testing, internal and external training, documentation development, and the iteration is put into production.
Release
Ongoing software support.
Production
End-of-life activities, including customer notification and migration.
Retirement
The Agile iteration workflow
Plan requirements
Develop product
Test software
Deliver iteration
Incorporate feedback
Types of Agile methodologies
Scrum
Lean software development
The extreme programming (XP)
Crystal
Kanban
Is a lightweight Agile framework that can be used by project managers to control all types of iterative and incremental projects.
Scrum
is another iterative method that places a focus on using effective value stream mapping to ensure the team delivers value to the customer.
Lean software development
Method is a disciplined approach that focuses on speed and continuous delivery.
The extreme programming (XP)
is the most lightweight and adaptable methodology. It focuses on people and the interactions that occur while working on an Agile project as well as business-criticality and priority of the system under development.
Crystal
uses a highly visual workflow management method that allows teams to actively manage product creation – emphasizing continuous delivery – without creating more stress in the software development lifecycle (SDLC).
Kanban
The Lean method uses the following primary principles:
Increasing learning
Empowering the team
Fostering integrity
Removing waste
Understanding the whole
Making decisions as late as possible
Delivering the product as fast as possible
Types of Agile methodologies 2
The dynamic systems development method (DSDM)
feature-driven development (FDD)
is a response to the need for a common industry framework for rapid software delivery.
The dynamic systems development method (DSDM)
blends software engineering best practices – such as developing by feature, code ownership and domain object modeling – to create a cohesive, model-driven, short-iteration process.
feature-driven development (FDD)
The_ is an approach to continuously improving a concept, design, or product. Creators produce a prototype, test it, tweak it, and repeat the cycle with the goal of getting closer to the solution.
Iterative model is an alternative to the Waterfall approach, which relies on sequential steps.
Iterative process
The iterative process refines a product through repeated adjustment cycles. In math, an _ identifies the solution to a problem based on an initial guess. Then, you introduce a sequence of algorithms to find the answer.
Iterative Procedure
Here are some of the specific benefits of Iterative Process:
It’s efficient
It’s timely
It’s cost-effective
It’s collaborative
It improves usability
It eliminates confusion
It’s easier to manage risk
It offers continual improvement
You can build your product step-by-step, rather than having to rework an entire plan as changes occur. In addition, the workload of the team is spread out more effectively throughout the project’s development lifecycle.
It’s efficient
The first iteration allows you to develop the top priority in functionality. Each iteration is based on any improvements identified in the past cycle, and continual testing gives you a clear picture of the status of your project. You can see the results early and often because each iteration is a managed milestone.
It’s timely
Any changes to the project’s scope or requirements, which are common in most projects, are less costly than with a Waterfall approach.
It’s cost-effective
You can present the results of each iteration to stakeholders and clients. They can see the evolution of the project and ensure that you are meeting their requirements.
It’s collaborative
Testing and debugging are easier with smaller iterations, as you can identify defects early in the process and users and customers are involved with each iteration.
It improves usability
You can detect inconsistencies or flaws in requirements, design, code, and other implementations with each iteration, so you can avoid misunderstandings.
It eliminates confusion
You tackle the high-risk portions of a project first, and every iteration lets you identify and resolve risks.
It’s easier to manage risk
Each iteration allows the team to easily incorporate any lessons learned from previous runs and continually improve the development process.
It offers continual improvement
How Does the Iterative Process Work?
Step One: Planning and Requirements
Step Two: Analysis and Design
Step Three: Implementation
Step Four: Testing
Step Five: Evaluation and review
In this stage, map out the initial
requirements, gather the related documents, and create a plan and timeline for the first iterative cycle.
Step One: Planning and Requirements
Finalize the business needs, database models, and technical requirements based on the plan. Create a working architecture, schematic, or algorithm that satisfies your requirements.
Step Two: Analysis and Design
Develop the functionality and design required to meet the specifications.
Step Three: Implementation
Identify and locate what’s not working or performing to expectations. Stakeholders, users, and product testers weigh in with their experience.
Step Four: Testing
Compare this iteration with the requirements and expectations.
Step Five: Evaluation and Review
Iterative Development Process
Step One: Requirements
Step Two: Analysis
Step Three: Design
Step Four: Coding
Because you are working on one section — or iteration — of the product, you need to identify the software or hardware requirements for this section. Be clear about who is going to use the system and how will they use it. Identify the objective or task of the product you’re developing, especially if you are working from a project control list. Define what qualifies as a successful outcome for this new section of software.
Step One: Requirements
Review the requirements to identify and resolve any incomplete, ambiguous, or contradictory expectations. Know what data you should include to produce the software and what data the software will output.
Step Two: Analysis
Use the final requirement specifications to design the software. Construct the schematics that describe the software behavior, business process, interface layout, and functionality.
Step Three: Design
Using the software design documents, produce the code that creates the output you identified in the requirements and analysis.
Step Four: Coding
Iterative Design Process
Step One: User Observation and Research.
Step Two: Ideate.
Step Three: Prototype.
Step Four: Analyze.
The first question designers ask: “What is the problem we are trying to solve?” You must understand users and analyze their habits to know what you will design and develop.
Step One: User Observation and Research
In this phase, you and your team can start generating ideas that address the problem you identified through your research.
Step Two: Ideate
In this “build” phase, your team creates an early example of your product. You will use this to test concepts or systems that you are considering for the final design.
Step Three: Prototype
It’s time to gather feedback about your design. Ask users to test the prototype, gather feedback on what works and what doesn’t, and evaluate how well your assumptions met their needs.
Step Four: Analyze
Many software and web applications rely on the iterative _ process because it gives developers more flexibility. Typically, the system development life cycle (SDLC) uses iterative development alongside incremental development. As the system is developed, SDLC becomes increasingly complex.
Iterative Development Process
A variation of the iterative model, the iterative _ process allows designers to create, test, analyze, and refine ideas quickly during any phase of the design process.
This process, called rapid prototyping or spiral prototyping, allows designers to find success more quickly and involve stakeholders and clients more effectively.
Iterative Design Process