SlideShare ist ein Scribd-Unternehmen logo
1 von 39
Downloaden Sie, um offline zu lesen
Software Development
with Agile Methodologies
E L M O Z A M I L E L A M I R
C O N T A C T @ M Z T E C H . I N F O
@ E L M O Z A M I L
H T T P S : / / W W W . L I N K E D I N . C O M / I N / E L M O Z A M I L - E L A M I R - A B 5 5 3 1 5 0
1/10/2016 WWW.MZTECH.INFO JAN. 2016 1
About
Software engineer with experience for more than 5 years.
MSc holder in software engineering.
MCP, MCTS, MCITP, MCSA, MCSE, MCSD, ITIL certified and more.
Blogger, contributor in different online forums.
Author of Cloud Software Development Life Cycle (Cloud SDLC) book.
Co-author of Concurrency control in distributed database.
Interested in software engineering and database.
1/10/2016 WWW.MZTECH.INFO JAN. 2016 2
Outline
Introduction
Rapid Business Change
Coping with Change
Software & Software Engineering
Software Engineering Methodologies
Agile Development
Plan-Driven Vs Value-Driven
Agile Software Development in Business
Database Agility
Mobile Game Development
Agile Developer Skills
Tools
What’s Next
Case Study
1/10/2016 WWW.MZTECH.INFO JAN. 2016 3
Introduction
Software Development has become one of the world’s most important technologies.
Developers produce intangible ideas not a physical product so our methods all had a primary
focus on managing software requirement.
1/10/2016 WWW.MZTECH.INFO JAN. 2016 4
Rapid Business Change
In a modern economy, market conditions change rapidly.
Governmental policies and procedures
BBC News interview (Jan 19th, 2012) with Yale Professor Richard Foster predicts that (by 2020,
more than three-quarters of the S&P 500 will be companies that we have not heard of yet”.
Nokia*.
1/10/2016 WWW.MZTECH.INFO JAN. 2016 5
Coping with Change
Rapid development and delivery
In a fast-moving business environment, by the time the software is available for use, the original
reason for its procurement may have changed.
Focus is on quickly bringing product to market.
1/10/2016 WWW.MZTECH.INFO JAN. 2016 6
Software
Software evolve over time.
Almost everyone in the industry uses software that build and support by software engineers,
either use it directly or indirectly, so we all affected by it.
It is important because it affects nearly every aspect of our lives and has become necessary in
our commerce, our culture, and our everyday activities.
Software is instructions (computer programs) that when executed provide desired features,
functions, and performance; data structures that enable the programs to adequately manipulate
information, and descriptive information in both hard copy and virtual forms that describes the
operation and use of the programs[1]
1/10/2016 WWW.MZTECH.INFO JAN. 2016 7
Software Engineering
Software engineering enables us to build complex systems in a timely manner with high quality
and acceptable cost.
Computer software continues to be the single most important technology on the world stage.
Software engineering is (1) the application of a systematic, disciplined, quantifiable approach to
the development, operation, and maintenance of software; that is the application of
engineering to software. (2) The study of approaches as in (1). [IEEE definition]
1/10/2016 WWW.MZTECH.INFO JAN. 2016 8
SE Methodologies
Waterfall
1/10/2016 WWW.MZTECH.INFO JAN. 2016 9
Requirements
Design
Implementation
Verification
Deployment
SE Methodologies Cont…
Adaptive (Agile)
◦ SCRUM.
◦ XP eXtreme Programming.
◦ FDD: Feature-Driven Development.
◦ Lean.
◦ Crystal Methods.
◦ … and manay.
1/10/2016 WWW.MZTECH.INFO JAN. 2016 10
Agile Development
Not being too attached to your initial idea of what the project will look like and to be ready for
change and to refactor.
Agile software engineering combines a philosophy and a set of development guidelines.
To be agile you need to put the agile values and principles into practice.
1/10/2016 WWW.MZTECH.INFO JAN. 2016 11
Manifesto for Agile Software
Development
Written in 2001
Consider it as guide not a rule.
Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan
Kent Beck
Mike Beedle
Arie van Bennekum
Alistair Cockburn
Ward Cunningham
Martin Fowler
James Grenning
Jim Highsmith
Andrew Hunt
Ron Jeffries
Jon Kern
Brian Marick
Robert C. Martin
Steve Mellor
Ken Schwaber
Jeff Sutherland
Dave Thomas
1/10/2016 WWW.MZTECH.INFO JAN. 2016 12
1/10/2016 WWW.MZTECH.INFO JAN. 2016 13
Principles
1. Our highest priority is to satisfy the customer through early and contiguous delivery of
valuable software.
2. Welcome changing requirements, even late in development. Agile processes harness change
for the customer’s competitive advantage.
3. Deliver working software frequently, from a couple of weeks to a couple of months, with a
preference to the shorter timescale.
4. Business people and developers must work together daily throughout the project.
5. Build projects around motivated individuals. Give them the environment and support they
need, and trust them to get the job done.
6. The most efficient and effective method of conveying information to and within a
development team is face-to-face conversation.
1/10/2016 WWW.MZTECH.INFO JAN. 2016 14
Principles
7. Working software is the primary measure of progress.
8. Agile processes promote sustainable development. The sponsors, developers, and users
should be able to maintain a constant pace indefinitely.
9. Continuous attention to technical excellence and good design enhances agility.
10. Simplicity – the art of maximizing the amount of work not done – is essential.
11. The best architectures, requirements, and designs emerge from self-organizing teams.
12. At regular intervals, the team reflects on how to become more effective, then tunes and
adjusts its behavior accordingly.
1/10/2016 WWW.MZTECH.INFO JAN. 2016 15
1/10/2016 WWW.MZTECH.INFO JAN. 2016 16
Plan-Driven Vs Value-Driven
Plan-Driven (Traditional) Value-Driven (Agile)
Requirements won’t change Welcome changes
There will be no obstacles There will be obstacles
The business can wait for several months. Quick releases
1/10/2016 WWW.MZTECH.INFO JAN. 2016 17
1/10/2016 WWW.MZTECH.INFO JAN. 2016 18
Example
1/10/2016 WWW.MZTECH.INFO JAN. 2016 19
Agile Development
Requirements
◦ A top level feature list is maintained.
◦ Usecases forms the basis for the development.
Design
◦ Design is small iterations, but have a complete overview of system.
◦ Refactor the design
Coding
◦ Clean Code.
◦ Source Control.
◦ Code Reviews.
◦ Refactoring.
1/10/2016 WWW.MZTECH.INFO JAN. 2016 21
Agile Development
Unit Tests
◦ Every core function has a Unit test written.
◦ Every module has a test suite that has number of test cases.
◦ The entire system put together also has a system test suite.
◦ Test suite is run daily and feedback is given to respective users.
◦ Testing is not a separate its part of development.
1/10/2016 WWW.MZTECH.INFO JAN. 2016 22
Scrum
Can be described as framework of feedback loops.
Has five values:
◦ Focus: Focus only on a few things at a time.
◦ Courage: Feel supported and have more resources.
◦ Openness: Work together, express how we are doing.
◦ Commitment: Committed to success.
◦ Respect: Respect each other, and support each other.
1/10/2016 WWW.MZTECH.INFO JAN. 2016 23
eXtreme Programming
Focused on customer interaction and involvement.
Has five values:
◦ Simplicity: We will do what is needed and asked for, but no more.
◦ Communication: Everyone is part of the team and we communicate face to face daily.
◦ Feedback: We will take every iteration commitment seriously by delivering working software.
◦ Courage: We will tell the truth about progress and estimates.
◦ Respect: Everyone gives and feels the respect they deserve as a valued team member.
1/10/2016 WWW.MZTECH.INFO JAN. 2016 24
eXterme programming
Follows twelve practices:
◦ Planning Game.
◦ Small Releases.
◦ Customer Acceptance Tests.
◦ Simple Design.
◦ Pair Programming.
◦ Test-Driven Development.
◦ Refactoring.
◦ Continuous Integration.
◦ Collective Code Ownership.
◦ Coding Standards.
◦ Metaphor.
◦ Sustainable Pace.
1/10/2016 WWW.MZTECH.INFO JAN. 2016 25
Agile Software Development in Business
For some types of software, such as safety-critical control system, where a complete analysis of
the system is essential, a plan-driven approach is the right one.
Apply agile when it is the best solution, don’t force it.
People hesitate from any change.
1/10/2016 WWW.MZTECH.INFO JAN. 2016 26
Advantages
Agile Optimizes ROI through Incremental Value Delivery
Customer satisfaction by rapid, continuous delivery.
Face-to-Face communication.
Close, daily cooperation between business people and developers.
Even late changes in requirement are welcomed.
1/10/2016 WWW.MZTECH.INFO JAN. 2016 27
disadvantages
It is difficult to assess the effort required at the beginning of the software development life
cycle.
There is lack of emphasis on necessary designing and documentation.
The project can easily get taken off track if the customer representative is not clear.
1/10/2016 WWW.MZTECH.INFO JAN. 2016 28
When should you use Agile?
Client be able to change the requirement.
Clear picture of final product isn’t clear.
When you have skilled developers who are adaptable and able to think independently.
When product is intended for rapidly changing industry.
1/10/2016 WWW.MZTECH.INFO JAN. 2016 29
Database Agility
Model Agility: ease and speed of changing data models.
Operational agility: ease and speed of changing operational aspects.
Programming agility: ease and speed of application development.
1/10/2016 WWW.MZTECH.INFO JAN. 2016 30
1/10/2016 WWW.MZTECH.INFO JAN. 2016 31
Mobile Game Development
Mobile app growing very fast.
Analyst firm Gartners in 2012 predict that by 2015, mobile app projects for smartphones and
tablets will outnumber those for PCs by 4:1 ratio.
As mobile technology and platform are changing very quickly we need to be more agile.
1/10/2016 WWW.MZTECH.INFO JAN. 2016 32
Agile Developer Skills
For agile team:
◦ Competence.
◦ Common focus.
◦ Collaboration.
◦ Decision-making ability
◦ Fuzzy problem-solving ability.
◦ Mutual trust and respect.
◦ Self-organization.
You are one of the team
1/10/2016 WWW.MZTECH.INFO JAN. 2016 33
Tools
Microsoft TFS (Scrum Template).
Axosoft OnTime Scrum.
LeanKit
Rally Platform for Agile Lifecycle Management
1/10/2016 WWW.MZTECH.INFO JAN. 2016 34
Tips
Learn from other’s experiences, but for each project practices may differ.
Each project is a unique.
Agile is not rule so make it agile.
It is not necessary to do Scrum meetings everyday and in the morning.
1/10/2016 WWW.MZTECH.INFO JAN. 2016 35
What’s next
Traditional Methodologies.
Agile Methodologies.
?????????
1/10/2016 WWW.MZTECH.INFO JAN. 2016 36
Case Study – Ecommerce website
1. Static content.
2. Registration.
3. View Product.
4. Add to Cart.
5. Payment Methods.
6. Return.
7. Packages.
8. Customize Product.
9. Rating.
10. Loyalty program.
11. Customer preferences.
12. Analysis.
13. Order Tracking.
14. Advertising.
1/10/2016 WWW.MZTECH.INFO JAN. 2016 37
Disscussion
1/10/2016 WWW.MZTECH.INFO JAN. 2016 38
References
http://web1.muirfield-h.schools.nsw.edu.au/mahara/view/view.php?id=7619
http://www.bbc.co.uk/news/business-16611040
http://www.forbes.com/sites/microsoftdynamics/2013/03/06/innovate-to-stay-relevant/
http://agilemanifesto.org/
http://www.verivo.com/mobility-watch/are-agile-development-mobile-apps-the-perfect-match/
http://www.gartner.com/
http://sea.ucar.edu/best-practices/rup
1/10/2016 WWW.MZTECH.INFO JAN. 2016 39
References
http://www.infoworld.com/
http://nosql.mypopescu.com/post/6125006650/nosql-databases-goals-achieving-agility
https://www.simple-talk.com/sql/t-sql-programming/agile-database-development/
https://dzone.com/agile-methodology-training-tools-news
http://www.halfarsedagilemanifesto.org/
http://www.extremeprogramming.org/
https://www.scrumalliance.org/
1/10/2016 WWW.MZTECH.INFO JAN. 2016 40

Weitere ähnliche Inhalte

Was ist angesagt?

Agile lean software development principles
Agile  lean software development principlesAgile  lean software development principles
Agile lean software development principlesEyna Hamdzah
 
Why Agile? Why Now? IPMA Forum 2009
Why Agile? Why Now?   IPMA Forum 2009Why Agile? Why Now?   IPMA Forum 2009
Why Agile? Why Now? IPMA Forum 2009skipangel
 
An Agile Development Primer
An Agile Development PrimerAn Agile Development Primer
An Agile Development PrimerDerek Winter
 
Agile Project Management
Agile Project Management Agile Project Management
Agile Project Management iACT Global
 
What are the Tools & Techniques in Agile Project Management?
What are the Tools & Techniques in Agile Project Management?What are the Tools & Techniques in Agile Project Management?
What are the Tools & Techniques in Agile Project Management?Tuan Yang
 
Agile Methology Seminar Report
Agile Methology Seminar ReportAgile Methology Seminar Report
Agile Methology Seminar ReportMohit Kumar
 
Agile 101
Agile 101Agile 101
Agile 101beLithe
 
Introduction to Agile Project Management
Introduction to Agile Project ManagementIntroduction to Agile Project Management
Introduction to Agile Project ManagementSemen Arslan
 
The Agile methodology - Delivering new ways of working, by Sandra Frechette, ...
The Agile methodology - Delivering new ways of working, by Sandra Frechette, ...The Agile methodology - Delivering new ways of working, by Sandra Frechette, ...
The Agile methodology - Delivering new ways of working, by Sandra Frechette, ...WiMLDSMontreal
 
Agile Methodology in Software Development
Agile Methodology in Software DevelopmentAgile Methodology in Software Development
Agile Methodology in Software DevelopmentRaghav Seth
 
Agile project management using scrum
Agile project management using scrumAgile project management using scrum
Agile project management using scrumPrudentialSolutions
 
The Values and Principles of Agile Software Development
The Values and Principles of Agile Software DevelopmentThe Values and Principles of Agile Software Development
The Values and Principles of Agile Software DevelopmentBrad Appleton
 
A Gentle Introduction To Agile
A Gentle Introduction To AgileA Gentle Introduction To Agile
A Gentle Introduction To AgileMichael Sahota
 

Was ist angesagt? (20)

Agile lean software development principles
Agile  lean software development principlesAgile  lean software development principles
Agile lean software development principles
 
Why Agile? Why Now? IPMA Forum 2009
Why Agile? Why Now?   IPMA Forum 2009Why Agile? Why Now?   IPMA Forum 2009
Why Agile? Why Now? IPMA Forum 2009
 
An Agile Development Primer
An Agile Development PrimerAn Agile Development Primer
An Agile Development Primer
 
Agile Project Management
Agile Project Management Agile Project Management
Agile Project Management
 
Agile Fundamentals
Agile FundamentalsAgile Fundamentals
Agile Fundamentals
 
Agile software development
Agile software developmentAgile software development
Agile software development
 
What are the Tools & Techniques in Agile Project Management?
What are the Tools & Techniques in Agile Project Management?What are the Tools & Techniques in Agile Project Management?
What are the Tools & Techniques in Agile Project Management?
 
Agile manifesto
Agile manifestoAgile manifesto
Agile manifesto
 
Agile Methology Seminar Report
Agile Methology Seminar ReportAgile Methology Seminar Report
Agile Methology Seminar Report
 
Agile 101
Agile 101Agile 101
Agile 101
 
Agile Methodology - Agile Project Management Training
Agile Methodology - Agile Project Management TrainingAgile Methodology - Agile Project Management Training
Agile Methodology - Agile Project Management Training
 
Agile 101
Agile 101Agile 101
Agile 101
 
Agile Project LifeCycle
Agile Project LifeCycleAgile Project LifeCycle
Agile Project LifeCycle
 
Introduction to Agile Project Management
Introduction to Agile Project ManagementIntroduction to Agile Project Management
Introduction to Agile Project Management
 
The Zen of Scrum
The Zen of ScrumThe Zen of Scrum
The Zen of Scrum
 
The Agile methodology - Delivering new ways of working, by Sandra Frechette, ...
The Agile methodology - Delivering new ways of working, by Sandra Frechette, ...The Agile methodology - Delivering new ways of working, by Sandra Frechette, ...
The Agile methodology - Delivering new ways of working, by Sandra Frechette, ...
 
Agile Methodology in Software Development
Agile Methodology in Software DevelopmentAgile Methodology in Software Development
Agile Methodology in Software Development
 
Agile project management using scrum
Agile project management using scrumAgile project management using scrum
Agile project management using scrum
 
The Values and Principles of Agile Software Development
The Values and Principles of Agile Software DevelopmentThe Values and Principles of Agile Software Development
The Values and Principles of Agile Software Development
 
A Gentle Introduction To Agile
A Gentle Introduction To AgileA Gentle Introduction To Agile
A Gentle Introduction To Agile
 

Andere mochten auch

Agile Methodology
Agile MethodologyAgile Methodology
Agile MethodologySapna Sood
 
The agile way (Agile foundations)
The agile way (Agile foundations)The agile way (Agile foundations)
The agile way (Agile foundations)Laia Poyatos
 
Agile methodologies in short
Agile methodologies in shortAgile methodologies in short
Agile methodologies in shortLaia Poyatos
 
Introduction to Agile Methodologies
Introduction to Agile MethodologiesIntroduction to Agile Methodologies
Introduction to Agile MethodologiesSiddhi
 
Testing in Scrum Agile Methodology
Testing in Scrum Agile MethodologyTesting in Scrum Agile Methodology
Testing in Scrum Agile MethodologyDiwakar Venkata
 
Agile methodology
Agile methodologyAgile methodology
Agile methodologyPayod Soni
 
software development life cycle(SDLC)
software development life cycle(SDLC)software development life cycle(SDLC)
software development life cycle(SDLC)sanoop s
 
Agile Methodologies And Extreme Programming
Agile Methodologies And Extreme ProgrammingAgile Methodologies And Extreme Programming
Agile Methodologies And Extreme ProgrammingUtkarsh Khare
 
Overview of Agile Methodology
Overview of Agile MethodologyOverview of Agile Methodology
Overview of Agile MethodologyHaresh Karkar
 

Andere mochten auch (13)

Agile Methodologies & Key Principles
Agile Methodologies & Key Principles Agile Methodologies & Key Principles
Agile Methodologies & Key Principles
 
Agile Methodology
Agile MethodologyAgile Methodology
Agile Methodology
 
The agile way (Agile foundations)
The agile way (Agile foundations)The agile way (Agile foundations)
The agile way (Agile foundations)
 
Agile methodologies in short
Agile methodologies in shortAgile methodologies in short
Agile methodologies in short
 
Agile Methodology
Agile MethodologyAgile Methodology
Agile Methodology
 
Introduction to Agile Methodologies
Introduction to Agile MethodologiesIntroduction to Agile Methodologies
Introduction to Agile Methodologies
 
Testing in Scrum Agile Methodology
Testing in Scrum Agile MethodologyTesting in Scrum Agile Methodology
Testing in Scrum Agile Methodology
 
Agile Methodology
Agile MethodologyAgile Methodology
Agile Methodology
 
Agile methodology
Agile methodologyAgile methodology
Agile methodology
 
software development life cycle(SDLC)
software development life cycle(SDLC)software development life cycle(SDLC)
software development life cycle(SDLC)
 
Agile Methodologies And Extreme Programming
Agile Methodologies And Extreme ProgrammingAgile Methodologies And Extreme Programming
Agile Methodologies And Extreme Programming
 
Agile Methodology
Agile MethodologyAgile Methodology
Agile Methodology
 
Overview of Agile Methodology
Overview of Agile MethodologyOverview of Agile Methodology
Overview of Agile Methodology
 

Ähnlich wie Software development with agile methodologies

Agile Methodology For Software Development
Agile Methodology For Software DevelopmentAgile Methodology For Software Development
Agile Methodology For Software DevelopmentDiane Allen
 
Agile Commissioning A Beginners View
Agile Commissioning   A Beginners ViewAgile Commissioning   A Beginners View
Agile Commissioning A Beginners ViewPeter Ashe
 
How UX Can Drive the Vision of Future Products - Arttu Niskasaari
How UX Can Drive the Vision of Future Products - Arttu NiskasaariHow UX Can Drive the Vision of Future Products - Arttu Niskasaari
How UX Can Drive the Vision of Future Products - Arttu NiskasaariUXPA International
 
How UX Research Fits Into an Agile Development Process
How UX Research Fits Into an Agile Development ProcessHow UX Research Fits Into an Agile Development Process
How UX Research Fits Into an Agile Development ProcessKyle Soucy
 
Modern Agile – What's It Good For? - Jacob Creech - AgileNZ 2017
Modern Agile – What's It Good For? - Jacob Creech - AgileNZ 2017Modern Agile – What's It Good For? - Jacob Creech - AgileNZ 2017
Modern Agile – What's It Good For? - Jacob Creech - AgileNZ 2017AgileNZ Conference
 
best-practices-to-develop-software-applications-for-startups- cuneiform.pdf
best-practices-to-develop-software-applications-for-startups- cuneiform.pdfbest-practices-to-develop-software-applications-for-startups- cuneiform.pdf
best-practices-to-develop-software-applications-for-startups- cuneiform.pdfCuneiform Consulting Pvt Ltd.
 
SE - Ch.03 - Agile Software Development.pptx
SE - Ch.03 - Agile Software Development.pptxSE - Ch.03 - Agile Software Development.pptx
SE - Ch.03 - Agile Software Development.pptxproxymail1
 
1010 guide–a simple framework for
1010 guide–a simple framework for1010 guide–a simple framework for
1010 guide–a simple framework forijseajournal
 
Estimation of agile functionality in software development
Estimation of agile functionality in software developmentEstimation of agile functionality in software development
Estimation of agile functionality in software developmentBashir Nasr Azadani
 
MVP (Minimum Viable Product) Readiness | Boost Labs
MVP (Minimum Viable Product) Readiness | Boost LabsMVP (Minimum Viable Product) Readiness | Boost Labs
MVP (Minimum Viable Product) Readiness | Boost LabsBoost Labs
 
HOT TOPIC REPORT DIVYA
HOT TOPIC REPORT DIVYAHOT TOPIC REPORT DIVYA
HOT TOPIC REPORT DIVYADivya Tadi
 
Accelerate Innovation & Productivity With Rapid Prototyping & Development - ...
Accelerate Innovation & Productivity With Rapid Prototyping & Development -  ...Accelerate Innovation & Productivity With Rapid Prototyping & Development -  ...
Accelerate Innovation & Productivity With Rapid Prototyping & Development - ...Attivio
 
Introduction to Agile and Lean Software Development
Introduction to Agile and Lean Software DevelopmentIntroduction to Agile and Lean Software Development
Introduction to Agile and Lean Software DevelopmentThanh Nguyen
 

Ähnlich wie Software development with agile methodologies (20)

Agile Methodology For Software Development
Agile Methodology For Software DevelopmentAgile Methodology For Software Development
Agile Methodology For Software Development
 
Agile Commissioning A Beginners View
Agile Commissioning   A Beginners ViewAgile Commissioning   A Beginners View
Agile Commissioning A Beginners View
 
How UX Can Drive the Vision of Future Products - Arttu Niskasaari
How UX Can Drive the Vision of Future Products - Arttu NiskasaariHow UX Can Drive the Vision of Future Products - Arttu Niskasaari
How UX Can Drive the Vision of Future Products - Arttu Niskasaari
 
How UX Research Fits Into an Agile Development Process
How UX Research Fits Into an Agile Development ProcessHow UX Research Fits Into an Agile Development Process
How UX Research Fits Into an Agile Development Process
 
Advantages and disadvantages of Agile approach for products and services deve...
Advantages and disadvantages of Agile approach for products and services deve...Advantages and disadvantages of Agile approach for products and services deve...
Advantages and disadvantages of Agile approach for products and services deve...
 
Modern Agile – What's It Good For? - Jacob Creech - AgileNZ 2017
Modern Agile – What's It Good For? - Jacob Creech - AgileNZ 2017Modern Agile – What's It Good For? - Jacob Creech - AgileNZ 2017
Modern Agile – What's It Good For? - Jacob Creech - AgileNZ 2017
 
best-practices-to-develop-software-applications-for-startups- cuneiform.pdf
best-practices-to-develop-software-applications-for-startups- cuneiform.pdfbest-practices-to-develop-software-applications-for-startups- cuneiform.pdf
best-practices-to-develop-software-applications-for-startups- cuneiform.pdf
 
SE - Ch.03 - Agile Software Development.pptx
SE - Ch.03 - Agile Software Development.pptxSE - Ch.03 - Agile Software Development.pptx
SE - Ch.03 - Agile Software Development.pptx
 
1010 guide–a simple framework for
1010 guide–a simple framework for1010 guide–a simple framework for
1010 guide–a simple framework for
 
Vb ch 1-introduction
Vb ch 1-introductionVb ch 1-introduction
Vb ch 1-introduction
 
Agile Development
Agile DevelopmentAgile Development
Agile Development
 
Agile Model for Beginner’s
Agile Model for Beginner’sAgile Model for Beginner’s
Agile Model for Beginner’s
 
Estimation of agile functionality in software development
Estimation of agile functionality in software developmentEstimation of agile functionality in software development
Estimation of agile functionality in software development
 
MVP (Minimum Viable Product) Readiness | Boost Labs
MVP (Minimum Viable Product) Readiness | Boost LabsMVP (Minimum Viable Product) Readiness | Boost Labs
MVP (Minimum Viable Product) Readiness | Boost Labs
 
What's Next For UX?
What's Next For UX?What's Next For UX?
What's Next For UX?
 
Dev ops lpi-701
Dev ops lpi-701Dev ops lpi-701
Dev ops lpi-701
 
HOT TOPIC REPORT DIVYA
HOT TOPIC REPORT DIVYAHOT TOPIC REPORT DIVYA
HOT TOPIC REPORT DIVYA
 
Agile Software Development
Agile Software DevelopmentAgile Software Development
Agile Software Development
 
Accelerate Innovation & Productivity With Rapid Prototyping & Development - ...
Accelerate Innovation & Productivity With Rapid Prototyping & Development -  ...Accelerate Innovation & Productivity With Rapid Prototyping & Development -  ...
Accelerate Innovation & Productivity With Rapid Prototyping & Development - ...
 
Introduction to Agile and Lean Software Development
Introduction to Agile and Lean Software DevelopmentIntroduction to Agile and Lean Software Development
Introduction to Agile and Lean Software Development
 

Kürzlich hochgeladen

Tech Tuesday Slides - Getting Started with the Portfolio Module.
Tech Tuesday Slides - Getting Started with the Portfolio Module.Tech Tuesday Slides - Getting Started with the Portfolio Module.
Tech Tuesday Slides - Getting Started with the Portfolio Module.OnePlan Solutions
 
Key Steps in Agile Software Delivery Roadmap
Key Steps in Agile Software Delivery RoadmapKey Steps in Agile Software Delivery Roadmap
Key Steps in Agile Software Delivery RoadmapIshara Amarasekera
 
ManageIQ - Sprint 234 Review - Slide Deck
ManageIQ - Sprint 234 Review - Slide DeckManageIQ - Sprint 234 Review - Slide Deck
ManageIQ - Sprint 234 Review - Slide DeckManageIQ
 
OpenMetadata Community Meeting - 4th April, 2024
OpenMetadata Community Meeting - 4th April, 2024OpenMetadata Community Meeting - 4th April, 2024
OpenMetadata Community Meeting - 4th April, 2024OpenMetadata
 
What’s New in VictoriaMetrics: Q1 2024 Updates
What’s New in VictoriaMetrics: Q1 2024 UpdatesWhat’s New in VictoriaMetrics: Q1 2024 Updates
What’s New in VictoriaMetrics: Q1 2024 UpdatesVictoriaMetrics
 
SAM Training Session - How to use EXCEL ?
SAM Training Session - How to use EXCEL ?SAM Training Session - How to use EXCEL ?
SAM Training Session - How to use EXCEL ?Alexandre Beguel
 
Advantages of Cargo Cloud Solutions.pptx
Advantages of Cargo Cloud Solutions.pptxAdvantages of Cargo Cloud Solutions.pptx
Advantages of Cargo Cloud Solutions.pptxRTS corp
 
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4j
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4jGraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4j
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4jNeo4j
 
oracle 23c new features for developer and dba
oracle 23c new features for developer and dbaoracle 23c new features for developer and dba
oracle 23c new features for developer and dbaRemote DBA Services
 
Business Analyzopedia - Your Pocket Gita for Business Analysis
Business Analyzopedia - Your Pocket Gita for Business AnalysisBusiness Analyzopedia - Your Pocket Gita for Business Analysis
Business Analyzopedia - Your Pocket Gita for Business AnalysisDEEPRAJ PATHAK
 
The State of the Green IT at the beginning of 2024
The State of the Green IT at the beginning of 2024The State of the Green IT at the beginning of 2024
The State of the Green IT at the beginning of 2024Artur Skowroński
 
Effort Estimation Techniques used in Software Projects
Effort Estimation Techniques used in Software ProjectsEffort Estimation Techniques used in Software Projects
Effort Estimation Techniques used in Software ProjectsDEEPRAJ PATHAK
 
Mastering Project Planning with Microsoft Project 2016.pptx
Mastering Project Planning with Microsoft Project 2016.pptxMastering Project Planning with Microsoft Project 2016.pptx
Mastering Project Planning with Microsoft Project 2016.pptxAS Design & AST.
 
Transform your Corporate Strategy Office - Harness OnePlan’s Strategic Portfo...
Transform your Corporate Strategy Office - Harness OnePlan’s Strategic Portfo...Transform your Corporate Strategy Office - Harness OnePlan’s Strategic Portfo...
Transform your Corporate Strategy Office - Harness OnePlan’s Strategic Portfo...OnePlan Solutions
 
ETE PPT.pdf LMMKLMKLMLKMLLMJKBHJBHBNUIHBU
ETE PPT.pdf LMMKLMKLMLKMLLMJKBHJBHBNUIHBUETE PPT.pdf LMMKLMKLMLKMLLMJKBHJBHBNUIHBU
ETE PPT.pdf LMMKLMKLMLKMLLMJKBHJBHBNUIHBUsamruddhijedgule2004
 
SPSS Statistics - Encrypting a Syntax File in IBM SPSS Statistics.pptx
SPSS Statistics - Encrypting a Syntax File in IBM SPSS Statistics.pptxSPSS Statistics - Encrypting a Syntax File in IBM SPSS Statistics.pptx
SPSS Statistics - Encrypting a Syntax File in IBM SPSS Statistics.pptxVersion 1 Analytics
 
[ CNCF Q1 2024 ] Intro to Continuous Profiling and Grafana Pyroscope.pdf
[ CNCF Q1 2024 ] Intro to Continuous Profiling and Grafana Pyroscope.pdf[ CNCF Q1 2024 ] Intro to Continuous Profiling and Grafana Pyroscope.pdf
[ CNCF Q1 2024 ] Intro to Continuous Profiling and Grafana Pyroscope.pdfSteve Caron
 
Santander Stream Processing with Apache Flink
Santander Stream Processing with Apache FlinkSantander Stream Processing with Apache Flink
Santander Stream Processing with Apache Flinkconfluent
 
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...OnePlan Solutions
 
Effectively Troubleshoot 9 Types of OutOfMemoryError
Effectively Troubleshoot 9 Types of OutOfMemoryErrorEffectively Troubleshoot 9 Types of OutOfMemoryError
Effectively Troubleshoot 9 Types of OutOfMemoryErrorTier1 app
 

Kürzlich hochgeladen (20)

Tech Tuesday Slides - Getting Started with the Portfolio Module.
Tech Tuesday Slides - Getting Started with the Portfolio Module.Tech Tuesday Slides - Getting Started with the Portfolio Module.
Tech Tuesday Slides - Getting Started with the Portfolio Module.
 
Key Steps in Agile Software Delivery Roadmap
Key Steps in Agile Software Delivery RoadmapKey Steps in Agile Software Delivery Roadmap
Key Steps in Agile Software Delivery Roadmap
 
ManageIQ - Sprint 234 Review - Slide Deck
ManageIQ - Sprint 234 Review - Slide DeckManageIQ - Sprint 234 Review - Slide Deck
ManageIQ - Sprint 234 Review - Slide Deck
 
OpenMetadata Community Meeting - 4th April, 2024
OpenMetadata Community Meeting - 4th April, 2024OpenMetadata Community Meeting - 4th April, 2024
OpenMetadata Community Meeting - 4th April, 2024
 
What’s New in VictoriaMetrics: Q1 2024 Updates
What’s New in VictoriaMetrics: Q1 2024 UpdatesWhat’s New in VictoriaMetrics: Q1 2024 Updates
What’s New in VictoriaMetrics: Q1 2024 Updates
 
SAM Training Session - How to use EXCEL ?
SAM Training Session - How to use EXCEL ?SAM Training Session - How to use EXCEL ?
SAM Training Session - How to use EXCEL ?
 
Advantages of Cargo Cloud Solutions.pptx
Advantages of Cargo Cloud Solutions.pptxAdvantages of Cargo Cloud Solutions.pptx
Advantages of Cargo Cloud Solutions.pptx
 
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4j
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4jGraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4j
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4j
 
oracle 23c new features for developer and dba
oracle 23c new features for developer and dbaoracle 23c new features for developer and dba
oracle 23c new features for developer and dba
 
Business Analyzopedia - Your Pocket Gita for Business Analysis
Business Analyzopedia - Your Pocket Gita for Business AnalysisBusiness Analyzopedia - Your Pocket Gita for Business Analysis
Business Analyzopedia - Your Pocket Gita for Business Analysis
 
The State of the Green IT at the beginning of 2024
The State of the Green IT at the beginning of 2024The State of the Green IT at the beginning of 2024
The State of the Green IT at the beginning of 2024
 
Effort Estimation Techniques used in Software Projects
Effort Estimation Techniques used in Software ProjectsEffort Estimation Techniques used in Software Projects
Effort Estimation Techniques used in Software Projects
 
Mastering Project Planning with Microsoft Project 2016.pptx
Mastering Project Planning with Microsoft Project 2016.pptxMastering Project Planning with Microsoft Project 2016.pptx
Mastering Project Planning with Microsoft Project 2016.pptx
 
Transform your Corporate Strategy Office - Harness OnePlan’s Strategic Portfo...
Transform your Corporate Strategy Office - Harness OnePlan’s Strategic Portfo...Transform your Corporate Strategy Office - Harness OnePlan’s Strategic Portfo...
Transform your Corporate Strategy Office - Harness OnePlan’s Strategic Portfo...
 
ETE PPT.pdf LMMKLMKLMLKMLLMJKBHJBHBNUIHBU
ETE PPT.pdf LMMKLMKLMLKMLLMJKBHJBHBNUIHBUETE PPT.pdf LMMKLMKLMLKMLLMJKBHJBHBNUIHBU
ETE PPT.pdf LMMKLMKLMLKMLLMJKBHJBHBNUIHBU
 
SPSS Statistics - Encrypting a Syntax File in IBM SPSS Statistics.pptx
SPSS Statistics - Encrypting a Syntax File in IBM SPSS Statistics.pptxSPSS Statistics - Encrypting a Syntax File in IBM SPSS Statistics.pptx
SPSS Statistics - Encrypting a Syntax File in IBM SPSS Statistics.pptx
 
[ CNCF Q1 2024 ] Intro to Continuous Profiling and Grafana Pyroscope.pdf
[ CNCF Q1 2024 ] Intro to Continuous Profiling and Grafana Pyroscope.pdf[ CNCF Q1 2024 ] Intro to Continuous Profiling and Grafana Pyroscope.pdf
[ CNCF Q1 2024 ] Intro to Continuous Profiling and Grafana Pyroscope.pdf
 
Santander Stream Processing with Apache Flink
Santander Stream Processing with Apache FlinkSantander Stream Processing with Apache Flink
Santander Stream Processing with Apache Flink
 
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
 
Effectively Troubleshoot 9 Types of OutOfMemoryError
Effectively Troubleshoot 9 Types of OutOfMemoryErrorEffectively Troubleshoot 9 Types of OutOfMemoryError
Effectively Troubleshoot 9 Types of OutOfMemoryError
 

Software development with agile methodologies

  • 1. Software Development with Agile Methodologies E L M O Z A M I L E L A M I R C O N T A C T @ M Z T E C H . I N F O @ E L M O Z A M I L H T T P S : / / W W W . L I N K E D I N . C O M / I N / E L M O Z A M I L - E L A M I R - A B 5 5 3 1 5 0 1/10/2016 WWW.MZTECH.INFO JAN. 2016 1
  • 2. About Software engineer with experience for more than 5 years. MSc holder in software engineering. MCP, MCTS, MCITP, MCSA, MCSE, MCSD, ITIL certified and more. Blogger, contributor in different online forums. Author of Cloud Software Development Life Cycle (Cloud SDLC) book. Co-author of Concurrency control in distributed database. Interested in software engineering and database. 1/10/2016 WWW.MZTECH.INFO JAN. 2016 2
  • 3. Outline Introduction Rapid Business Change Coping with Change Software & Software Engineering Software Engineering Methodologies Agile Development Plan-Driven Vs Value-Driven Agile Software Development in Business Database Agility Mobile Game Development Agile Developer Skills Tools What’s Next Case Study 1/10/2016 WWW.MZTECH.INFO JAN. 2016 3
  • 4. Introduction Software Development has become one of the world’s most important technologies. Developers produce intangible ideas not a physical product so our methods all had a primary focus on managing software requirement. 1/10/2016 WWW.MZTECH.INFO JAN. 2016 4
  • 5. Rapid Business Change In a modern economy, market conditions change rapidly. Governmental policies and procedures BBC News interview (Jan 19th, 2012) with Yale Professor Richard Foster predicts that (by 2020, more than three-quarters of the S&P 500 will be companies that we have not heard of yet”. Nokia*. 1/10/2016 WWW.MZTECH.INFO JAN. 2016 5
  • 6. Coping with Change Rapid development and delivery In a fast-moving business environment, by the time the software is available for use, the original reason for its procurement may have changed. Focus is on quickly bringing product to market. 1/10/2016 WWW.MZTECH.INFO JAN. 2016 6
  • 7. Software Software evolve over time. Almost everyone in the industry uses software that build and support by software engineers, either use it directly or indirectly, so we all affected by it. It is important because it affects nearly every aspect of our lives and has become necessary in our commerce, our culture, and our everyday activities. Software is instructions (computer programs) that when executed provide desired features, functions, and performance; data structures that enable the programs to adequately manipulate information, and descriptive information in both hard copy and virtual forms that describes the operation and use of the programs[1] 1/10/2016 WWW.MZTECH.INFO JAN. 2016 7
  • 8. Software Engineering Software engineering enables us to build complex systems in a timely manner with high quality and acceptable cost. Computer software continues to be the single most important technology on the world stage. Software engineering is (1) the application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software; that is the application of engineering to software. (2) The study of approaches as in (1). [IEEE definition] 1/10/2016 WWW.MZTECH.INFO JAN. 2016 8
  • 9. SE Methodologies Waterfall 1/10/2016 WWW.MZTECH.INFO JAN. 2016 9 Requirements Design Implementation Verification Deployment
  • 10. SE Methodologies Cont… Adaptive (Agile) ◦ SCRUM. ◦ XP eXtreme Programming. ◦ FDD: Feature-Driven Development. ◦ Lean. ◦ Crystal Methods. ◦ … and manay. 1/10/2016 WWW.MZTECH.INFO JAN. 2016 10
  • 11. Agile Development Not being too attached to your initial idea of what the project will look like and to be ready for change and to refactor. Agile software engineering combines a philosophy and a set of development guidelines. To be agile you need to put the agile values and principles into practice. 1/10/2016 WWW.MZTECH.INFO JAN. 2016 11
  • 12. Manifesto for Agile Software Development Written in 2001 Consider it as guide not a rule. Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan Kent Beck Mike Beedle Arie van Bennekum Alistair Cockburn Ward Cunningham Martin Fowler James Grenning Jim Highsmith Andrew Hunt Ron Jeffries Jon Kern Brian Marick Robert C. Martin Steve Mellor Ken Schwaber Jeff Sutherland Dave Thomas 1/10/2016 WWW.MZTECH.INFO JAN. 2016 12
  • 14. Principles 1. Our highest priority is to satisfy the customer through early and contiguous delivery of valuable software. 2. Welcome changing requirements, even late in development. Agile processes harness change for the customer’s competitive advantage. 3. Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale. 4. Business people and developers must work together daily throughout the project. 5. Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done. 6. The most efficient and effective method of conveying information to and within a development team is face-to-face conversation. 1/10/2016 WWW.MZTECH.INFO JAN. 2016 14
  • 15. Principles 7. Working software is the primary measure of progress. 8. Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely. 9. Continuous attention to technical excellence and good design enhances agility. 10. Simplicity – the art of maximizing the amount of work not done – is essential. 11. The best architectures, requirements, and designs emerge from self-organizing teams. 12. At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly. 1/10/2016 WWW.MZTECH.INFO JAN. 2016 15
  • 17. Plan-Driven Vs Value-Driven Plan-Driven (Traditional) Value-Driven (Agile) Requirements won’t change Welcome changes There will be no obstacles There will be obstacles The business can wait for several months. Quick releases 1/10/2016 WWW.MZTECH.INFO JAN. 2016 17
  • 20. Agile Development Requirements ◦ A top level feature list is maintained. ◦ Usecases forms the basis for the development. Design ◦ Design is small iterations, but have a complete overview of system. ◦ Refactor the design Coding ◦ Clean Code. ◦ Source Control. ◦ Code Reviews. ◦ Refactoring. 1/10/2016 WWW.MZTECH.INFO JAN. 2016 21
  • 21. Agile Development Unit Tests ◦ Every core function has a Unit test written. ◦ Every module has a test suite that has number of test cases. ◦ The entire system put together also has a system test suite. ◦ Test suite is run daily and feedback is given to respective users. ◦ Testing is not a separate its part of development. 1/10/2016 WWW.MZTECH.INFO JAN. 2016 22
  • 22. Scrum Can be described as framework of feedback loops. Has five values: ◦ Focus: Focus only on a few things at a time. ◦ Courage: Feel supported and have more resources. ◦ Openness: Work together, express how we are doing. ◦ Commitment: Committed to success. ◦ Respect: Respect each other, and support each other. 1/10/2016 WWW.MZTECH.INFO JAN. 2016 23
  • 23. eXtreme Programming Focused on customer interaction and involvement. Has five values: ◦ Simplicity: We will do what is needed and asked for, but no more. ◦ Communication: Everyone is part of the team and we communicate face to face daily. ◦ Feedback: We will take every iteration commitment seriously by delivering working software. ◦ Courage: We will tell the truth about progress and estimates. ◦ Respect: Everyone gives and feels the respect they deserve as a valued team member. 1/10/2016 WWW.MZTECH.INFO JAN. 2016 24
  • 24. eXterme programming Follows twelve practices: ◦ Planning Game. ◦ Small Releases. ◦ Customer Acceptance Tests. ◦ Simple Design. ◦ Pair Programming. ◦ Test-Driven Development. ◦ Refactoring. ◦ Continuous Integration. ◦ Collective Code Ownership. ◦ Coding Standards. ◦ Metaphor. ◦ Sustainable Pace. 1/10/2016 WWW.MZTECH.INFO JAN. 2016 25
  • 25. Agile Software Development in Business For some types of software, such as safety-critical control system, where a complete analysis of the system is essential, a plan-driven approach is the right one. Apply agile when it is the best solution, don’t force it. People hesitate from any change. 1/10/2016 WWW.MZTECH.INFO JAN. 2016 26
  • 26. Advantages Agile Optimizes ROI through Incremental Value Delivery Customer satisfaction by rapid, continuous delivery. Face-to-Face communication. Close, daily cooperation between business people and developers. Even late changes in requirement are welcomed. 1/10/2016 WWW.MZTECH.INFO JAN. 2016 27
  • 27. disadvantages It is difficult to assess the effort required at the beginning of the software development life cycle. There is lack of emphasis on necessary designing and documentation. The project can easily get taken off track if the customer representative is not clear. 1/10/2016 WWW.MZTECH.INFO JAN. 2016 28
  • 28. When should you use Agile? Client be able to change the requirement. Clear picture of final product isn’t clear. When you have skilled developers who are adaptable and able to think independently. When product is intended for rapidly changing industry. 1/10/2016 WWW.MZTECH.INFO JAN. 2016 29
  • 29. Database Agility Model Agility: ease and speed of changing data models. Operational agility: ease and speed of changing operational aspects. Programming agility: ease and speed of application development. 1/10/2016 WWW.MZTECH.INFO JAN. 2016 30
  • 31. Mobile Game Development Mobile app growing very fast. Analyst firm Gartners in 2012 predict that by 2015, mobile app projects for smartphones and tablets will outnumber those for PCs by 4:1 ratio. As mobile technology and platform are changing very quickly we need to be more agile. 1/10/2016 WWW.MZTECH.INFO JAN. 2016 32
  • 32. Agile Developer Skills For agile team: ◦ Competence. ◦ Common focus. ◦ Collaboration. ◦ Decision-making ability ◦ Fuzzy problem-solving ability. ◦ Mutual trust and respect. ◦ Self-organization. You are one of the team 1/10/2016 WWW.MZTECH.INFO JAN. 2016 33
  • 33. Tools Microsoft TFS (Scrum Template). Axosoft OnTime Scrum. LeanKit Rally Platform for Agile Lifecycle Management 1/10/2016 WWW.MZTECH.INFO JAN. 2016 34
  • 34. Tips Learn from other’s experiences, but for each project practices may differ. Each project is a unique. Agile is not rule so make it agile. It is not necessary to do Scrum meetings everyday and in the morning. 1/10/2016 WWW.MZTECH.INFO JAN. 2016 35
  • 35. What’s next Traditional Methodologies. Agile Methodologies. ????????? 1/10/2016 WWW.MZTECH.INFO JAN. 2016 36
  • 36. Case Study – Ecommerce website 1. Static content. 2. Registration. 3. View Product. 4. Add to Cart. 5. Payment Methods. 6. Return. 7. Packages. 8. Customize Product. 9. Rating. 10. Loyalty program. 11. Customer preferences. 12. Analysis. 13. Order Tracking. 14. Advertising. 1/10/2016 WWW.MZTECH.INFO JAN. 2016 37

Hinweis der Redaktion

  1. Traditional development, agile development, cloud development
  2. https://dzone.com/articles/whats-agile-individuals-and
  3. Coding Example: Sorting bubble sort vs quick sort Quick sort run time is lower than bubble sort Bubble Sort O(n^2) Quick Sort O(n log n)
  4. Axosoft OnTime Scrum helps development teams manage backlog, releases, and sprints. This HTML5-based offering features burndown charts and a management dashboard, and it tracks time spent coding features and fixing bugs. It is part of Axosoft's OnTime platform, which includes other useful collaborative tools, such as a wiki and bug tracker. LeanKit LeanKit uses a cloud-based whiteboard metaphor for mapping out organization processes. Cards represent work items, and status updates are provided. Teams that use LeanKit can see workload distribution and export historical data. Rally Platform for Agile Lifecycle Mangement This cloud-based agile lifecycle management platform scales to an unlimited number of teams and features custom pages and dashboards to automate various development processes.
  5. Starting developers’ mornings with low energy is not best for productivity. You can make agile agile by making it fit your organization.