The document provides an overview of a workshop on managing software debt. It discusses various types of software debt including technical debt, quality debt, configuration management debt, design debt, and platform experience debt. It emphasizes the importance of focusing on quality and design through activities like refactoring, test automation, and defining a done approach to prevent further accumulation of software debt over time. The workshop agenda covers topics like continuous integration, quality dashboards, release management, and wrapping up with a discussion of software debt management strategies.
This talk is about the typical indicators of projects that surpass a certain volume. Key alements are the definition of Scope and the elements of controlling, the essential stages of a large project and how to keep the process agile
Agile Development of High Performance ApplicationsFabian Lange
Slides from my talk at gearconf 2010 in Düsseldorf, discussing Performance as an important non-functional requirement. Because NFRs are hard to test, I showed how AppDynamics Lite could be used to ease pain and build better performing apps.
If you are interested in performance and application performance monitoring, visit our blog:
http://blog.codecentric.de/en/category/performance-en/
If you want to try appdynamics lite yourself, download it at http://appdynamics.com/free
Curious about project visualization – AKA “simulation” or “rapid prototyping”? Learn how OneSpring is helping Fortune 500 companies and government agencies use visualization on projects that span mainframe modernization to cutting edge mobile applications and everything in between.
Agility and planning : tools and processesJérôme Kehrli
In this presentation, I intend to present the fundamentals, the roles, the processes, the rituals and the values that I believe a team would need to embrace to achieve success down the line in Agile Software Development Management - Product Management, Team Management and Project Management - with the ultimate goal of making planning and forecasting as simple and efficient as it can be.
As Agile become mainstream increasingly organizations are looking to double down on the role of the Product Owner encouraging them to manage the intersection between technology and the business. But Product Ownership is a difficult role as it tries to balance the needs of the business with the reality of software delivery. Also, for many organizations there is some ‘confusion’ with existing roles of business analyst, product manager or even project manager. What does the product owner do anyway?
In this talk Dave West, Product Owner and CEO Scrum.org, the home of Scrum and Professional Scrum Trainer with Prowareness Rob van Lanen describe the genesis of the Product Owner role and how many organizations are dealing with the challenges of slotting this key role into existing product, project and release roles. They will introduce some techniques such as user centric design, and hypophysis based development and describe how approaches such as Lean Startup and pragmatic marketing are providing product owners with a tool box to do their job.
Recorded Webinar can be found at :-https://www.scrum.org/resources/who-product-owner-anyway
Agile is an umbrella term for a collection of values, principles and practices originating from eXtreme Programming, Scrum, Lean and other methodologies.
When combined with effective governance, Agile and Lean provide benefits that include increased business value, reduced risk, greater flexibility and improved transparency.
This talk is about the typical indicators of projects that surpass a certain volume. Key alements are the definition of Scope and the elements of controlling, the essential stages of a large project and how to keep the process agile
Agile Development of High Performance ApplicationsFabian Lange
Slides from my talk at gearconf 2010 in Düsseldorf, discussing Performance as an important non-functional requirement. Because NFRs are hard to test, I showed how AppDynamics Lite could be used to ease pain and build better performing apps.
If you are interested in performance and application performance monitoring, visit our blog:
http://blog.codecentric.de/en/category/performance-en/
If you want to try appdynamics lite yourself, download it at http://appdynamics.com/free
Curious about project visualization – AKA “simulation” or “rapid prototyping”? Learn how OneSpring is helping Fortune 500 companies and government agencies use visualization on projects that span mainframe modernization to cutting edge mobile applications and everything in between.
Agility and planning : tools and processesJérôme Kehrli
In this presentation, I intend to present the fundamentals, the roles, the processes, the rituals and the values that I believe a team would need to embrace to achieve success down the line in Agile Software Development Management - Product Management, Team Management and Project Management - with the ultimate goal of making planning and forecasting as simple and efficient as it can be.
As Agile become mainstream increasingly organizations are looking to double down on the role of the Product Owner encouraging them to manage the intersection between technology and the business. But Product Ownership is a difficult role as it tries to balance the needs of the business with the reality of software delivery. Also, for many organizations there is some ‘confusion’ with existing roles of business analyst, product manager or even project manager. What does the product owner do anyway?
In this talk Dave West, Product Owner and CEO Scrum.org, the home of Scrum and Professional Scrum Trainer with Prowareness Rob van Lanen describe the genesis of the Product Owner role and how many organizations are dealing with the challenges of slotting this key role into existing product, project and release roles. They will introduce some techniques such as user centric design, and hypophysis based development and describe how approaches such as Lean Startup and pragmatic marketing are providing product owners with a tool box to do their job.
Recorded Webinar can be found at :-https://www.scrum.org/resources/who-product-owner-anyway
Agile is an umbrella term for a collection of values, principles and practices originating from eXtreme Programming, Scrum, Lean and other methodologies.
When combined with effective governance, Agile and Lean provide benefits that include increased business value, reduced risk, greater flexibility and improved transparency.
Scrum Master Role and Responsibilities in Agile Environment - AMECSE 2014 Ahmed Hammad
This presentation tried to cover ScrumMaster roles and responsibilities in Agile environments. It is presented in Software Innovation for Sustainable Economy conference See: http://2014.amecse-conferences.org/
The first part of this presentation is a situational assessment of typical challenges in IT project delivery using the SCRAP (Situation, Complication, Resolution, Action, Proof) model. This is essentially a business case for Agile. So if you are looking for ways to get buy-in for Agile, this is the place to be.
The second part of this presentation shows you what Agile is from 50,000 ft. From this high up, we'll be covering the essential elements from a business and management perspective. We'll cover what Agile is, what it does, how it works and what it achieves.
If you are interested in learning or communicating the value of Agile, then this is the presentation for you!
Please email me if you would like a download.
Integrating Quality into Project Portfolio ManagementChris Sterling
Traditionally, projects are managed based on cost, schedule, and scope. This continues to be insufficient and leads to poor outcomes, unsustainable development efforts, quality issues, and software that may meet requirements but not the expectations of users. This talk will go into how organizations can integrate quality and value considerations into their portfolio management strategies leading to less surprises and more valuable outcomes. The talk will go into detail about how Agile, Lean thinking, and Managing Software Debt can give a more holistic view of the project portfolio.
Software debt slowly creeps into software assets if left unnoticed and can slow down delivery in ways that seemed faster initially. Fortunately, modern tools, frameworks, and software development approaches help us manage software debt effectively at a reasonable cost to implement. This program will show ways to recognize software debt in five debt areas so that you can start to manage it.
Continuous Testing: A Key to DevOps SuccessTechWell
As IT organizations adopt a DevOps strategy, continuous testing (CT) becomes a key ingredient of the DevOps ecosystem. CT enables faster release cycles, more changes per release, upfront isolation of risks, and reduced operations costs. The approach to scale the traditional automation testing infrastructure, test environments, and test data management requires a culture shift using new tools and techniques. Sujay Honnamane discusses a CT strategy for aspiring and already implemented DevOps organizations. Sujay shares examples of tools, techniques, and practical solutions that include continuous integration using the Jenkins CI server, service virtualization through CA Lisa tools, automated code coverage analysis to create impact-based tests, automated test script load balancing for effective use of test environments, and faster test cycles, providing a holistic approach/workflow for CT. Sujay and his teams have successfully implemented CT for several clients in their DevOps journey to achieve a repeatable and highly predictable software delivery process.
Critical Capabilities to Shifting Left the Right WaySmartBear
The concept of testing earlier in the SDLC isn't new, but the term "shift left" has reignited its importance. See how shifting left can help you, and how to do it right.
Scrum Master Role and Responsibilities in Agile Environment - AMECSE 2014 Ahmed Hammad
This presentation tried to cover ScrumMaster roles and responsibilities in Agile environments. It is presented in Software Innovation for Sustainable Economy conference See: http://2014.amecse-conferences.org/
The first part of this presentation is a situational assessment of typical challenges in IT project delivery using the SCRAP (Situation, Complication, Resolution, Action, Proof) model. This is essentially a business case for Agile. So if you are looking for ways to get buy-in for Agile, this is the place to be.
The second part of this presentation shows you what Agile is from 50,000 ft. From this high up, we'll be covering the essential elements from a business and management perspective. We'll cover what Agile is, what it does, how it works and what it achieves.
If you are interested in learning or communicating the value of Agile, then this is the presentation for you!
Please email me if you would like a download.
Integrating Quality into Project Portfolio ManagementChris Sterling
Traditionally, projects are managed based on cost, schedule, and scope. This continues to be insufficient and leads to poor outcomes, unsustainable development efforts, quality issues, and software that may meet requirements but not the expectations of users. This talk will go into how organizations can integrate quality and value considerations into their portfolio management strategies leading to less surprises and more valuable outcomes. The talk will go into detail about how Agile, Lean thinking, and Managing Software Debt can give a more holistic view of the project portfolio.
Software debt slowly creeps into software assets if left unnoticed and can slow down delivery in ways that seemed faster initially. Fortunately, modern tools, frameworks, and software development approaches help us manage software debt effectively at a reasonable cost to implement. This program will show ways to recognize software debt in five debt areas so that you can start to manage it.
Continuous Testing: A Key to DevOps SuccessTechWell
As IT organizations adopt a DevOps strategy, continuous testing (CT) becomes a key ingredient of the DevOps ecosystem. CT enables faster release cycles, more changes per release, upfront isolation of risks, and reduced operations costs. The approach to scale the traditional automation testing infrastructure, test environments, and test data management requires a culture shift using new tools and techniques. Sujay Honnamane discusses a CT strategy for aspiring and already implemented DevOps organizations. Sujay shares examples of tools, techniques, and practical solutions that include continuous integration using the Jenkins CI server, service virtualization through CA Lisa tools, automated code coverage analysis to create impact-based tests, automated test script load balancing for effective use of test environments, and faster test cycles, providing a holistic approach/workflow for CT. Sujay and his teams have successfully implemented CT for several clients in their DevOps journey to achieve a repeatable and highly predictable software delivery process.
Critical Capabilities to Shifting Left the Right WaySmartBear
The concept of testing earlier in the SDLC isn't new, but the term "shift left" has reignited its importance. See how shifting left can help you, and how to do it right.
This presentation is from Scrum Gathering 2011 in Seattle, WA, USA. Much of the presentation involved showing tools and techniques outside the slide deck along with exercises that the participants would perform for learning purposes.
Um erfolgreich zu sein, müssen Test Manager mit der sich ständig entwickelnden Welt der SW-Entwicklung mithalten. Die Rollenbeschreibung des Test Managers – Planung, Steuerung und Berichterstattung der Aktivitäten im Test Prozess, mit Fokus auf die funktionalen Black-Box Tests – hat sich im letzten Jahrzehnt kaum verändert. Die Anforderungen an die Aufgabe dagegen haben sich drastisch verändert: Adoption von agilen Methoden durch immer schnellere Release-Zyklen; erhöhte Anforderungen im Bereich Sicherheit, Performanz und Usability; eine Vielzahl von “smarten” Geräten in den Händen der User. Und dabei handelt es sich nur um die offensichtlichsten.
Silvio Moser zeigt auf wie diese Trends die Art und Weise verändern wie wir Software entwickeln und testen. Dazu beschreibt er Strategien wie mit diesen Herausforderungen umgegangen werden kann. Test Manager müssen sich auf ein neues Berufsbild und somit neue Rolle einstellen: der Test Master. Während der “klassische” Test Manager hauptsächlich organisiert und kontrolliert, verhält sich der Test Master als Mediator, Moderator und Problemlöser. Stop managing and start mastering.
CdCon + GitOpsCon 2023 in Vancouver Canada. Slidedeck for the talk on Scaling Software Delivery: A framework for developer enablement through devRel and outreach.
Ben Walters - Creating Customer Value With Agile Testing - EuroSTAR 2011TEST Huddle
EuroSTAR Software Testing Conference 2011 presentation on Creating Customer Value With Agile Testing by Ben Walters. See more at: http://conference.eurostarsoftwaretesting.com/past-presentations/
Lean Software Development by DeKnowledge.net
-----------------------------------------------------------------------------
DeKnowledge is the leading provider of project management certifications training workshops and consultancy. In addition to our open enrollment certifications training workshops, we also offer a wide range of management, leadership and technical based courses that can be tailored to fit your organization's needs.
With offices in the USA, The Netherlands and India, we work with clients in USA, Europe, South Africa and Asia. Our mission is to help companies manage their projects/programs more effortlessly and efficiently. We do this by collaborating with our clients in the areas of portfolio/program and project management training workshops and consultancy.
Migrating Your Apps to the Cloud: How to do it and What to AvoidVMware Tanzu
Migrating your applications to the cloud can be a harrowing journey, one fraught with complexity and uncertainty. What’s required to succeed, above and beyond the right platform, are the right set of people, equipped with modern practices, to build and run cloud native applications with confidence.
Join Allison and Tom, from Pivotal's Application Transformation (AppTx) team, as they discuss what common problems arise when teams try to get their apps on the platform and the AppTx team approach to solving them.
Whether you have purchased PCF (Pivotal Cloud Foundry) or are of a mind to move your legacy applications to the cloud this webinar will help you understand:
● Why it’s imperative to have a small team dedicated to the application portfolio
● When to re-platform, modernize or rewrite an application
● Strategies to address the most common issues we see
Speakers:
Allison Willams, Pivotal Senior Solutions Architect
Tom Collings, Pivotal Advisory Solutions Architect
Tiara Ramadhani - Program Studi S1 Sistem Informasi - Fakultas Sains dan Tekn...Tiara Ramadhani
Tugas ini di buat untuk memenuhi salah satu tugas mata kuliah pada Program Studi S1 Sistem Informasi.
Oleh ;
Nama : Tiara Ramadhani.
NIM ; 11453201723
SIF VII E
UIN SUSKA RIAU
Agile Testing Framework - The Art of Automated TestingDimitri Ponomareff
Once your organization has successfully implemented Agile methodologies, there are two major areas that will require improvements: Continuous Integration and Automated Testing.
This presentation illustrates why it's important to invest in an Automated Testing Framework (ATF) to reduce technical debt, increase quality and accelerate time to market.
Learn more at www.agiletestingframework.com.
Cloud Native Java with Spring Cloud ServicesChris Sterling
Developing cloud-native applications presents several challenges. How do microservices discover each other? How do you configure them? How can you make them resilient to failure? How can you monitor the health of each microservice?
Spring Cloud addresses all of these concerns. Even so, you still must explicitly develop your own service registry to enable discovery, configuration server, and circuit breaker dashboard for monitoring the circuit breakers in each microservice.
Spring Cloud Services for Pivotal Cloud Foundry picks up where Spring Cloud leaves off, offering an out-of-the-box experience with service registry, configuration server, and circuit breaker dashboard services that can be bound to applications deployed in Pivotal Cloud Foundry. Now developers can focus on developing applications rather than microservices infrastructure. In this talk, we will introduce the capabilities provided by Spring Cloud Services and demonstrate how it makes simple work of deploying cloud-native applications to Cloud Foundry.
Right on the heels of the Manifesto for Agile Software Development, a new movement with the moniker DevOps has further advanced software delivery. Although the Agile software development movement brought iterative and incremental concepts to our industry, in many organizations its reach was relegated to only the application development teams. In many cases, this moved the bottlenecks in organizations from application development to release management, IT operations and business program and portfolio management decision making. This local optimization leads to real world application of Agile software development being perceived as unsuccessful and increased probability of being thrown away for the comfort in the illusions of control of plan-driven approaches.
The promise of DevOps is to further improve our ability to make holistic optimizations from business to software delivery to operations and ultimately increase feedback into our business decision making processes. This promise involves the application of The Three Ways as described by Gene Kim: Flow, Feedback and Continuous Experimentation and Learning. Even for those that were able to take advantage of Agile software development we can not sit on our laurels. We must embrace continuous improvement in order to fend off the effects of “Software is Eating the World” as Marc Andreessen pronounced. DevOps provides a view on the culture, practices, tools and processes for how valuable software is delivered, operated and evolved to enable competitive advantage.
From Zero to Continuous Validated Learning: Lean Startup on PaaSChris Sterling
This is a journey from idea to "validated learning”, implementing an idea and measuring for its expected effect on behavior. Cloud computing, Agile software development, and Lean Startup have all contributed to lowering the cost of learning and accelerating time to market for businesses. Platform as a Service (PaaS) is further accelerating the validated learning cycles in application development to increase successful business outcomes. We will show how to use Cloud Foundry as a PaaS and a Lean Startup approach to take us from zero to a valuable platform that helps us inspect and adapt our business based on validated learning.
* Using Lean Canvas to identify our first experiment
* Developing a Landing Page MVP application to run the first experiment
* Deploying to Cloud Foundry, a Platform as a Service (PaaS), for executing the experiment
* Measure the results of the experiment
* Reviewing the Lean Canvas to decide what we need to learn next
* Use a Blue/Green Deployment approach for updating our application
Microservices: Aren't Microservices Just SOA?Chris Sterling
The buzz around Microservices has blazed through the software development industry. Questions about whether its just SOA renamed and how micro is “micro” have blocked out the valuable principles of the Microservices architecture approach. This talk will focus on how Microservices architecture principles have extended beyond SOA and enable DevOps and Agile software development.
Reduce Time to Value: Focus First on Configuration Management DebtChris Sterling
The value of software is only potential value until it is in users’ hands. There can be many roadblocks to software getting into those hands. These roadblocks tend to revolve around elaborate deployment pipelines stemming from Configuration Management Debt:
* Over-burdened release engineering and operations teams
* High coupling with centrally managed architecture element/component
* Source control practices that impact delivery velocity
* Too many variations/versions of the software supported in production
* Poor integration processes across architecture components and scaled team delivery
* Too many hand-offs between teams in order to release software to users
* Code changes feel too risky and takes too long to validate before releasing into production
* Poor documentation practices
In organizations that have effective configuration management practices it is common to see deployment pipelines that have a smaller number of hand-offs between teams, architectures that tend to be more malleable, and efficient validation processes. By focusing on reducing Configuration Management Debt it is simpler to identify aspects of the integration and release management process that need to be tackled in order to get working software in the hands of users sooner while reducing the bottlenecks in the organizational processes and practices.
In this session we will discuss specific approaches and examples on how reducing Configuration Management Debt leads to reducing other forms of software debt including:
* Smaller number of hand-offs: Platform Experience Debt
* Malleable architectures: Design Debt
* Efficient validation processes: Quality Debt
* More testable software: Technical Debt
Agile teams speak in points and iterations, but project and business managers think in terms of dates and dollars. This conceptual and language barrier makes strategic business planning, funding, and project status reporting a significant challenge for Agile teams. Because of these barriers, many successful Agile/Scrum initiatives are discontinued or never expanded.
This is a 45 minute presentation I will be delivering at a company-wide meeting to discuss:
* How push-button release was used to help entire enterprise go from 6 month to 1 week release cycles
* How a "No Defect" team policy with ATDD drives greater productivity
The 1st class of Spring Quarter Agile CP202 slides including:
* User Stories
* Acceptance Criteria
* INVEST Model
* Splitting User Stories
* Abuse Stories
This presentation shows the basic steps to TDD, when to integrate with team members, why TDD is hard to implement, and an example of writing tests and code using TDD.
Even tho Pi network is not listed on any exchange yet.
Buying/Selling or investing in pi network coins is highly possible through the help of vendors. You can buy from vendors[ buy directly from the pi network miners and resell it]. I will leave the telegram contact of my personal vendor.
@Pi_vendor_247
how to sell pi coins in South Korea profitably.DOT TECH
Yes. You can sell your pi network coins in South Korea or any other country, by finding a verified pi merchant
What is a verified pi merchant?
Since pi network is not launched yet on any exchange, the only way you can sell pi coins is by selling to a verified pi merchant, and this is because pi network is not launched yet on any exchange and no pre-sale or ico offerings Is done on pi.
Since there is no pre-sale, the only way exchanges can get pi is by buying from miners. So a pi merchant facilitates these transactions by acting as a bridge for both transactions.
How can i find a pi vendor/merchant?
Well for those who haven't traded with a pi merchant or who don't already have one. I will leave the telegram id of my personal pi merchant who i trade pi with.
Tele gram: @Pi_vendor_247
#pi #sell #nigeria #pinetwork #picoins #sellpi #Nigerian #tradepi #pinetworkcoins #sellmypi
Empowering the Unbanked: The Vital Role of NBFCs in Promoting Financial Inclu...Vighnesh Shashtri
In India, financial inclusion remains a critical challenge, with a significant portion of the population still unbanked. Non-Banking Financial Companies (NBFCs) have emerged as key players in bridging this gap by providing financial services to those often overlooked by traditional banking institutions. This article delves into how NBFCs are fostering financial inclusion and empowering the unbanked.
Turin Startup Ecosystem 2024 - Ricerca sulle Startup e il Sistema dell'Innov...Quotidiano Piemontese
Turin Startup Ecosystem 2024
Una ricerca de il Club degli Investitori, in collaborazione con ToTeM Torino Tech Map e con il supporto della ESCP Business School e di Growth Capital
The secret way to sell pi coins effortlessly.DOT TECH
Well as we all know pi isn't launched yet. But you can still sell your pi coins effortlessly because some whales in China are interested in holding massive pi coins. And they are willing to pay good money for it. If you are interested in selling I will leave a contact for you. Just telegram this number below. I sold about 3000 pi coins to him and he paid me immediately.
Telegram: @Pi_vendor_247
how to sell pi coins in all Africa Countries.DOT TECH
Yes. You can sell your pi network for other cryptocurrencies like Bitcoin, usdt , Ethereum and other currencies And this is done easily with the help from a pi merchant.
What is a pi merchant ?
Since pi is not launched yet in any exchange. The only way you can sell right now is through merchants.
A verified Pi merchant is someone who buys pi network coins from miners and resell them to investors looking forward to hold massive quantities of pi coins before mainnet launch in 2026.
I will leave the telegram contact of my personal pi merchant to trade with.
@Pi_vendor_247
what is the best method to sell pi coins in 2024DOT TECH
The best way to sell your pi coins safely is trading with an exchange..but since pi is not launched in any exchange, and second option is through a VERIFIED pi merchant.
Who is a pi merchant?
A pi merchant is someone who buys pi coins from miners and pioneers and resell them to Investors looking forward to hold massive amounts before mainnet launch in 2026.
I will leave the telegram contact of my personal pi merchant to trade pi coins with.
@Pi_vendor_247
how can I sell pi coins after successfully completing KYCDOT TECH
Pi coins is not launched yet in any exchange 💱 this means it's not swappable, the current pi displaying on coin market cap is the iou version of pi. And you can learn all about that on my previous post.
RIGHT NOW THE ONLY WAY you can sell pi coins is through verified pi merchants. A pi merchant is someone who buys pi coins and resell them to exchanges and crypto whales. Looking forward to hold massive quantities of pi coins before the mainnet launch.
This is because pi network is not doing any pre-sale or ico offerings, the only way to get my coins is from buying from miners. So a merchant facilitates the transactions between the miners and these exchanges holding pi.
I and my friends has sold more than 6000 pi coins successfully with this method. I will be happy to share the contact of my personal pi merchant. The one i trade with, if you have your own merchant you can trade with them. For those who are new.
Message: @Pi_vendor_247 on telegram.
I wouldn't advise you selling all percentage of the pi coins. Leave at least a before so its a win win during open mainnet. Have a nice day pioneers ♥️
#kyc #mainnet #picoins #pi #sellpi #piwallet
#pinetwork
what is the future of Pi Network currency.DOT TECH
The future of the Pi cryptocurrency is uncertain, and its success will depend on several factors. Pi is a relatively new cryptocurrency that aims to be user-friendly and accessible to a wide audience. Here are a few key considerations for its future:
Message: @Pi_vendor_247 on telegram if u want to sell PI COINS.
1. Mainnet Launch: As of my last knowledge update in January 2022, Pi was still in the testnet phase. Its success will depend on a successful transition to a mainnet, where actual transactions can take place.
2. User Adoption: Pi's success will be closely tied to user adoption. The more users who join the network and actively participate, the stronger the ecosystem can become.
3. Utility and Use Cases: For a cryptocurrency to thrive, it must offer utility and practical use cases. The Pi team has talked about various applications, including peer-to-peer transactions, smart contracts, and more. The development and implementation of these features will be essential.
4. Regulatory Environment: The regulatory environment for cryptocurrencies is evolving globally. How Pi navigates and complies with regulations in various jurisdictions will significantly impact its future.
5. Technology Development: The Pi network must continue to develop and improve its technology, security, and scalability to compete with established cryptocurrencies.
6. Community Engagement: The Pi community plays a critical role in its future. Engaged users can help build trust and grow the network.
7. Monetization and Sustainability: The Pi team's monetization strategy, such as fees, partnerships, or other revenue sources, will affect its long-term sustainability.
It's essential to approach Pi or any new cryptocurrency with caution and conduct due diligence. Cryptocurrency investments involve risks, and potential rewards can be uncertain. The success and future of Pi will depend on the collective efforts of its team, community, and the broader cryptocurrency market dynamics. It's advisable to stay updated on Pi's development and follow any updates from the official Pi Network website or announcements from the team.
If you are looking for a pi coin investor. Then look no further because I have the right one he is a pi vendor (he buy and resell to whales in China). I met him on a crypto conference and ever since I and my friends have sold more than 10k pi coins to him And he bought all and still want more. I will drop his telegram handle below just send him a message.
@Pi_vendor_247
3. Chris
Sterling
Co-‐founder
&
CTO
of
Agile
Advantage
www.AgileAdvantage.com
Author
of
Book
“Managing
SoHware
Debt:
Building
for
Inevitable
Change”
Consults
on
soHware
technology,
Agile
technical
pracOces,
Scrum,
and
effecOve
management
techniques
InnovaOon
Games®
Trained
Facilitator Email:
chris@agileadvantage.com
Web:
h<p://www.agileadvantage.com
CerOfied
Scrum
Trainer Follow
me
on
Twi)er:
@csterwa
Blog:
h<p://www.ge?ngagile.com
Open
Source
Developer Hashtag
for
presentaOon:
#swdebt
3
4. Agenda
Managing
SoHware
Debt • ConOnuous
IntegraOon
• An
Overview • Quality
Dashboards
Types
of
SoHware
Debt Release
Management
• Technical • The
Power
of
2
Scripts:
Deploy
• Quality and
Rollback
• ConfiguraOon
Management • ConOnuous
IntegraOon
• Design • Automated
PromoOon
• PlaZorm
Experience • Turn
On/Off
Features
AsserOng
Quality
&
Design Wrap
Up
• Refactoring • SoHware
Debt
Management
Strategy
• Test
AutomaOon
• The
“No
Defect”
Mindset
• DefiniOon
of
Done
4
6. THE
DISECONOMIES
OF
SCALE
IN
SOFTWARE
DEVELOPMENT*
Project
size
is
easily
the
most
significant
determinant
of
effort,
cost
and
schedule
[for
a
soHware
project].*
*
“SoHware
EsOmaOon:
DemysOfying
the
Black
Art
“
–
Steve
McConnell
7. Big
Ball
of
Mud
“A
Big
Ball
of
Mud
is
a
haphazardly
structured,
sprawling,
sloppy,
duct-‐tape-‐and-‐baling-‐wire,
spaghei-‐code
jungle.
These
systems
show
unmistakable
signs
of
unregulated
growth,
and
repeated,
expedient
repair.
InformaOon
is
shared
promiscuously
among
distant
elements
of
the
system,
oHen
to
the
point
where
nearly
all
the
important
informaOon
becomes
global
or
duplicated.
The
overall
structure
of
the
system
may
never
have
been
well
defined.
If
it
was,
it
may
have
eroded
beyond
recogniOon.
Programmers
with
a
shred
of
architectural
sensibility
shun
these
quagmires.
Only
those
who
are
unconcerned
about
architecture,
and,
perhaps,
are
comfortable
with
the
inerOa
of
the
day-‐to-‐day
chore
of
patching
the
holes
in
these
failing
dikes,
are
content
to
work
on
such
systems.”
*
*
Brian
Foote
and
Joseph
Yoder,
Big
Ball
of
Mud.
Fourth
Conference
on
Pa)erns
Languages
of
Programs
(PLoP
'97/EuroPLoP
'97)
MonOcello,
Illinois,
September
1997
8.
9. Lack
of
emphasis
on
so'ware
quality
a2ributes
contributes
to
decay
10. Types
of
So)ware
Debt
Technical,
Quality,
ConfiguraOon
Management,
Design,
and
PlaZorm
Experience
11. Why
not
just
call
it
all
“ Technical
Debt”
Technical
debt
tended
to
focus
more
on
programming
aspects
of
soHware
delivery
and
leH
out
full
soHware
development
life
cycle
Each
type
of
soHware
debt
can
be
managed
and
monitored
using
different
tools
and
approaches
Focusing
on
managing
each
type
of
soHware
debt
simplifies
creaOon
of
an
overall
strategy
that
promotes
holisOc
perspecOve
11
12. Types
of
SoHware
Debt
Technical
Debt:
These
are
the
acOviOes
that
a
team
or
team
members
take
shortcuts
on
now
that
will
impede
future
development
if
leH
as
is.
Quality
Debt:
There
is
a
diminishing
ability
to
verify
the
funcOonal
and
technical
quality
of
soHware:
the
“Break/Fix”
mentality.
Configura<on
Management
Debt:
IntegraOon
and
release
management
become
more
risky,
complex,
and
error-‐prone.
Design
Debt:
The
cost
of
adding
features
is
increasing
toward
the
point
where
it
is
more
than
the
cost
of
wriOng
from
scratch.
Pla?orm
Experience
Debt:
The
availability
and
alignment
of
people
to
business
objecOves
that
involve
soHware
changes
is
becoming
more
limited
or
cost-‐prohibiOve.
8
13. Exercise:
Discuss
the
5
Types
of
SoHware
Debt
and
Examples
You’ve
Seen
in
the
Real
World
14. Principle:
No
ma)er
what,
the
cost
of
addressing
soHware
debt
increases
with
Ome.
15. Asser<ng
Quality
&
Design
Teams
must
focus
on
asserOng
sustainable
quality
and
design
to
support
future
customer
needs
16. Principles
of
Executable
Design
The
way
we
design
can
always
be
improved.
We’ll
get
it
“right”
around
the
third
Ome.
We
most
likely
won’t
get
it
“right”
the
first
Ome.
Design
and
construct
for
change
rather
than
longevity.
Lower
the
threshold
of
pain.
If
we
are
not
enhancing
the
design
then
we
are
just
wri3ng
a
bunch
of
tests.
16
17. Merciless
Refactoring
Refactoring:
a
disciplined
technique
for
restructuring
an
exisOng
body
of
code,
altering
its
internal
structure
without
changing
its
external
behavior.*
Merciless:
having
or
showing
no
[mercy
-‐
showing
great
kindness
toward
the
distressed]
Relieve
your
distressed
code
through
kindness
and
disciplined
restructuring
*
From
h)p://www.refactoring.com/
17
18. Where
to
Start
Refactoring?
Does
this
change
directly
affect
feature
I
am
working
on?
Would
change
add
clarity
for
feature
implementaOon?
Will
change
add
automated
tests
where
there
are
none?
If
“yes”
to
any
ques3on
above,
ask
following
ques3on
to
decide
if
you
should
work
on
it
now:
At
first
glance,
does
refactoring
look
like
a
large
endeavor
involving
significant
porOons
of
the
soHware’s
components?
18
19. When
to
Stop
Refactoring?
Am
I
refactoring
code
not
directly
affected
by
feature?
Is
other
code
directly
affected
by
feature
I
am
working
on
that
has
not
been
refactoring
sufficiently?
If
refactoring
is
exploding
feature
esOmate
given
to
Customer
then
I
should
bring
it
up
to
Team
to
decide
how
we
should
progress
If
Team
decides
that
refactoring
can
be
absorbed
into
current
iteraOon
without
affecOng
delivery
on
our
commitments
then
conOnue
refactor
If
refactoring
affects
commitments
then
bring
it
to
Customer
for
discussion
how
to
proceed
19
20. Automate
TesOng
to
Support
Refactoring
cannot
be
done
effecOvely
without
automated
tests
surrounding
code
Start
by
creaOng
automated
test
which
fails
If
difficult
to
create
at
unit
level
look
at
automated
acceptance
tests
from
funcOonal
perspecOve
Over
Ome
look
for
ways
to
create
automated
unit
tests
20
21. Case
Study:
Test
AutomaOon
Reduces
Cost
of
Change
22. Manual
Regression
TesOng
TesOng
was
taking
75
person
hours
during
2
full
test
runs
consisOng
of:
• Comprehensive
manual
regression
tesOng
• Data
conversion
and
validaOon
Cost
for
tesOng
was
$17,000
each
iteraOon
22
23. Introducing
Fit
into
TesOng
Process
AHer
8
iteraOons
team
had
introduced
healthy
amount
of
Fit
fixtures
and
automated
tests
Reduced
70+
hour
test
runOme
down
to
6
hours
which
now
included:
• Fit
automated
regression
tesOng
• Data
conversion
and
validaOon
automated
with
Fit
fixtures
Reduced
cost
of
tesOng
each
iteraOon
from
$17,000
to
$7,000
23
24. The
Agile
Regression
TesOng
Triangle*
Smoke++
Tests
Risk-‐based
UI
&
API
Automated Integra3on
Tests
Tests Automated
&
Exploratory
Automated
Unit
Tests
Make
up
largest
porOon
of
regression
tests
and
are
developed
by
programmers
*
The
Agile
Triangle
has
been
modified
from
Mike
Cohn’s
original
version
24
26. TDD
-‐
Basic
“Flow”
Write
Failing
Test
Refactor
to
Acceptable
Make
Test
Pass
Design
26
27. Ji)er
–
Example
TDD
Session
Fake
micro-‐blogging
tool
named
“Ji)er”
is
made
by
Sea)le-‐based
ficOOous
company
that
focuses
on
enabling
coffee
injected
folks
to
write
short
messages
and
have
common
online
messaging
shorthand
expanded
for
easy
reading.
The
user
story
we
are
working
on
is:
So
it
is
easier
to
read
their
kid’s
messages,
Mothers
want
to
automa3cally
expand
common
shorthand
nota3on
The
acceptance
criteria
for
this
user
story
are:
• LOL,
AFAIK,
and
TTYL
are
expandable
• Expand
lower
and
upper
case
versions
of
shorthand
27
28. Expand
LOL
to
“laughing
out
loud”
public class WhenMotherWantsToExpandMessagesThatContainShorthandTest {
@Test
public void shouldExpandLOLToLaughingOutLoud() {
JitterSession session = mock(JitterSession.class);
when(session.getNextMessage()).thenReturn("Expand LOL please");
MessageExpander expander = new MessageExpander(session);
assertThat(expander.getNextMessage(),
equalTo("Expand laughing out loud please"));
}
}
public class MessageExpander {
public String getNextMessage() {
String msg = session.getNextMessage();
return msg.replaceAll("LOL", "laughing out loud");
}
}
28
29. But
wait…what
if…?
What
if
LOL
is
wri)en
in
lower
case?
What
if
it
is
wri)en
as
“Lol”?
Should
it
be
expanded?
What
if
some
variaOon
of
LOL
is
inside
a
word?
What
if
characters
surrounding
LOL
are
symbols,
not
le)ers?
Write
these
down
as
upcoming
programmer
tests
as
comments
so
I
don’t
forget
them.
// shouldExpandLOLIfLowerCase
// shouldNotExpandLOLIfMixedCase
// shouldNotExpandLOLIfInsideWord
// shouldExpandIfSurroundingCharactersAreNotLetters
29
30. Expand
LOL
If
Lower
Case
@Test
public void shouldExpandLOLIfLowerCase() {
when(session.getNextMessage()).thenReturn("Expand lol please");
MessageExpander expander = new MessageExpander(session);
assertThat(expander.getNextMessage(),
equalTo("Expand laughing out loud please"));
}
This
forced
use
of
java.u1l.regex.Pa6ern
to
handle
case
insensi1vity.
public String getNextMessage() {
String msg = session.getNextMessage();
return Pattern.compile("LOL”, Pattern.CASE_INSENSITIVE)
.matcher(msg).replaceAll("laughing out loud");
}
30
31. Don’t
Expand
“Lol”
–
Mixed-‐Case
@Test
public void shouldNotExpandLOLIfMixedCase() {
String msg = "Do not expand Lol please";
when(session.getNextMessage()).thenReturn(msg);
MessageExpander expander = new MessageExpander(session);
assertThat(expander.getNextMessage(), equalTo(msg));
}
This
forced
me
to
stop
using
Pa6ern.CASE_INSENSITIVE
flag
in
pa6ern
compila1on.
Only
use
“LOL”
or
“lol”
for
now.
public String getNextMessage() {
String msg = session.getNextMessage();
return Pattern.compile("LOL|lol").matcher(msg)
.replaceAll("laughing out loud");
}
31
32. Don’t
Expand
“LOL”
If
Inside
Word
@Test
public void shouldNotExpandLOLIfInsideWord() {
String msg = "Do not expand PLOL or LOLP or PLOLP please";
when(session.getNextMessage()).thenReturn(msg);
MessageExpander expander = new MessageExpander(session);
assertThat(expander.getNextMessage(), equalTo(msg));
}
The
pa6ern
matching
is
now
modified
to
use
spaces
around
each
varia1on
of
valid
LOL
shorthand.
return Pattern.compile("sLOLs|slols").matcher(msg)
.replaceAll("laughing out loud");
32
33. Expand
“LOL”
If
Not
Inside
Word
@Test
public void shouldExpandIfSurroundingCharactersAreNotLetters() {
when(session.getNextMessage()).thenReturn("Expand .lol! please");
MessageExpander expander = new MessageExpander(session);
assertThat(expander.getNextMessage(),
equalTo("Expand .laughing out loud! please"));
}
Final
implementa1on
of
pa6ern
matching
code:
return Pattern.compile("bLOLb|blolb").matcher(msg)
.replaceAll("laughing out loud");
33
34. Quality
Debt
“Promises
make
debt,
and
debt
makes
promises.”
-‐
Dutch
Proverb
36. Ken
Schwaber
“For
every
[dollar]
of
compe22ve
advantage
gained
by
cu9ng
quality,
it
costs
$4
to
restore
it;
and
so@ware
is
an
organiza2onal
asset
and
decisions
to
cut
quality
must
be
made
by
execu2ve
management
and
reflected
in
the
financial
statements.”
hIp://www.infoq.com/presenta2ons/agile-‐quality-‐canary-‐coalmine
38. DefiniOon
of
Done
-‐
Assert
Quality
Acceptance defined criteria for each Code checked in with reference to
user story US#/Task#
Unit tests written and passed Tested on FE
Code compiles with no errors and no Integration test written & passes
warnings
Test code reviewed
New code doesn’t break existing code
Environment requirements documented
Test case review (Dev to review test
Interface document updated/added
case written)
and checked in to SVN
Architectural impact assessed and
Acceptance criteria verified complete
artifacts updated if necessary
All P1-P3 bugs for the story are
Comments in code
closed
Error codes added
Test approves user story
Code reviewed by peer
Story demonstrated to product owner
and accepted on Target Platform
38
39. Release
DefiniOon
of
Done
Every
release
should
have
clear
quality
criteria
With
a
“Release
DefiniOon
of
Done”
you
can
understand
targets
be)er
Measure
the
gap
between
the
teams’
DefiniOon
of
Done
and
a
Release
DefiniOon
of
Done.
• This
gap
is
a
source
of
quality
issues
and
represents
significant
risk
to
schedule
47. Early
Warning
Signs
Early
Warnings:
•Broken
Builds
•Broken
Automated
Tests
•Broken
Custom
Thresholds
47
48. Early
Warning
on
Quality
Dashboard
Early
Warnings:
•Design
Debt
in
DuplicaOon
(DRY)
•Technical
Debt
in
Code
Complexity
•Quality
Debt
in
Bug
DB
(Break/Fix)
•Other
Custom
Thresholds
48
49. Release
Management
“If
releases
are
like
giving
birth,
then
you
must
be
doing
something
wrong.”
-‐
Robert
Benefield
50. Case
Study:
Enterprise
Agile
AdopOon
180+
person
“Web
2.0”
product
organizaOon
Waterfall
SDLC
that
development
uses
to
deliver
in
6
month
release
cycles
Want
to
use
Agile
methods
to
be
more
responsive
to
users
and
keep
up
with
other
“Web
2.0”
companies
TransiOoned
to
Agile
methods
on
15
teams
in
3
months
Changed
release
management
strategy,
added
XP
technical
pracOces,
and
implemented
Scrum
product
development
framework
for
scaled
coordinaOon
Able
to
release
every
week
to
users
within
4
months
Used
streamlined
deployment
environment
process
to
validate
product
changes
daily
using
ConOnuous
IntegraOon
and
automated
promoOons
50
52. TradiOonal
Source
Control
Management
Code
Complete
Version
1 Integrate
for
Branch Version
2
Debt Main
Branch
Death
March
{
Debt
accrues
quickly
within
stabiliza<on
periods
52
53. Flexible
Source
Control
Management
Version 1 Version 2
Main Branch
{
Not Easy! Must have proper infrastructure to do this.
53
56. Principle:
The
value
of
technical
aspects
in
an
applicaOon
or
its
surrounding
infrastructure
is
the
cost
of
not
addressing
them.
29
57. Describe
as
Abuse
User
Stories
Implement Security As a Malicious Hacker I
want to steal credit card
for User Information
information so that I can
make fraudulent charges
*
From
“User
Stories
Applied”
presented
by
Mike
Cohn
Agile
2006
30
58. Some
PotenOal
Abusers
• Malicious
Hacker
• Mass
of
users
• SQL
injector
• Disgruntled
employee
• Naïve
API
user
• ImpaOent
clicker
• Denial-‐of-‐service
(DoS)
a)acker
• Sleazy
user
31
62. Exercise:
Focusing
on
SoHware
Quality
A)ributes
63. Pla?orm
Experience
Debt
“As
in
Nature,
if
an
organizaOon
is
too
inflexible
or
stands
sOll
too
long
it
will
get
eaten.”
-‐
James
Burke
(author
and
historian)
64. Principle:
Rather
than
creaOng
teams
to
work
on
projects,
let’s
find
ways
to
give
projects
to
cross-‐
funcOonal
teams.
65. Component
Team
ConfiguraOon
“Component
Team”
structure
Separate
Product
Backlog
Managing
dependencies
is
oHen
serialized
ProblemaOc
integraOon
issues
are
typically
faced
if
mulOple
components
are
required
to
release
Use
an
“IntegraOon
Team”
to
pull
components
together
Causes
more
rework
than
“Feature
Team”
structure
65
66. Feature
Team
ConfiguraOon
“Feature
Team”
structure
Uses
common
Product
Backlog
Integra2on
is
done
in
parallel
Requires
high
levels
of
communica2on
across
teams
to
resolve
integra2on
issues
Forces
Product
Owners
to
be
more
coordinated
Sprints
should
be
synchronized
Cross
team
fer2liza2on
is
a
requirement
to
successfully
deliver
in
parallel
66
67. Exercise:
CreaOng
a
SoHware
Debt
Management
Strategy
68. The
“No
Defect”
Mindset
“What
he
needs
is
some
way
to
pay
back.
Not
some
way
to
borrow
more.”
-‐-‐
Will
Rogers
39
69. Case
Study:
Field
Support
ApplicaOon
2000+
users
access
applicaOon
each
day
ApplicaOon
supports
mulOple
perspecOves
and
workflows
from
Field
Support
OperaOons
to
Customer
Service
Team
of
5
people
delivering
features
on
exisOng
Cold
Fusion
plaZorm
implementaOon
MigraOng
Architecture
to
Spring/Hibernate
in
slices
while
sOll
delivering
valuable
features
36
2-‐week
Sprints,
33
producOon
releases,
and
only
1
defect
found
in
producOon
So,
what
was
the
defect
you
say?
Let
me
tell
you…
40
70. Can
We
Afford
a
“No
Defect”
Policy?
This
team
worked
on
legacy
codebase
inherited
from
another
vendor
Other
vendor
had
been
slowing
down
month
aHer
month
and
cost
of
development
was
increasing
In
first
iteraOon
this
team
was
able
to
deliver
more
than
other
vendor
was
able
to
in
previous
2
months
AHer
24
iteraOons
this
team
was
10
Omes
faster
delivery
than1st
iteraOon
Acceptance
Test-‐Driven
Development
and
ConOnuous
IntegraOon
were
greatest
technical
factors
to
support
team
in
these
results
Can
you
afford
not
to
have
a
“No
Defect”
policy?
41