Agile Software Development - a Suvojyoti Presentation - Presentation Transcript
AGILE SOFTWARE DEVELOPMENT
Requirements for good software solutions
Effective
Quick Response To Needs
Easy to operate
Simple to maintain
Adoptive
AGILE SOFTWARE DEVELOPMENT
General development processes
Slow
Inconsistent
Non-adoptive
Time consuming
Low interactive
AGILE SOFTWARE DEVELOPMENT
AGILE SOFTWARE DEVELOPMENT
Brief History
Edmonds introduced an adoptive software development process in 1974
Initially called “Light Wight methods”
In 2001 developers made in Utah and formed Agile Methods
Later Agile Alliance was formed
Past methods include Extreme Programming(XP),Adaptive Software Development, Feature Driven Development
AGILE SOFTWARE DEVELOPMENT
Agile Manifesto
Individuals and Interactions over processes and tools
Working Software over comprehensive documentation
Customer Collaboration over contract negotiation
Responding to change over following a plan
AGILE SOFTWARE DEVELOPMENT
Agile Principals
Early and continuous delivery of valuable software
Welcome changing requirements
Work in collaboration
Build projects around motivated individuals
Face to face communication in a team
Attention to technical excellence
Simplicity
AGILE SOFTWARE DEVELOPMENT
Characteristics
Team takes a Test Driven Development(TDD) approach
Stakeholders are active participants in development
Produce high quality software solutions in a regular basis
Team working in high collaboration
AGILE SOFTWARE DEVELOPMENT
Agile Methods
Agile Modeling(AM)
Agile Unified Process(AUM)
Agile Data Method(ADM)
Test Driven Development(TDD)
Feature Driven Development(FDD)
Behavior Driven Development(BDD)
Essential Unified Process(EssUP)
Responsive Development(RD)
And many more………..
AGILE LIFE CYCLE
ITERATION ZERO
Getting Initial Support and Funding
Model The Scope Of The System
Start Building A Team
Initial Architecture
Set Up Environment
AMDD Life Cycle
AGILE LIFE CYCLE(Contd.)
CONSTRUCTION ITERATIONS
Close Collaboration With Stakeholders & Developers
Implement Functionality In Priority Order
Analysis & Design
Ensuring Quality
Regularly Delivery of Working Software
Testing
Construction Iteration
AGILE LIFE CYCLE(Contd.)
Release Iteration
Final Testing
Rework
Finalize System & User Documentation
Training
Deployment
AUP Deployment Discipline
Testing, Testing And More Testing…..
Confirmatory Testing
Developer Testing
Agile Acceptance Testing
Independent Testing
Acceptance Testing
Function Testing
Exploratory Testing
Scenario Testing
System Testing
User Testing
Investigative Testing
Life Cycle Testing
Test First Approach
Model Storming:
Screen Sketches
Model Storming
Flowchart
Model Storming:
Service Level Sequence Diagram
REFACTORING
Code Refactoring
Database Refactoring
A database refactoring is a simple change to a database schema that improves its design while retaining both its behavioral and informational semantics
Characteristics of Agile DBA
Work very closely with application developers
Work in an evolutionary, if not agile, manner
Need to communicate the constraints imposed by legacy data sources
0 comments
Post a comment