It’s simply the best presentation that explains the agile methodology of Extreme Programming!
Overview
1. What is Extreme programming?
2. Extreme programming as an agile methodology.
3. The values of Extreme programming
4. The Activities of Extreme programming
5. The 12 core practices of Extreme programming
6. The roles of Extreme programming
Enjoy :)
Introduction to Scrum presentation which outlines common issues in software development, what is Scrum, and an introduction to the Scrum framework. This presentation has been used for training and presentations to both technology and business audiences.
Introduction to Scrum presentation which outlines common issues in software development, what is Scrum, and an introduction to the Scrum framework. This presentation has been used for training and presentations to both technology and business audiences.
Everything You Need to Know About the 2019 DORA Accelerate State of DevOps Re...Red Gate Software
Each year, the DevOps Research and Assessment group (DORA) publishes critical research revealing the impact of DevOps on organizations of all sizes. The findings show what makes some teams successful at DevOps, while others fall behind.
Jez Humble, a founding member of DORA well known for his groundbreaking research on IT performance, and Redgate’s Microsoft MVP Steve Jones offer the latest insights from the 2019 Accelerate State of DevOps Report – and what they mean for your organization and career.
Agile Unified Process (AUP) is based on Rational Unified Process (RUP). AUP uses an agile approach which focuses on both the larger life-cycle and the iterations within each step to deliver incremental releases over time.
Introduction to the scrum framework: roles, activities and artifacts.
Scrum is an agile methodology for project management, to create a high quality product.
www.nieldeckx.be
Everything You Need to Know About the 2019 DORA Accelerate State of DevOps Re...Red Gate Software
Each year, the DevOps Research and Assessment group (DORA) publishes critical research revealing the impact of DevOps on organizations of all sizes. The findings show what makes some teams successful at DevOps, while others fall behind.
Jez Humble, a founding member of DORA well known for his groundbreaking research on IT performance, and Redgate’s Microsoft MVP Steve Jones offer the latest insights from the 2019 Accelerate State of DevOps Report – and what they mean for your organization and career.
Agile Unified Process (AUP) is based on Rational Unified Process (RUP). AUP uses an agile approach which focuses on both the larger life-cycle and the iterations within each step to deliver incremental releases over time.
Introduction to the scrum framework: roles, activities and artifacts.
Scrum is an agile methodology for project management, to create a high quality product.
www.nieldeckx.be
The evolution of agile development processDavid Tzemach
The Evolution of Agile Development Process
The main sections of this presentation
1. Overview
2. The Waterfall Model as a baseline
3. Waterfall Model – Phases of the process
4. The problem in traditional models
5. Agile Software Development as the Alternative
6. The Agile Manifesto – The Beginning
7. The Manifesto for Agile Software Development
8. The benefits of the agile methodology
Overview
1. The main goals of performance testing
2. The Advantages of Performance Tests
3. The Disadvantages of Performance Tests
4. Types of performance tests
5. Determining a successful performance testing project
Enjoy!
All you need to know about regression testing | David TzemachDavid Tzemach
All you need to know about Regression testing| David Tzemach
1. Overview
2. What is “Regression” testing…?
3. When should you use it..?
4. How to implement..?
5. Test Recommendations
6. Considerations when building Regression tests
Agile vs. waterfall - The fundamentals differencesDavid Tzemach
In this presentation I will review the main differences between waterfall and agile methodology, this presentation is a great place to start if you want to know why more and more companies are using agile as the preferred development methodology.
User Interface Testing | Best Practices David Tzemach
Overview
What is GUI testing…?
The testing challenges
Should you automate your test..?
Test Recommendations
GUI testing Checklist
How to handle different GUI objects
Agile Project Management - An introduction to Agile and the new PMI-ACPDimitri Ponomareff
The PMI-ACP recognizes knowledge of agile principles, practices and tools and techniques across agile methodologies. If you use agile practices in your projects, or your organization is adopting agile approaches to project management, then this PDM will provide a full overview about this new PMI certification while exploring key agile principles, practices and techniques. If you always wanted to learn more about agile, this presenter is a certified Agile practitioner, trainer and coach so you will receive up to date information about the state of Agile and how it can most help you in your organization or your career.
A Proven Software Development Process for the Non Technical FounderFounders Workshop
Are you a non-technical founder with a great software idea? Ready to take the plunge but want the “secret” to successfully managing software development? Well, it's not a "secret" at all - it's a disciplined methodology we are going to share with you. This presentation is designed to provide entrepreneurs with a blueprint for successful software development and technology implementation.
The unfortunate reality is that quality software development and technology implementation is not readily available to most startups and small business entrepreneurs. Great entrepreneurs are met with small thinkers when searching for a development team via online freelancer sites, or the recommendation of a friend’s cousin who may code on weekends. Or they are faced with development companies that impose business models that do not align with the entrepreneurial spirit.
* What is Engineering?
* Who is an Engineer?
* The reasons to become an Engineer
* What is Software Engineering?
* Software Engineering: History
* The principles of Software Engineering
* Who is a Software Engineer?
* The reasons to become Software Engineer
* Requirements of being Software Engineer
* The Areas of Software Engineers
* The working areas of Software Engineers
* Difference between Computer Science and Software Engineering
* Pros and Cons of being Software Engineer
* A Software Engineer Responsibilities
* The Most Popular Software Development Methodologies(Waterfall, Rapid Application, Agile and DevOps) Development Methodology
* Version control
* Centralized Version Control
From Continuous Integration to Continuous Delivery and DevOpsLuca Minudel
An overview of Continuous Delivery from a business and a technical point of view.
Includes an overview of:
- business value proposition of CD
- prerequisites and tips for CD implementation
- CD implementation was stories and strategies
- CD technical practices
If you like the ideas raised in this presentation, don't forget to check out my latest book, Directing the Agile Organisation (http://theagiledirector.com/book).
There is no doubt about the importance of automated frameworks in the Agile environment and as part of the day-to-day testing process. These are some insights to guide any automation project.
The new manager role in scrum teams and beyond | SupremeAgileDavid Tzemach
Traditional management approach (Pre Agile).
The transition from traditional methodologies (Waterfall) to Agile (Scrum).
How Scrum transition affects managers (Fears, Resistance, and Outcomes).
Overcoming manager fears and resistance as a key factor to success.
Opportunities in the Scrum framework.
What does it mean to be an Agile manager?
Summary.
Agile software development is probably the most common methodology used by organizations today, as such; many people have started to ask more and more questions about this methodology that sometimes based on wrong assumptions.
In this presentation, I will review the most common Myths and Misconceptions that I encounter during agile training courses, hopefully, to help people to divide the truth from the assumptions.
The scrum master role contains many theoretical descriptions that do not provide an answer to the basic question of “What is the Day to Day activities of the scrum master?”
In this presentation, I will provide a short checklist that will try to answer that basic question while examining few of the main ceremonies and artifacts of the Scrum framework.
Expectations of scrum masters - How to choose a true great scrum master?David Tzemach
In Scrum, the Scrum Master (SM) owns the responsibility for the process. During his day-to-day activities, the Scrum Master must ensure the team is following the Scrum Spirit, process, and the different practices of this the scrum framework.
Selecting a Scrum team’s Scrum Master can be the difference between success or failure of the team’s ability in adopting scrum. Therefore, it is highly important to ensure the selected Scrum Master has the current qualities, Skills, and characteristics. This will assist the team to adapt to the different challenges they will face while adapting the Scrum framework.
In order to assist one to determine the most suitable person lead the team as the Scrum Master, I have prepared a list of Characteristics, Skills, and qualities that a good Scrum Master should have in his armory.
Top 10 challenges faced by the scrum masterDavid Tzemach
The Role of the Scrum Master (SM) is very challenging. SM responsibilities include Coaching, Training and facilitating both Agile practices and Spirits. In this Presentation, I will review some of the challenges faced by the Scrum Master during his day-to-day activities.
In this presentation, we will review the fundamental concepts of Software Development Life Cycle (SDLC) and Software test life Cycle (STLC) throughout the traditional development methodologies.
What is automation testing | David TzemachDavid Tzemach
What is Automation Testing?
What are the objectives of using automation tools?
What can we achieve using automation tools?
What Test Automation is not?
WHY MAY TESTING TEAMS REJECT THE IMPLEMENTATION OF AUTOMATED TESTS?
Common Types of Automated Testing Tools
The role of the product owner in scrum team | David TzemachDavid Tzemach
Overview
Product owner (PO) & Scrum backlogs
Product owner (PO) & Scrum Team
Product owner (PO) & Core Activities
The characteristics that make a great PO
The complete guide for software integration testing | David TzemachDavid Tzemach
What is integration testing?
The integration testing process
When should we start integration tests?
Why should we use integration tests?
Integration tests techniques
Entry and Exit criteria
Best Practices
The complete guide for negative testing | David TzemachDavid Tzemach
OVERVIEW
SO WHAT IS “NEGATIVE” TESTING ANYWAY?
GOALS OF NEGATIVE TESTING
NEGATIVE TESTING PROCESS
ADVANTAGES OF NEGATIVE TESTING
WHEN TO STOP NEGATIVE TESTING?
Why you cannot ignore negative testing?
Software testing metrics | David Tzemach David Tzemach
Overview
What we can measure using metrics
Common metrics to evaluate test process
why do we need to use metrics
Test metrics life cycle (TMLC)
Type of metrics
Fundamental testing metrics
An introduction to api testing | David TzemachDavid Tzemach
WHAT IS API?
MOTIVATION TO TEST API
WHAT IS AN API TESTING?
WHAT TESTS SHOULD BE PERFORMED ON API’S
WHAT ARE THE TYPES OF DEFECTS THAT API TESTING WILL HELP REMOVE?
WHAT ARE THE CHALLENGES OF API TESTING?
Agile User Stories | The complete ReviewDavid Tzemach
The main sections of this presentation
1. Overview
2. Story Points vs. Time Estimations
3. The responsibilities
4. The benefits of using stories
5. How to write great stories
6. The mistake you can do when writing stories
7. A Template for writing stories
8. Key components of stories
Key Trends Shaping the Future of Infrastructure.pdfCheryl Hung
Keynote at DIGIT West Expo, Glasgow on 29 May 2024.
Cheryl Hung, ochery.com
Sr Director, Infrastructure Ecosystem, Arm.
The key trends across hardware, cloud and open-source; exploring how these areas are likely to mature and develop over the short and long-term, and then considering how organisations can position themselves to adapt and thrive.
JMeter webinar - integration with InfluxDB and GrafanaRTTS
Watch this recorded webinar about real-time monitoring of application performance. See how to integrate Apache JMeter, the open-source leader in performance testing, with InfluxDB, the open-source time-series database, and Grafana, the open-source analytics and visualization application.
In this webinar, we will review the benefits of leveraging InfluxDB and Grafana when executing load tests and demonstrate how these tools are used to visualize performance metrics.
Length: 30 minutes
Session Overview
-------------------------------------------
During this webinar, we will cover the following topics while demonstrating the integrations of JMeter, InfluxDB and Grafana:
- What out-of-the-box solutions are available for real-time monitoring JMeter tests?
- What are the benefits of integrating InfluxDB and Grafana into the load testing stack?
- Which features are provided by Grafana?
- Demonstration of InfluxDB and Grafana using a practice web application
To view the webinar recording, go to:
https://www.rttsweb.com/jmeter-integration-webinar
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Jeffrey Haguewood
Sidekick Solutions uses Bonterra Impact Management (fka Social Solutions Apricot) and automation solutions to integrate data for business workflows.
We believe integration and automation are essential to user experience and the promise of efficient work through technology. Automation is the critical ingredient to realizing that full vision. We develop integration products and services for Bonterra Case Management software to support the deployment of automations for a variety of use cases.
This video focuses on the notifications, alerts, and approval requests using Slack for Bonterra Impact Management. The solutions covered in this webinar can also be deployed for Microsoft Teams.
Interested in deploying notification automations for Bonterra Impact Management? Contact us at sales@sidekicksolutionsllc.com to discuss next steps.
Epistemic Interaction - tuning interfaces to provide information for AI supportAlan Dix
Paper presented at SYNERGY workshop at AVI 2024, Genoa, Italy. 3rd June 2024
https://alandix.com/academic/papers/synergy2024-epistemic/
As machine learning integrates deeper into human-computer interactions, the concept of epistemic interaction emerges, aiming to refine these interactions to enhance system adaptability. This approach encourages minor, intentional adjustments in user behaviour to enrich the data available for system learning. This paper introduces epistemic interaction within the context of human-system communication, illustrating how deliberate interaction design can improve system understanding and adaptation. Through concrete examples, we demonstrate the potential of epistemic interaction to significantly advance human-computer interaction by leveraging intuitive human communication strategies to inform system design and functionality, offering a novel pathway for enriching user-system engagements.
Accelerate your Kubernetes clusters with Varnish CachingThijs Feryn
A presentation about the usage and availability of Varnish on Kubernetes. This talk explores the capabilities of Varnish caching and shows how to use the Varnish Helm chart to deploy it to Kubernetes.
This presentation was delivered at K8SUG Singapore. See https://feryn.eu/presentations/accelerate-your-kubernetes-clusters-with-varnish-caching-k8sug-singapore-28-2024 for more details.
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Ramesh Iyer
In today's fast-changing business world, Companies that adapt and embrace new ideas often need help to keep up with the competition. However, fostering a culture of innovation takes much work. It takes vision, leadership and willingness to take risks in the right proportion. Sachin Dev Duggal, co-founder of Builder.ai, has perfected the art of this balance, creating a company culture where creativity and growth are nurtured at each stage.
DevOps and Testing slides at DASA ConnectKari Kakkonen
My and Rik Marselis slides at 30.5.2024 DASA Connect conference. We discuss about what is testing, then what is agile testing and finally what is Testing in DevOps. Finally we had lovely workshop with the participants trying to find out different ways to think about quality and testing in different parts of the DevOps infinity loop.
Securing your Kubernetes cluster_ a step-by-step guide to success !KatiaHIMEUR1
Today, after several years of existence, an extremely active community and an ultra-dynamic ecosystem, Kubernetes has established itself as the de facto standard in container orchestration. Thanks to a wide range of managed services, it has never been so easy to set up a ready-to-use Kubernetes cluster.
However, this ease of use means that the subject of security in Kubernetes is often left for later, or even neglected. This exposes companies to significant risks.
In this talk, I'll show you step-by-step how to secure your Kubernetes cluster for greater peace of mind and reliability.
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf91mobiles
91mobiles recently conducted a Smart TV Buyer Insights Survey in which we asked over 3,000 respondents about the TV they own, aspects they look at on a new TV, and their TV buying preferences.
State of ICS and IoT Cyber Threat Landscape Report 2024 previewPrayukth K V
The IoT and OT threat landscape report has been prepared by the Threat Research Team at Sectrio using data from Sectrio, cyber threat intelligence farming facilities spread across over 85 cities around the world. In addition, Sectrio also runs AI-based advanced threat and payload engagement facilities that serve as sinks to attract and engage sophisticated threat actors, and newer malware including new variants and latent threats that are at an earlier stage of development.
The latest edition of the OT/ICS and IoT security Threat Landscape Report 2024 also covers:
State of global ICS asset and network exposure
Sectoral targets and attacks as well as the cost of ransom
Global APT activity, AI usage, actor and tactic profiles, and implications
Rise in volumes of AI-powered cyberattacks
Major cyber events in 2024
Malware and malicious payload trends
Cyberattack types and targets
Vulnerability exploit attempts on CVEs
Attacks on counties – USA
Expansion of bot farms – how, where, and why
In-depth analysis of the cyber threat landscape across North America, South America, Europe, APAC, and the Middle East
Why are attacks on smart factories rising?
Cyber risk predictions
Axis of attacks – Europe
Systemic attacks in the Middle East
Download the full report from here:
https://sectrio.com/resources/ot-threat-landscape-reports/sectrio-releases-ot-ics-and-iot-security-threat-landscape-report-2024/
GraphRAG is All You need? LLM & Knowledge GraphGuy Korland
Guy Korland, CEO and Co-founder of FalkorDB, will review two articles on the integration of language models with knowledge graphs.
1. Unifying Large Language Models and Knowledge Graphs: A Roadmap.
https://arxiv.org/abs/2306.08302
2. Microsoft Research's GraphRAG paper and a review paper on various uses of knowledge graphs:
https://www.microsoft.com/en-us/research/blog/graphrag-unlocking-llm-discovery-on-narrative-private-data/
2. EXTREME PROGRAMING AS AN AGILE METHODOLOGY
“WE ARE UNCOVERING BETTER WAYS OF DEVELOPING SOFTWARE BY DOING IT AND HELPING OTHERS DO IT.
THROUGH THIS WORK WE HAVE COME TO VALUE:
INDIVIDUALS AND INTERACTIONS OVER PROCESSES AND TOOLS
WORKING SOFTWARE OVER COMPREHENSIVE DOCUMENTATION
CUSTOMER COLLABORATION OVER CONTRACT NEGOTIATION
RESPONDING TO CHANGE OVER FOLLOWING A PLAN
THAT IS, WHILE THERE IS VALUE IN THE ITEMS ON THE RIGHT, WE VALUE THE ITEMS ON THE LEFT MORE.”
-KENT BECK-
The Manifesto for Agile Software Development
3. EXTREME PROGRAMMING(XP)
• XP WAS DEVELOPED BY “KENT BECK” AND INTRODUCED IN HIS FIRST BOOK
“EXTREME PROGRAMMING EXPLAINED: EMBRACE CHANGE (ADDISON-WESLEY,
1999)”.
• IT WAS ONE OF THE EARLIEST AGILE METHODOLOGIES AND THE FIRST ONE THAT
CHALLENGE THE TRADITIONAL WATERFALL MODEL.
• XP IS A DESIGNED TO SUPPORT A SMALL/MEDIUM SOFTWARE DEVELOPMENT
TEAMS.
• IT’S CALLED “EXTREME PROGRAMMING” BECAUSE IT TAKES 12 KNOWN PROVEN
SOFTWARE DEVELOPMENT PRINCIPLES/PRACTICES AND PUSH THEM TO EXTREME
LEVELS.
5. SIMPLICITY
• THE TEAM MEMBERS WILL FOCUS ON THINGS THAT MATTERS AND DON’T WASTE TIME
ON THINGS THAT THEY DOESN'T ASK FOR.
• DO THE SIMPLEST THAT COULD POSSIBLY WORK.
• REMOVE ANY CODE THAT YOU WILL NOT USE.
"XP is making a bet. It is betting that it is better
to do a simple thing today and pay a little
more tomorrow to change it if it needs it,
than to do a more complicated thing
today that may never be used anyway."
-Kent Beck-
6. COMMUNICATION
• THERE SHOULD BE A GOOD COMMUNICATION BETWEEN THE TEAM AND THE CLIENT.
• THE ENTIRE TEAM MEMBERS SHOULD WORK TOGETHER TO COMPLETE EACH TASK.
• FACE TO FACE COMMUNICATION WILL REDUCE THE NEED OF DOCUMENTATION.
• THE PROJECT COACH SHOULD VALIDATE THAT THERE IS A GOOD COMMUNICATION
(DEVELOPERS->DEVELOPERS, DEVELOPERS->CLIENT ETC.)
7. COURAGE
• DEVELOPERS SHOULD HAVE THE COURAGE TO TAKE
FAST DECISIONS DUE TO THE COLLECTIVE OWNERSHIP.
• DEVELOPERS SHOULD HAVE THE COURAGE TO MAKE
REAL CHANGES IN THE SOFTWARE DESIGN AND
ARCHITECTURE WHEN NEEDED.
• DEVELOPERS SHOULD HAVE THE COURAGE TO TELL THE
TRUTH ABOUT THE EFFORT THEY NEED TO COMPLETE
TASKS (TIME ESTIMATIONS, IMPLEMENTATION EFFORT
ETC.).
8. FEEDBACK
• EXTREME PROGRAMMING EMBRACES FEEDBACK AS
A GREAT WAY TO EVALUATE THE CURRENT STATE
OF THE DEVELOPMENT PROCESS.
• FAST FEEDBACK WILL INCREASE THE EFFECTIVENESS
OF THE PROCESS.
• EACH RESOURCE THAT INVOLVED IN THE PROJECT
IS RELEVANT, EXAMPLES:
• DEVELOPERS – ESTIMATE THE USER STORIES AND RESPOND
WITH ESTIMATIONS.
• CUSTOMER – TEST THE SOFTWARE AND SEND FEEDBACKS
THAT WILL INCREASE THE QUALITY.
9. RESPECT
• RESPECT THE OTHER TEAM MEMBERS.
• RESPECT THE CUSTOMER.
• RESPECT THE PROJECT.
11. CODING
• ALL DEVELOPERS SHOULD FOLLOW A PREDEFINED CODE STANDARDS.
• CONTINUOUS INTEGRATION THROUGHOUT THE ENTIRE PROCESS.
• THE CODE IS BASED ON THE CUSTOMER USER STORIES.
• THE CUSTOMER SHOULD BE AVAILABLE AT ALL TIME.
• FIRST CODE IS WRITTEN FOR UNIT TESTS.
• COLLECTIVE CODE OWNERSHIP.
• PAIR PROGRAMMING.
12. • EVERY PART OF THE CODE SHOULD BE TESTED WITH A DEDICATED UNIT TEST.
• YOU CANNOT SAY THAT YOUR CODE IS WORKING UNTIL YOU TEST IT.
• ALL TESTS SHOULD RUN ON EVERY NEW BUILD.
• TESTING IS MADE BY THE DEVELOPERS(UNIT) AND BY THE CUSTOMER (ATP FOR
FUNCTIONALITY).
TESTING
13. LISTENING
• DEVELOPERS SHOULD LISTEN TO THE CLIENT REQUIREMENTS ABOUT HOW THE
SYSTEM SHOULD DEVELOPED.
• DEVELOPERS SHOULD LISTEN TO EACH OTHER TO DEVELOP A BETTER AND
RESILIENCE SOFTWARE.
• DEVELOPERS SHOULD LISTEN TO THE CLIENT FEEDBACK ABOUT THE GENERATED
CODE.
14. DESIGNING
• A GOOD AND SIMPLE DESIGN WILL REDUCE THE COMPLEXITY OF THE SYSTEM.
• EVERY DEVELOPER CAN TAKE AN ACTIVE PART IN THE DESIGN PROCESS.
• THE DESIGN IS MADE AT THE START AND DURING THE PROCESS.
• REFACTORING IS A DECISIVE PART OF THE DESIGN PROCESS.
• ALTHOUGH XP EMBRACES FAST DEVELOPMENT THAT ADD BUSINESS VALUE, IT DOESN'T MEAN
THAT THE DESIGNING PROCESS IS EXCLUDED.
16. THE 12 KEY PRACTICES OF EXTREME PROGRAMMING
1. THE PLANNING GAME
2. SMALL RELEASES
3. SYSTEM METAPHOR
4. SIMPLE DESIGN
5. CONTINUOUS TESTING
6. REFACTORING
7. PAIR PROGRAMMING
8. CONTINUOUS INTEGRATION
9. COLLECTIVE OWNERSHIP
10. ON-SITE CUSTOMER
11. THE 40-HOUR WEEK
12. CODING STANDARDS
17. THE PLANNING GAME (1)
• THE COMPANY EVALUATES THE CLIENT REQUESTS AGAINST THE COST ESTIMATIONS AND
DEVELOPMENT TIME.
• THE PRIMARY GOAL IS TO PRODUCE THE MAXIMUM BUSINESS VALUE IN THE FASTEST WAY.
• THERE ARE THREE BASIC RULES TO FOLLOW ON THIS PHASE:
1. BUSINESS COMES UP WITH THE LIST OF REQUIREMENTS FROM THE CLIENT (USER STORIES).
2. ENGINEERING TEAM REVIEW THE “USER STORIES", AND THEN ANSWER THESE TWO QUESTIONS:
• WHAT IS THE TIME ESTIMATION AND EFFORT WILL THEY NEED TO PUT IN ORDER TO DELIVER
EACH USER STORY…?
• HOW MUCH EFFORT THE TEAM CAN PRODUCE PER ITERATION (HOW MANY USER STORIES
THEY CAN DELIVER PER ITERATION)…?
3. BUSINESS REVIEW THE ESTIMATIONS AND DECIDE WHAT ARE THE USER STORIES THAT WILL BE
DEVELOPED AND IN WHAT ORDER.
18. SMALL RELEASES (2)
• THE MAIN TARGET IS TO RELEASE A WORKING AND TESTED SOFTWARE EARLY AS POSSIBLE.
• THE FIRST RELEASE IS DEVELOPED WITH THE SMALLEST USEFUL SET OF FEATURES TO INCREASE
THE BUSINESS VALUE.
• SOFTWARE UPDATES SHOULD BE DEVELOPED OFTEN TO SUPPORT FAST RELEASES.
• THE CUSTOMER CAN USE THIS SOFTWARE IN IT’S OWN ENVIRONMENT THAT INVOLVE REAL
USERS(WHICH ALLOWING THE CUSTOMER TO EVALUATE THE SOFTWARE AND SEND HIS
FEEDBACKS).
19. • METAPHOR IN XP IS THE COMMON VISION OF THE TEAM MEMBERS ON HOW THE
PROGRAM SHOULD DEVELOP AND WORK.
• EACH PROJECT AS IT’S “METAPHOR”, IS JOB IS TO GUIDE THE PROJECT RESOURCES
ON HOW THE WHOLE SYSTEM WORKS (COMPONENTS, INTEGRATIONS,ETC).
• ANOTHER RESPONSIBILITY OF THE “METAPHOR”, IS TO DETERMINE A SET OF
KEYWORDS THAT DESCRIBES A COMMON TECHNICAL ENTITIES (COMMON TERMS,
CLASS NAMES ETC.).
SYSTEM METAPHOR (3)
20. • IN AGILE METHODOLOGY THE REQUIREMENTS
ARE FREQUENTLY CHANGED, BASED ON THIS
ASSUMPTION, YOU SHOULD ALWAYS USE THE
MOST SIMPLIFIED SOFTWARE DESIGNS THAT
ALLOWING YOU TO MAKE THE JOB DONE.
SIMPLE DESIGN(4)
21. CONTINUOUS TESTING (5)
• TESTING IS DONE THROUGHOUT THE ENTIRE PROCESS.
• ALL TESTS MUST RUN AND PASS WITH 100% BEFORE A NEW DEVELOPMENT.
• THERE ARE TWO TYPE OF TESTS THAT INVOLVE IN THIS PROCESS:
TEST DRIVEN DEVELOPMENT (TDD)
• PROGRAMS WRITE THE TESTS PRIOR TO THE APPLICATION CODE DEVELOPMENT.
• THE CODE IS PRODUCED WITH ALMOST 100% TEST COVERAGE.
• AUTOMATED TESTS THAT ARE WRITTEN BY THE DEVELOPMENT TEAM(PER FUNCTIONALITY)
ACCEPTANCE TESTS
• THIS TESTS IS THE “CONTRACT” BETWEEN THE CUSTOMER AND THE COMPANY
• THE CLIENT CAN VALIDATE THAT THE SOFTWARE IS DEVELOPED AS SPECIFIED.
• TESTS THAT ARE SPECIFIED BY THE CUSTOMER.
22. REFACTORING (6)
• TO ACHIEVE VALUE PER ITERATION, THE DEVELOPMENT TEAM MUST BUILD THE
SOFTWARE BASED ON SIMPLE AND EFFECTIVE DESIGN.
• REFACTORING IS A CONTINUES DESIGN IMPROVEMENT THAT DEVELOPERS CAN DO AT
ANY TIME.
• REFACTORING CANNOT BE MADE WITHOUT A CORRESPONDING TESTING TO ENSURE
THAT NOTHING WAS BROKEN.
• DURING THE REFACTORING PHASE, PROGRAMMERS CAN:
• EDIT THEIR CODE (EDIT CODE BUT, WITHOUT CHANGING THE FUNCTIONALITY).
• IMPROVE THE SOFTWARE DESIGN.
• REMOVE ANY CODE DUPLICATION.
23. PAIR PROGRAMMING (7)
• TWO PROGRAMMERS ARE WORKING ON THE SAME COMPUTER TO COMPLETE A
SINGLE TASK.
• PROGRAMMER NO’1 – RESPONSIBLE TO WRITE AND IMPLEMENT THE CODE.
• PROGRAMMER NO’2 – WATCH THE IMPLEMENTATION AND IDENTIFIES ANY
CODE ERRORS.
THE ASSUMPTIONS
• PROGRAMMERS WILL GAIN MORE CONFIDENCE IN THEIR CODE.
• DEVELOPERS WILL ENJOY WORKING TOGETHER.
• TASKS WILL BE RESOLVED FASTER.
• PRODUCE HIGHER QUALITY CODE.
24. CONTINUOUS INTEGRATION (8)
• IN XP DEVELOPERS MUST KEEP THE SYSTEM FULLY INTEGRATED AT ALL TIMES
• ALL UNIT TESTS MUST BE RUN AND PASS WITH 100%.
• NEW BUILDS ARE CREATED DAILY WITH THE FULL CODE(THE ENTIRE CODE THAT WAS
DEVELOPED BY THIS POINT).
• ANY DEVELOPMENT IS INTEGRATED TO A SINGLE LOCATION WHEN THE CODE IS
READY.
25. • ANY DEVELOPER MUST HAVE THE ABILITY TO WORK ON ANY PART OF THE CODE.
• NO SPECIFIC DEVELOPER THAT RESPONSIBLE FOR A SPECIFIC COMPONENT.
• CODE CAN BE CHANGED BY ANY DEVELOPER WITHOUT DELAY.
• A NEW CODE IS REVIEWED BY THE ENTIRE TEAM.
• INCREASE THE RESPONSIBILITY OF DEVELOPERS.
COLLECTIVE CODE OWNERSHIP (9)
26. • THE CUSTOMER SHOULD LEAD THE PROJECT (REQUIREMENTS, PRIORITIES AND TIMELINES).
• THE CUSTOMER SHOULD BE AVAILABLE AT ALL TIME (FACE TO FACE COMMUNICATION).
• DEVELOPERS WILL NOT USE ANY ASSUMPTIONS DURING THE DEVELOPMENT PROCESS.
• THE CUSTOMER IS ONE OF THE MOST IMPORTANT RESOURCES IN XP PROCESS.
• THE CUSTOMER SHOULD ANSWER ANY OPEN QUESTIONS.
• DEVELOPERS CAN ACCESS TO A REAL CLIENT ENVIRONMENT(WHERE THE SOFTWARE IS
IMPLEMENTED.).
ON-SITE CUSTOMER (10)
27. • THE TEAM WILL GO HOME ON TIME, THERE IS NO REASON TO DO OVERTIME HOURS.
• THE PROJECT SHOULDN’T INTERFERE WITH THE DEVELOPER’S PERSONAL LIFE.
• THE WORK WEEK SHOULD BE NO MORE THAN 40 HOURS.
• TIRED DEVELOPERS DO MORE CODING MISTAKES.
• IN MOST PROJECTS, THIS PRACTICE IS NOT RELEVANT, THE REAL WORLD IS DIFFERENT FROM THE
THEORETICAL ONE
• CONSECUTIVE OVERTIME HOURS WILL INDICATE THAT THERE IS SOMETHING WRONG IN THE
PROCESS.
THE 40-HOUR WEEK (11)
28. • CODING STANDARDS WILL HELP TO DEVELOP A BETTER CODE.
• EVERY DEVELOPER SHOULD FOLLOW THE CODE STANDARDS.
• CODE REVIEW SHOULD BE USED AS A METHOD TO VALIDATE THAT THE EXPECTED
STANDARD IS ENFORCED.
• EXAMPLES FOR “CODE STANDARDS”:
• THE CODE MUST INCLUDE COMMENTS PER METHOD.
• CODING CONVENTIONS (FORMATTING, NAMING, LOG).
• DEVELOP BASED ON A SPECIFIC DESIGN PATTERN.
• THE CODE SHOULD BE EASY TO MAINTAIN.
CODING STANDARDS (12)
30. CUSTOMER
• RESPONSIBLE TO SPECIFY AND TEST THE SOFTWARE FUNCTIONALITY.
• SPECIFY THE SOFTWARE REQUIREMENTS AND SPECIFICATIONS.
• DETERMINES THE DEVELOPMENT PRIORITIES.
• CREATE AND EXPLAINS THE USER STORIES.
COACH
• MONITOR THE ENTIRE PROCESS AND VALIDATE THAT THE PROJECT STAYS ON COURSE.
• GUIDES AND MENTORS THE TEAM MEMBERS.
• SHOULD LEAD BY EXAMPLE.
31. DEVELOPER
• MAINTAIN THE SOFTWARE THROUGH THE PROCESS AND AFTER IMPLEMENTATION.
• MAKE THE CODE IMPLEMENTATION( USER STORIES INTO WORKING CODE).
• ESTIMATES THE TIME AND EFFORT OF THE USER STORIES.
• TEST THE CODE (AUTOMATED UNIT TESTS).
DOOMSAYER
• RESPONSIBLE TO MAKE SURE THAT WHEN A CRISES OCCURS, EVERYONE WILL KNOW ABOUT IT.
• VALIDATE THAT EACH RESOURCES KNOWS THE RISK INVOLVED.
• RESPONSIBLE TO MAKE SURE THAT SMALL ISSUES REMAIN SMALL AND NOT GET OUT OF
PROPORTION
32. TRACKER
• VALIDATE THAT EACH DEVELOPER IS ON TRACK WITH HIS ASSIGNED TASKS.
• VALIDATE THAT EACH DEVELOPER IS SYNCHRONIZED AT ALL TIME.
• ARRANGE MEETINGS WITH THE CLIENT WHEN NECESSARY.
• VALIDATE THAT THE PROJECT IS GOING AS SCHEDULED.
TESTER
• REPORT FOR DEFECTS AND ANY OTHER ISSUES THAT MAY AFFECT THE USER EXPERIENCE.
• TEST THE SOFTWARE FUNCTIONALITY.