Date post: | 16-Apr-2017 |
Category: |
Technology |
Upload: | lemi-orhan-ergin |
View: | 19,747 times |
Download: | 0 times |
software development practicesGMO
the art of developing software in a natural way
Lemİ Orhan ERGİNPrincipal Software Engineer Sony
lemiorhan
lsquoLESS
Lemİ Orhan Ergİn
Principal Software Engineer in Sony
has worked in Tuumlsside BYM GittiGidiyoreBay and Sony as developer team leader technical coordinator and scrum master
got CSM certificate from Jim Coplien
year as Scrum Master
sprints and 4 years as team member and scrum master
experienced in agile transformation and building agile culture in teams amp organizations
2001
2013
20091
56
agile
lemiorhan
projectsfailedHave you ever had
We wonrsquot make it we need extra timeI know itrsquos impossible but wersquove already promisedWe have to cancel the project before going liveWe are facing critical bugs in productionWe have to re-write the project from scratchNo one knows when the project will be finishedIt was obvious that the project was going to failEverything was going fine but what the
ldquo
rdquoProject management Team
Itrsquos very expensive to add these featuresOne guy left and the project failedPeople in development team is always changingTechnology and design of the project are too oldI fixed a bug and new ones appearedNo one has touched some modules for yearsI cannot add new features while fixing bugs all dayWe are doing same manual tests again and again
ldquo
rdquoSoftware Developer
11I have worked in enterprise level projects in my career
B2B ecommerce site for the mould industryIBM based product management systemProduct management system for EuropeDocument management system for militaryMarketing sites for European countriesCommon toolbar for European countriesBackend services components and APIsCommon data services for EuropeCommon syndication services for EuropeCore data services for US and CanadaVertical ecommerce module
Each one isat least
6 monthsprojects
B2B ecommerce site for the mould industryIBM based product management systemProduct management system for EuropeDocument management system for militaryMarketing sites for European countriesCommon toolbar for European countriesBackend services components and APIsCommon data services for EuropeCommon syndication services for EuropeCore data services for US and CanadaVertical ecommerce module
6 of themcancelled before go-live
closed after a whilewill be closed soon
55
are failingSoftware projects
ldquo50 of IT projects go into trash in TurkeyrdquoAgile Turkey
mercer consulting
ldquoWhen the real costs are added up 80 of the technology projects costs more than they returnrdquo
why
of reasons to faila lotwe have
companypolitics
some of themare due to
we are unable to do anything here
developingsoftware in unnatural way
but the reason of all the others is
agendaThe Nature of SoftwareNaturalness of Software AgilityAgile Software Development Practices
The nature of software
and 9 main rules
The ultimate goal iscustomer satisfaction
1
Customers have rights to get software developed with the
features they need in a fast way
of course you might not satisfy your
customer at this level thatrsquos fine
In general the customersdo not know
what they really want
2
UNCERTAINITYexists in every step of development process
3
requirements
always change
4
Start Point
Target Point
2
1
3
Software development is not just
5
Programming
Software should always be
maintainedafter go live
6
Software development is asocial activity
7
BIG-Up-front detailed estimation amp Design are
UNNECESSARY
8
ıncreases total real cost9 compromising quality
agilityconcept emerges for helping developers
to let them develop in natural way
agendaThe Nature of SoftwareNaturalness of Software AgilityAgile Software Development Practices
agilewhat is
Agile meansAdapting to change
rapidlyand sending a feature or a fix to market rapidly
agile meansevolving design and
development
Agile development is not onlyabout project planning
Project planning is just a part of agile software development
Agile software developmentAgile planning and managementSoftware development practices
Customer satisfactionTeamworkMotivation
this is the topic we are interested in
agendaThe Nature of SoftwareNaturalness of Software AgilityAgile Software Development Practices
working on the correct designwith newest and best technologies
in a short time
We aim to complete the projects by
However we always face with issues related withhumans
Getting feedback rapidlyAgile ve lean prenciples focus on the following
Speeding up feecback loops
Letrsquos develop a projectby using
agile development practices
See your developers not as resources but talents (No headcount calculation)Work with people who loves to share knowledge and experiences (Collaborative amp Volunteer)Educate people about agile practices and the philosophy behind (Up-Front Education)Build your team with passionate and disciplined developers (Passionate Developer)ldquoDonrsquot pick the right technology pick the one thatrsquos cheapest to changerdquo by chris matts
Before the start
Developer
Business Analyst
Tester
Product Owner
Developer
Make teams with cross functional people (Cross functional teams)Sit close to your team mates (Sitting CLOSE)Define the minimum set of features that you can get feedback (Minimum Viable Product) Focus on features valuable to the customer (Prioritization)Avoid doing big fat up-front design (Short Up-Front Design)Document enough donrsquot go deep into details (Agile Documentation)
Letrsquos start the project
Business Analyst
Tester
Keep your code in a version control system (Version Control System)Program in pairs (Pair Programming)Review othersrsquo code (CodePeer Review)Develop each feature in a new branch (Code Branching)Follow clean code principles (Clean Code Principles)Do code katas to improve your technical capabilities (Code Kata)Use idiomatic and architectural patterns in addition to design patterns (Idiomatic Patterns)Develop from customersrsquo point of view by BDD (Behaviour Driven Development)Develop from developersrsquo point of view by TDD (Test Driven Development)
Software development and social coding
VersionControlSystem
Developer
Business Analyst
Tester
Pull othersrsquo commits and integrate with yours at least once a day (Continuous Integration)Let the existing tests run automatically and get feedback about the failed ones (Continuous Build)Detect untested areas in your code and improve the code coverage (Code Coverage)Donrsquot afraid of deleting code improve your design with the help of written tests (Refactoring)Full feedback loop of continous integration should take at most 10 minutes (10 min build)
Continuous Integration
Messaging Services (emails messages)
VersionControlSystem
ContinuousDeployment
Developer
Business Analyst
Tester
Prepare a working copy of your software available in your CVS (SNAPSHOTs daily builds)Make the latest working copy of your software ready for deployment (Continuous delivery)
Continuous Delivery
Package Repository
Messaging Services (emails messages)
VersionControlSystem
ContinuousDeployment
Developer
Business Analyst
Tester
DEV TEST amp QA STAGING PROD
Prepare an environment where developers can do experiments and test their code (DEV)Have an environment where performance and load tests can be done (TESTQUALITY ASSURANCE)User acceptance tests should be done on an environment similar to production (STAGINGUATSIT)
Development Environments
Package Repository
Messaging Services (emails messages)
VersionControlSystem
Make releases frequently (SHORT RELEASES)Deploy your applications with one click (Continuous DEPLOYMENT)Shorten release and boot times of your software (Fast bootup)Raise DevOps that knows software development and IT operations at the same time (DEVOPS)
Release Management amp Deployments
DEV
TEST amp QA
STAGING
PROD
ContinuousDeployment
Developer
Business Analyst
Tester
Clouds force you to follow the practices to some extent
Software development on clouds
DevOpsDevOps DevOps DevOps
VersionControlSystem
Developer
Business Analyst
Tester
You cannot talk about agility without eXtreme Programming practices And XP can only be achieved by pashioned programmers
last words
ldquordquoİsa Goumlksu
Agile Practice Lead
Photos used in the slidES
httpwwwflickrcomphotosemmanuelecontini2558211856httpwwwflickrcomphotosthecampbells5103649471httpwwwflickrcomphotosrobbiemacphotos7875854334httpwwwflickrcomphotosw4nd3rl0st7174403872https590photobucketcomuserasmithjmediaCPCgirl_2_computer_arms_raised2jpghtmlhttpwwwflickrcomphotosusnavy5488581781httpwwwflickrcomphotospurplemattfish3489639831httpwwwflickrcomphotosthomashawk7215052318httpwwwflickrcomphotosnuwandalice4764805046httpwwwflickrcomphotoslauter-als-der-rest6898114788httpwwwflickrcomphotos31288116N024008216690httpwwwflickrcomphotosa2gemma1448178195httpwwwflickrcomphotosnuudls3281779141
Lemİ orhan ergİnlemiorhanagilistanbulcom
lemiorhan
lemiorhan
agilistanbulcom
lemiorhan
LINKE
DIN
TWITT
ERSL
IDES
HARE
BLOG
Principal Software Engineer SonyFounder amp Author agilistanbulcom
flyingtomooncom
The slides were presented on 13th of June 2013 at Agile Talks which is a set of seminars organized by Agile Turkey few times in a year in Turkey
The content of this presentation is originally in Turkish The author translated into English by purpose
Lemİ Orhan Ergİn
Principal Software Engineer in Sony
has worked in Tuumlsside BYM GittiGidiyoreBay and Sony as developer team leader technical coordinator and scrum master
got CSM certificate from Jim Coplien
year as Scrum Master
sprints and 4 years as team member and scrum master
experienced in agile transformation and building agile culture in teams amp organizations
2001
2013
20091
56
agile
lemiorhan
projectsfailedHave you ever had
We wonrsquot make it we need extra timeI know itrsquos impossible but wersquove already promisedWe have to cancel the project before going liveWe are facing critical bugs in productionWe have to re-write the project from scratchNo one knows when the project will be finishedIt was obvious that the project was going to failEverything was going fine but what the
ldquo
rdquoProject management Team
Itrsquos very expensive to add these featuresOne guy left and the project failedPeople in development team is always changingTechnology and design of the project are too oldI fixed a bug and new ones appearedNo one has touched some modules for yearsI cannot add new features while fixing bugs all dayWe are doing same manual tests again and again
ldquo
rdquoSoftware Developer
11I have worked in enterprise level projects in my career
B2B ecommerce site for the mould industryIBM based product management systemProduct management system for EuropeDocument management system for militaryMarketing sites for European countriesCommon toolbar for European countriesBackend services components and APIsCommon data services for EuropeCommon syndication services for EuropeCore data services for US and CanadaVertical ecommerce module
Each one isat least
6 monthsprojects
B2B ecommerce site for the mould industryIBM based product management systemProduct management system for EuropeDocument management system for militaryMarketing sites for European countriesCommon toolbar for European countriesBackend services components and APIsCommon data services for EuropeCommon syndication services for EuropeCore data services for US and CanadaVertical ecommerce module
6 of themcancelled before go-live
closed after a whilewill be closed soon
55
are failingSoftware projects
ldquo50 of IT projects go into trash in TurkeyrdquoAgile Turkey
mercer consulting
ldquoWhen the real costs are added up 80 of the technology projects costs more than they returnrdquo
why
of reasons to faila lotwe have
companypolitics
some of themare due to
we are unable to do anything here
developingsoftware in unnatural way
but the reason of all the others is
agendaThe Nature of SoftwareNaturalness of Software AgilityAgile Software Development Practices
The nature of software
and 9 main rules
The ultimate goal iscustomer satisfaction
1
Customers have rights to get software developed with the
features they need in a fast way
of course you might not satisfy your
customer at this level thatrsquos fine
In general the customersdo not know
what they really want
2
UNCERTAINITYexists in every step of development process
3
requirements
always change
4
Start Point
Target Point
2
1
3
Software development is not just
5
Programming
Software should always be
maintainedafter go live
6
Software development is asocial activity
7
BIG-Up-front detailed estimation amp Design are
UNNECESSARY
8
ıncreases total real cost9 compromising quality
agilityconcept emerges for helping developers
to let them develop in natural way
agendaThe Nature of SoftwareNaturalness of Software AgilityAgile Software Development Practices
agilewhat is
Agile meansAdapting to change
rapidlyand sending a feature or a fix to market rapidly
agile meansevolving design and
development
Agile development is not onlyabout project planning
Project planning is just a part of agile software development
Agile software developmentAgile planning and managementSoftware development practices
Customer satisfactionTeamworkMotivation
this is the topic we are interested in
agendaThe Nature of SoftwareNaturalness of Software AgilityAgile Software Development Practices
working on the correct designwith newest and best technologies
in a short time
We aim to complete the projects by
However we always face with issues related withhumans
Getting feedback rapidlyAgile ve lean prenciples focus on the following
Speeding up feecback loops
Letrsquos develop a projectby using
agile development practices
See your developers not as resources but talents (No headcount calculation)Work with people who loves to share knowledge and experiences (Collaborative amp Volunteer)Educate people about agile practices and the philosophy behind (Up-Front Education)Build your team with passionate and disciplined developers (Passionate Developer)ldquoDonrsquot pick the right technology pick the one thatrsquos cheapest to changerdquo by chris matts
Before the start
Developer
Business Analyst
Tester
Product Owner
Developer
Make teams with cross functional people (Cross functional teams)Sit close to your team mates (Sitting CLOSE)Define the minimum set of features that you can get feedback (Minimum Viable Product) Focus on features valuable to the customer (Prioritization)Avoid doing big fat up-front design (Short Up-Front Design)Document enough donrsquot go deep into details (Agile Documentation)
Letrsquos start the project
Business Analyst
Tester
Keep your code in a version control system (Version Control System)Program in pairs (Pair Programming)Review othersrsquo code (CodePeer Review)Develop each feature in a new branch (Code Branching)Follow clean code principles (Clean Code Principles)Do code katas to improve your technical capabilities (Code Kata)Use idiomatic and architectural patterns in addition to design patterns (Idiomatic Patterns)Develop from customersrsquo point of view by BDD (Behaviour Driven Development)Develop from developersrsquo point of view by TDD (Test Driven Development)
Software development and social coding
VersionControlSystem
Developer
Business Analyst
Tester
Pull othersrsquo commits and integrate with yours at least once a day (Continuous Integration)Let the existing tests run automatically and get feedback about the failed ones (Continuous Build)Detect untested areas in your code and improve the code coverage (Code Coverage)Donrsquot afraid of deleting code improve your design with the help of written tests (Refactoring)Full feedback loop of continous integration should take at most 10 minutes (10 min build)
Continuous Integration
Messaging Services (emails messages)
VersionControlSystem
ContinuousDeployment
Developer
Business Analyst
Tester
Prepare a working copy of your software available in your CVS (SNAPSHOTs daily builds)Make the latest working copy of your software ready for deployment (Continuous delivery)
Continuous Delivery
Package Repository
Messaging Services (emails messages)
VersionControlSystem
ContinuousDeployment
Developer
Business Analyst
Tester
DEV TEST amp QA STAGING PROD
Prepare an environment where developers can do experiments and test their code (DEV)Have an environment where performance and load tests can be done (TESTQUALITY ASSURANCE)User acceptance tests should be done on an environment similar to production (STAGINGUATSIT)
Development Environments
Package Repository
Messaging Services (emails messages)
VersionControlSystem
Make releases frequently (SHORT RELEASES)Deploy your applications with one click (Continuous DEPLOYMENT)Shorten release and boot times of your software (Fast bootup)Raise DevOps that knows software development and IT operations at the same time (DEVOPS)
Release Management amp Deployments
DEV
TEST amp QA
STAGING
PROD
ContinuousDeployment
Developer
Business Analyst
Tester
Clouds force you to follow the practices to some extent
Software development on clouds
DevOpsDevOps DevOps DevOps
VersionControlSystem
Developer
Business Analyst
Tester
You cannot talk about agility without eXtreme Programming practices And XP can only be achieved by pashioned programmers
last words
ldquordquoİsa Goumlksu
Agile Practice Lead
Photos used in the slidES
httpwwwflickrcomphotosemmanuelecontini2558211856httpwwwflickrcomphotosthecampbells5103649471httpwwwflickrcomphotosrobbiemacphotos7875854334httpwwwflickrcomphotosw4nd3rl0st7174403872https590photobucketcomuserasmithjmediaCPCgirl_2_computer_arms_raised2jpghtmlhttpwwwflickrcomphotosusnavy5488581781httpwwwflickrcomphotospurplemattfish3489639831httpwwwflickrcomphotosthomashawk7215052318httpwwwflickrcomphotosnuwandalice4764805046httpwwwflickrcomphotoslauter-als-der-rest6898114788httpwwwflickrcomphotos31288116N024008216690httpwwwflickrcomphotosa2gemma1448178195httpwwwflickrcomphotosnuudls3281779141
Lemİ orhan ergİnlemiorhanagilistanbulcom
lemiorhan
lemiorhan
agilistanbulcom
lemiorhan
LINKE
DIN
TWITT
ERSL
IDES
HARE
BLOG
Principal Software Engineer SonyFounder amp Author agilistanbulcom
flyingtomooncom
The slides were presented on 13th of June 2013 at Agile Talks which is a set of seminars organized by Agile Turkey few times in a year in Turkey
The content of this presentation is originally in Turkish The author translated into English by purpose
projectsfailedHave you ever had
We wonrsquot make it we need extra timeI know itrsquos impossible but wersquove already promisedWe have to cancel the project before going liveWe are facing critical bugs in productionWe have to re-write the project from scratchNo one knows when the project will be finishedIt was obvious that the project was going to failEverything was going fine but what the
ldquo
rdquoProject management Team
Itrsquos very expensive to add these featuresOne guy left and the project failedPeople in development team is always changingTechnology and design of the project are too oldI fixed a bug and new ones appearedNo one has touched some modules for yearsI cannot add new features while fixing bugs all dayWe are doing same manual tests again and again
ldquo
rdquoSoftware Developer
11I have worked in enterprise level projects in my career
B2B ecommerce site for the mould industryIBM based product management systemProduct management system for EuropeDocument management system for militaryMarketing sites for European countriesCommon toolbar for European countriesBackend services components and APIsCommon data services for EuropeCommon syndication services for EuropeCore data services for US and CanadaVertical ecommerce module
Each one isat least
6 monthsprojects
B2B ecommerce site for the mould industryIBM based product management systemProduct management system for EuropeDocument management system for militaryMarketing sites for European countriesCommon toolbar for European countriesBackend services components and APIsCommon data services for EuropeCommon syndication services for EuropeCore data services for US and CanadaVertical ecommerce module
6 of themcancelled before go-live
closed after a whilewill be closed soon
55
are failingSoftware projects
ldquo50 of IT projects go into trash in TurkeyrdquoAgile Turkey
mercer consulting
ldquoWhen the real costs are added up 80 of the technology projects costs more than they returnrdquo
why
of reasons to faila lotwe have
companypolitics
some of themare due to
we are unable to do anything here
developingsoftware in unnatural way
but the reason of all the others is
agendaThe Nature of SoftwareNaturalness of Software AgilityAgile Software Development Practices
The nature of software
and 9 main rules
The ultimate goal iscustomer satisfaction
1
Customers have rights to get software developed with the
features they need in a fast way
of course you might not satisfy your
customer at this level thatrsquos fine
In general the customersdo not know
what they really want
2
UNCERTAINITYexists in every step of development process
3
requirements
always change
4
Start Point
Target Point
2
1
3
Software development is not just
5
Programming
Software should always be
maintainedafter go live
6
Software development is asocial activity
7
BIG-Up-front detailed estimation amp Design are
UNNECESSARY
8
ıncreases total real cost9 compromising quality
agilityconcept emerges for helping developers
to let them develop in natural way
agendaThe Nature of SoftwareNaturalness of Software AgilityAgile Software Development Practices
agilewhat is
Agile meansAdapting to change
rapidlyand sending a feature or a fix to market rapidly
agile meansevolving design and
development
Agile development is not onlyabout project planning
Project planning is just a part of agile software development
Agile software developmentAgile planning and managementSoftware development practices
Customer satisfactionTeamworkMotivation
this is the topic we are interested in
agendaThe Nature of SoftwareNaturalness of Software AgilityAgile Software Development Practices
working on the correct designwith newest and best technologies
in a short time
We aim to complete the projects by
However we always face with issues related withhumans
Getting feedback rapidlyAgile ve lean prenciples focus on the following
Speeding up feecback loops
Letrsquos develop a projectby using
agile development practices
See your developers not as resources but talents (No headcount calculation)Work with people who loves to share knowledge and experiences (Collaborative amp Volunteer)Educate people about agile practices and the philosophy behind (Up-Front Education)Build your team with passionate and disciplined developers (Passionate Developer)ldquoDonrsquot pick the right technology pick the one thatrsquos cheapest to changerdquo by chris matts
Before the start
Developer
Business Analyst
Tester
Product Owner
Developer
Make teams with cross functional people (Cross functional teams)Sit close to your team mates (Sitting CLOSE)Define the minimum set of features that you can get feedback (Minimum Viable Product) Focus on features valuable to the customer (Prioritization)Avoid doing big fat up-front design (Short Up-Front Design)Document enough donrsquot go deep into details (Agile Documentation)
Letrsquos start the project
Business Analyst
Tester
Keep your code in a version control system (Version Control System)Program in pairs (Pair Programming)Review othersrsquo code (CodePeer Review)Develop each feature in a new branch (Code Branching)Follow clean code principles (Clean Code Principles)Do code katas to improve your technical capabilities (Code Kata)Use idiomatic and architectural patterns in addition to design patterns (Idiomatic Patterns)Develop from customersrsquo point of view by BDD (Behaviour Driven Development)Develop from developersrsquo point of view by TDD (Test Driven Development)
Software development and social coding
VersionControlSystem
Developer
Business Analyst
Tester
Pull othersrsquo commits and integrate with yours at least once a day (Continuous Integration)Let the existing tests run automatically and get feedback about the failed ones (Continuous Build)Detect untested areas in your code and improve the code coverage (Code Coverage)Donrsquot afraid of deleting code improve your design with the help of written tests (Refactoring)Full feedback loop of continous integration should take at most 10 minutes (10 min build)
Continuous Integration
Messaging Services (emails messages)
VersionControlSystem
ContinuousDeployment
Developer
Business Analyst
Tester
Prepare a working copy of your software available in your CVS (SNAPSHOTs daily builds)Make the latest working copy of your software ready for deployment (Continuous delivery)
Continuous Delivery
Package Repository
Messaging Services (emails messages)
VersionControlSystem
ContinuousDeployment
Developer
Business Analyst
Tester
DEV TEST amp QA STAGING PROD
Prepare an environment where developers can do experiments and test their code (DEV)Have an environment where performance and load tests can be done (TESTQUALITY ASSURANCE)User acceptance tests should be done on an environment similar to production (STAGINGUATSIT)
Development Environments
Package Repository
Messaging Services (emails messages)
VersionControlSystem
Make releases frequently (SHORT RELEASES)Deploy your applications with one click (Continuous DEPLOYMENT)Shorten release and boot times of your software (Fast bootup)Raise DevOps that knows software development and IT operations at the same time (DEVOPS)
Release Management amp Deployments
DEV
TEST amp QA
STAGING
PROD
ContinuousDeployment
Developer
Business Analyst
Tester
Clouds force you to follow the practices to some extent
Software development on clouds
DevOpsDevOps DevOps DevOps
VersionControlSystem
Developer
Business Analyst
Tester
You cannot talk about agility without eXtreme Programming practices And XP can only be achieved by pashioned programmers
last words
ldquordquoİsa Goumlksu
Agile Practice Lead
Photos used in the slidES
httpwwwflickrcomphotosemmanuelecontini2558211856httpwwwflickrcomphotosthecampbells5103649471httpwwwflickrcomphotosrobbiemacphotos7875854334httpwwwflickrcomphotosw4nd3rl0st7174403872https590photobucketcomuserasmithjmediaCPCgirl_2_computer_arms_raised2jpghtmlhttpwwwflickrcomphotosusnavy5488581781httpwwwflickrcomphotospurplemattfish3489639831httpwwwflickrcomphotosthomashawk7215052318httpwwwflickrcomphotosnuwandalice4764805046httpwwwflickrcomphotoslauter-als-der-rest6898114788httpwwwflickrcomphotos31288116N024008216690httpwwwflickrcomphotosa2gemma1448178195httpwwwflickrcomphotosnuudls3281779141
Lemİ orhan ergİnlemiorhanagilistanbulcom
lemiorhan
lemiorhan
agilistanbulcom
lemiorhan
LINKE
DIN
TWITT
ERSL
IDES
HARE
BLOG
Principal Software Engineer SonyFounder amp Author agilistanbulcom
flyingtomooncom
The slides were presented on 13th of June 2013 at Agile Talks which is a set of seminars organized by Agile Turkey few times in a year in Turkey
The content of this presentation is originally in Turkish The author translated into English by purpose
We wonrsquot make it we need extra timeI know itrsquos impossible but wersquove already promisedWe have to cancel the project before going liveWe are facing critical bugs in productionWe have to re-write the project from scratchNo one knows when the project will be finishedIt was obvious that the project was going to failEverything was going fine but what the
ldquo
rdquoProject management Team
Itrsquos very expensive to add these featuresOne guy left and the project failedPeople in development team is always changingTechnology and design of the project are too oldI fixed a bug and new ones appearedNo one has touched some modules for yearsI cannot add new features while fixing bugs all dayWe are doing same manual tests again and again
ldquo
rdquoSoftware Developer
11I have worked in enterprise level projects in my career
B2B ecommerce site for the mould industryIBM based product management systemProduct management system for EuropeDocument management system for militaryMarketing sites for European countriesCommon toolbar for European countriesBackend services components and APIsCommon data services for EuropeCommon syndication services for EuropeCore data services for US and CanadaVertical ecommerce module
Each one isat least
6 monthsprojects
B2B ecommerce site for the mould industryIBM based product management systemProduct management system for EuropeDocument management system for militaryMarketing sites for European countriesCommon toolbar for European countriesBackend services components and APIsCommon data services for EuropeCommon syndication services for EuropeCore data services for US and CanadaVertical ecommerce module
6 of themcancelled before go-live
closed after a whilewill be closed soon
55
are failingSoftware projects
ldquo50 of IT projects go into trash in TurkeyrdquoAgile Turkey
mercer consulting
ldquoWhen the real costs are added up 80 of the technology projects costs more than they returnrdquo
why
of reasons to faila lotwe have
companypolitics
some of themare due to
we are unable to do anything here
developingsoftware in unnatural way
but the reason of all the others is
agendaThe Nature of SoftwareNaturalness of Software AgilityAgile Software Development Practices
The nature of software
and 9 main rules
The ultimate goal iscustomer satisfaction
1
Customers have rights to get software developed with the
features they need in a fast way
of course you might not satisfy your
customer at this level thatrsquos fine
In general the customersdo not know
what they really want
2
UNCERTAINITYexists in every step of development process
3
requirements
always change
4
Start Point
Target Point
2
1
3
Software development is not just
5
Programming
Software should always be
maintainedafter go live
6
Software development is asocial activity
7
BIG-Up-front detailed estimation amp Design are
UNNECESSARY
8
ıncreases total real cost9 compromising quality
agilityconcept emerges for helping developers
to let them develop in natural way
agendaThe Nature of SoftwareNaturalness of Software AgilityAgile Software Development Practices
agilewhat is
Agile meansAdapting to change
rapidlyand sending a feature or a fix to market rapidly
agile meansevolving design and
development
Agile development is not onlyabout project planning
Project planning is just a part of agile software development
Agile software developmentAgile planning and managementSoftware development practices
Customer satisfactionTeamworkMotivation
this is the topic we are interested in
agendaThe Nature of SoftwareNaturalness of Software AgilityAgile Software Development Practices
working on the correct designwith newest and best technologies
in a short time
We aim to complete the projects by
However we always face with issues related withhumans
Getting feedback rapidlyAgile ve lean prenciples focus on the following
Speeding up feecback loops
Letrsquos develop a projectby using
agile development practices
See your developers not as resources but talents (No headcount calculation)Work with people who loves to share knowledge and experiences (Collaborative amp Volunteer)Educate people about agile practices and the philosophy behind (Up-Front Education)Build your team with passionate and disciplined developers (Passionate Developer)ldquoDonrsquot pick the right technology pick the one thatrsquos cheapest to changerdquo by chris matts
Before the start
Developer
Business Analyst
Tester
Product Owner
Developer
Make teams with cross functional people (Cross functional teams)Sit close to your team mates (Sitting CLOSE)Define the minimum set of features that you can get feedback (Minimum Viable Product) Focus on features valuable to the customer (Prioritization)Avoid doing big fat up-front design (Short Up-Front Design)Document enough donrsquot go deep into details (Agile Documentation)
Letrsquos start the project
Business Analyst
Tester
Keep your code in a version control system (Version Control System)Program in pairs (Pair Programming)Review othersrsquo code (CodePeer Review)Develop each feature in a new branch (Code Branching)Follow clean code principles (Clean Code Principles)Do code katas to improve your technical capabilities (Code Kata)Use idiomatic and architectural patterns in addition to design patterns (Idiomatic Patterns)Develop from customersrsquo point of view by BDD (Behaviour Driven Development)Develop from developersrsquo point of view by TDD (Test Driven Development)
Software development and social coding
VersionControlSystem
Developer
Business Analyst
Tester
Pull othersrsquo commits and integrate with yours at least once a day (Continuous Integration)Let the existing tests run automatically and get feedback about the failed ones (Continuous Build)Detect untested areas in your code and improve the code coverage (Code Coverage)Donrsquot afraid of deleting code improve your design with the help of written tests (Refactoring)Full feedback loop of continous integration should take at most 10 minutes (10 min build)
Continuous Integration
Messaging Services (emails messages)
VersionControlSystem
ContinuousDeployment
Developer
Business Analyst
Tester
Prepare a working copy of your software available in your CVS (SNAPSHOTs daily builds)Make the latest working copy of your software ready for deployment (Continuous delivery)
Continuous Delivery
Package Repository
Messaging Services (emails messages)
VersionControlSystem
ContinuousDeployment
Developer
Business Analyst
Tester
DEV TEST amp QA STAGING PROD
Prepare an environment where developers can do experiments and test their code (DEV)Have an environment where performance and load tests can be done (TESTQUALITY ASSURANCE)User acceptance tests should be done on an environment similar to production (STAGINGUATSIT)
Development Environments
Package Repository
Messaging Services (emails messages)
VersionControlSystem
Make releases frequently (SHORT RELEASES)Deploy your applications with one click (Continuous DEPLOYMENT)Shorten release and boot times of your software (Fast bootup)Raise DevOps that knows software development and IT operations at the same time (DEVOPS)
Release Management amp Deployments
DEV
TEST amp QA
STAGING
PROD
ContinuousDeployment
Developer
Business Analyst
Tester
Clouds force you to follow the practices to some extent
Software development on clouds
DevOpsDevOps DevOps DevOps
VersionControlSystem
Developer
Business Analyst
Tester
You cannot talk about agility without eXtreme Programming practices And XP can only be achieved by pashioned programmers
last words
ldquordquoİsa Goumlksu
Agile Practice Lead
Photos used in the slidES
httpwwwflickrcomphotosemmanuelecontini2558211856httpwwwflickrcomphotosthecampbells5103649471httpwwwflickrcomphotosrobbiemacphotos7875854334httpwwwflickrcomphotosw4nd3rl0st7174403872https590photobucketcomuserasmithjmediaCPCgirl_2_computer_arms_raised2jpghtmlhttpwwwflickrcomphotosusnavy5488581781httpwwwflickrcomphotospurplemattfish3489639831httpwwwflickrcomphotosthomashawk7215052318httpwwwflickrcomphotosnuwandalice4764805046httpwwwflickrcomphotoslauter-als-der-rest6898114788httpwwwflickrcomphotos31288116N024008216690httpwwwflickrcomphotosa2gemma1448178195httpwwwflickrcomphotosnuudls3281779141
Lemİ orhan ergİnlemiorhanagilistanbulcom
lemiorhan
lemiorhan
agilistanbulcom
lemiorhan
LINKE
DIN
TWITT
ERSL
IDES
HARE
BLOG
Principal Software Engineer SonyFounder amp Author agilistanbulcom
flyingtomooncom
The slides were presented on 13th of June 2013 at Agile Talks which is a set of seminars organized by Agile Turkey few times in a year in Turkey
The content of this presentation is originally in Turkish The author translated into English by purpose
Itrsquos very expensive to add these featuresOne guy left and the project failedPeople in development team is always changingTechnology and design of the project are too oldI fixed a bug and new ones appearedNo one has touched some modules for yearsI cannot add new features while fixing bugs all dayWe are doing same manual tests again and again
ldquo
rdquoSoftware Developer
11I have worked in enterprise level projects in my career
B2B ecommerce site for the mould industryIBM based product management systemProduct management system for EuropeDocument management system for militaryMarketing sites for European countriesCommon toolbar for European countriesBackend services components and APIsCommon data services for EuropeCommon syndication services for EuropeCore data services for US and CanadaVertical ecommerce module
Each one isat least
6 monthsprojects
B2B ecommerce site for the mould industryIBM based product management systemProduct management system for EuropeDocument management system for militaryMarketing sites for European countriesCommon toolbar for European countriesBackend services components and APIsCommon data services for EuropeCommon syndication services for EuropeCore data services for US and CanadaVertical ecommerce module
6 of themcancelled before go-live
closed after a whilewill be closed soon
55
are failingSoftware projects
ldquo50 of IT projects go into trash in TurkeyrdquoAgile Turkey
mercer consulting
ldquoWhen the real costs are added up 80 of the technology projects costs more than they returnrdquo
why
of reasons to faila lotwe have
companypolitics
some of themare due to
we are unable to do anything here
developingsoftware in unnatural way
but the reason of all the others is
agendaThe Nature of SoftwareNaturalness of Software AgilityAgile Software Development Practices
The nature of software
and 9 main rules
The ultimate goal iscustomer satisfaction
1
Customers have rights to get software developed with the
features they need in a fast way
of course you might not satisfy your
customer at this level thatrsquos fine
In general the customersdo not know
what they really want
2
UNCERTAINITYexists in every step of development process
3
requirements
always change
4
Start Point
Target Point
2
1
3
Software development is not just
5
Programming
Software should always be
maintainedafter go live
6
Software development is asocial activity
7
BIG-Up-front detailed estimation amp Design are
UNNECESSARY
8
ıncreases total real cost9 compromising quality
agilityconcept emerges for helping developers
to let them develop in natural way
agendaThe Nature of SoftwareNaturalness of Software AgilityAgile Software Development Practices
agilewhat is
Agile meansAdapting to change
rapidlyand sending a feature or a fix to market rapidly
agile meansevolving design and
development
Agile development is not onlyabout project planning
Project planning is just a part of agile software development
Agile software developmentAgile planning and managementSoftware development practices
Customer satisfactionTeamworkMotivation
this is the topic we are interested in
agendaThe Nature of SoftwareNaturalness of Software AgilityAgile Software Development Practices
working on the correct designwith newest and best technologies
in a short time
We aim to complete the projects by
However we always face with issues related withhumans
Getting feedback rapidlyAgile ve lean prenciples focus on the following
Speeding up feecback loops
Letrsquos develop a projectby using
agile development practices
See your developers not as resources but talents (No headcount calculation)Work with people who loves to share knowledge and experiences (Collaborative amp Volunteer)Educate people about agile practices and the philosophy behind (Up-Front Education)Build your team with passionate and disciplined developers (Passionate Developer)ldquoDonrsquot pick the right technology pick the one thatrsquos cheapest to changerdquo by chris matts
Before the start
Developer
Business Analyst
Tester
Product Owner
Developer
Make teams with cross functional people (Cross functional teams)Sit close to your team mates (Sitting CLOSE)Define the minimum set of features that you can get feedback (Minimum Viable Product) Focus on features valuable to the customer (Prioritization)Avoid doing big fat up-front design (Short Up-Front Design)Document enough donrsquot go deep into details (Agile Documentation)
Letrsquos start the project
Business Analyst
Tester
Keep your code in a version control system (Version Control System)Program in pairs (Pair Programming)Review othersrsquo code (CodePeer Review)Develop each feature in a new branch (Code Branching)Follow clean code principles (Clean Code Principles)Do code katas to improve your technical capabilities (Code Kata)Use idiomatic and architectural patterns in addition to design patterns (Idiomatic Patterns)Develop from customersrsquo point of view by BDD (Behaviour Driven Development)Develop from developersrsquo point of view by TDD (Test Driven Development)
Software development and social coding
VersionControlSystem
Developer
Business Analyst
Tester
Pull othersrsquo commits and integrate with yours at least once a day (Continuous Integration)Let the existing tests run automatically and get feedback about the failed ones (Continuous Build)Detect untested areas in your code and improve the code coverage (Code Coverage)Donrsquot afraid of deleting code improve your design with the help of written tests (Refactoring)Full feedback loop of continous integration should take at most 10 minutes (10 min build)
Continuous Integration
Messaging Services (emails messages)
VersionControlSystem
ContinuousDeployment
Developer
Business Analyst
Tester
Prepare a working copy of your software available in your CVS (SNAPSHOTs daily builds)Make the latest working copy of your software ready for deployment (Continuous delivery)
Continuous Delivery
Package Repository
Messaging Services (emails messages)
VersionControlSystem
ContinuousDeployment
Developer
Business Analyst
Tester
DEV TEST amp QA STAGING PROD
Prepare an environment where developers can do experiments and test their code (DEV)Have an environment where performance and load tests can be done (TESTQUALITY ASSURANCE)User acceptance tests should be done on an environment similar to production (STAGINGUATSIT)
Development Environments
Package Repository
Messaging Services (emails messages)
VersionControlSystem
Make releases frequently (SHORT RELEASES)Deploy your applications with one click (Continuous DEPLOYMENT)Shorten release and boot times of your software (Fast bootup)Raise DevOps that knows software development and IT operations at the same time (DEVOPS)
Release Management amp Deployments
DEV
TEST amp QA
STAGING
PROD
ContinuousDeployment
Developer
Business Analyst
Tester
Clouds force you to follow the practices to some extent
Software development on clouds
DevOpsDevOps DevOps DevOps
VersionControlSystem
Developer
Business Analyst
Tester
You cannot talk about agility without eXtreme Programming practices And XP can only be achieved by pashioned programmers
last words
ldquordquoİsa Goumlksu
Agile Practice Lead
Photos used in the slidES
httpwwwflickrcomphotosemmanuelecontini2558211856httpwwwflickrcomphotosthecampbells5103649471httpwwwflickrcomphotosrobbiemacphotos7875854334httpwwwflickrcomphotosw4nd3rl0st7174403872https590photobucketcomuserasmithjmediaCPCgirl_2_computer_arms_raised2jpghtmlhttpwwwflickrcomphotosusnavy5488581781httpwwwflickrcomphotospurplemattfish3489639831httpwwwflickrcomphotosthomashawk7215052318httpwwwflickrcomphotosnuwandalice4764805046httpwwwflickrcomphotoslauter-als-der-rest6898114788httpwwwflickrcomphotos31288116N024008216690httpwwwflickrcomphotosa2gemma1448178195httpwwwflickrcomphotosnuudls3281779141
Lemİ orhan ergİnlemiorhanagilistanbulcom
lemiorhan
lemiorhan
agilistanbulcom
lemiorhan
LINKE
DIN
TWITT
ERSL
IDES
HARE
BLOG
Principal Software Engineer SonyFounder amp Author agilistanbulcom
flyingtomooncom
The slides were presented on 13th of June 2013 at Agile Talks which is a set of seminars organized by Agile Turkey few times in a year in Turkey
The content of this presentation is originally in Turkish The author translated into English by purpose
11I have worked in enterprise level projects in my career
B2B ecommerce site for the mould industryIBM based product management systemProduct management system for EuropeDocument management system for militaryMarketing sites for European countriesCommon toolbar for European countriesBackend services components and APIsCommon data services for EuropeCommon syndication services for EuropeCore data services for US and CanadaVertical ecommerce module
Each one isat least
6 monthsprojects
B2B ecommerce site for the mould industryIBM based product management systemProduct management system for EuropeDocument management system for militaryMarketing sites for European countriesCommon toolbar for European countriesBackend services components and APIsCommon data services for EuropeCommon syndication services for EuropeCore data services for US and CanadaVertical ecommerce module
6 of themcancelled before go-live
closed after a whilewill be closed soon
55
are failingSoftware projects
ldquo50 of IT projects go into trash in TurkeyrdquoAgile Turkey
mercer consulting
ldquoWhen the real costs are added up 80 of the technology projects costs more than they returnrdquo
why
of reasons to faila lotwe have
companypolitics
some of themare due to
we are unable to do anything here
developingsoftware in unnatural way
but the reason of all the others is
agendaThe Nature of SoftwareNaturalness of Software AgilityAgile Software Development Practices
The nature of software
and 9 main rules
The ultimate goal iscustomer satisfaction
1
Customers have rights to get software developed with the
features they need in a fast way
of course you might not satisfy your
customer at this level thatrsquos fine
In general the customersdo not know
what they really want
2
UNCERTAINITYexists in every step of development process
3
requirements
always change
4
Start Point
Target Point
2
1
3
Software development is not just
5
Programming
Software should always be
maintainedafter go live
6
Software development is asocial activity
7
BIG-Up-front detailed estimation amp Design are
UNNECESSARY
8
ıncreases total real cost9 compromising quality
agilityconcept emerges for helping developers
to let them develop in natural way
agendaThe Nature of SoftwareNaturalness of Software AgilityAgile Software Development Practices
agilewhat is
Agile meansAdapting to change
rapidlyand sending a feature or a fix to market rapidly
agile meansevolving design and
development
Agile development is not onlyabout project planning
Project planning is just a part of agile software development
Agile software developmentAgile planning and managementSoftware development practices
Customer satisfactionTeamworkMotivation
this is the topic we are interested in
agendaThe Nature of SoftwareNaturalness of Software AgilityAgile Software Development Practices
working on the correct designwith newest and best technologies
in a short time
We aim to complete the projects by
However we always face with issues related withhumans
Getting feedback rapidlyAgile ve lean prenciples focus on the following
Speeding up feecback loops
Letrsquos develop a projectby using
agile development practices
See your developers not as resources but talents (No headcount calculation)Work with people who loves to share knowledge and experiences (Collaborative amp Volunteer)Educate people about agile practices and the philosophy behind (Up-Front Education)Build your team with passionate and disciplined developers (Passionate Developer)ldquoDonrsquot pick the right technology pick the one thatrsquos cheapest to changerdquo by chris matts
Before the start
Developer
Business Analyst
Tester
Product Owner
Developer
Make teams with cross functional people (Cross functional teams)Sit close to your team mates (Sitting CLOSE)Define the minimum set of features that you can get feedback (Minimum Viable Product) Focus on features valuable to the customer (Prioritization)Avoid doing big fat up-front design (Short Up-Front Design)Document enough donrsquot go deep into details (Agile Documentation)
Letrsquos start the project
Business Analyst
Tester
Keep your code in a version control system (Version Control System)Program in pairs (Pair Programming)Review othersrsquo code (CodePeer Review)Develop each feature in a new branch (Code Branching)Follow clean code principles (Clean Code Principles)Do code katas to improve your technical capabilities (Code Kata)Use idiomatic and architectural patterns in addition to design patterns (Idiomatic Patterns)Develop from customersrsquo point of view by BDD (Behaviour Driven Development)Develop from developersrsquo point of view by TDD (Test Driven Development)
Software development and social coding
VersionControlSystem
Developer
Business Analyst
Tester
Pull othersrsquo commits and integrate with yours at least once a day (Continuous Integration)Let the existing tests run automatically and get feedback about the failed ones (Continuous Build)Detect untested areas in your code and improve the code coverage (Code Coverage)Donrsquot afraid of deleting code improve your design with the help of written tests (Refactoring)Full feedback loop of continous integration should take at most 10 minutes (10 min build)
Continuous Integration
Messaging Services (emails messages)
VersionControlSystem
ContinuousDeployment
Developer
Business Analyst
Tester
Prepare a working copy of your software available in your CVS (SNAPSHOTs daily builds)Make the latest working copy of your software ready for deployment (Continuous delivery)
Continuous Delivery
Package Repository
Messaging Services (emails messages)
VersionControlSystem
ContinuousDeployment
Developer
Business Analyst
Tester
DEV TEST amp QA STAGING PROD
Prepare an environment where developers can do experiments and test their code (DEV)Have an environment where performance and load tests can be done (TESTQUALITY ASSURANCE)User acceptance tests should be done on an environment similar to production (STAGINGUATSIT)
Development Environments
Package Repository
Messaging Services (emails messages)
VersionControlSystem
Make releases frequently (SHORT RELEASES)Deploy your applications with one click (Continuous DEPLOYMENT)Shorten release and boot times of your software (Fast bootup)Raise DevOps that knows software development and IT operations at the same time (DEVOPS)
Release Management amp Deployments
DEV
TEST amp QA
STAGING
PROD
ContinuousDeployment
Developer
Business Analyst
Tester
Clouds force you to follow the practices to some extent
Software development on clouds
DevOpsDevOps DevOps DevOps
VersionControlSystem
Developer
Business Analyst
Tester
You cannot talk about agility without eXtreme Programming practices And XP can only be achieved by pashioned programmers
last words
ldquordquoİsa Goumlksu
Agile Practice Lead
Photos used in the slidES
httpwwwflickrcomphotosemmanuelecontini2558211856httpwwwflickrcomphotosthecampbells5103649471httpwwwflickrcomphotosrobbiemacphotos7875854334httpwwwflickrcomphotosw4nd3rl0st7174403872https590photobucketcomuserasmithjmediaCPCgirl_2_computer_arms_raised2jpghtmlhttpwwwflickrcomphotosusnavy5488581781httpwwwflickrcomphotospurplemattfish3489639831httpwwwflickrcomphotosthomashawk7215052318httpwwwflickrcomphotosnuwandalice4764805046httpwwwflickrcomphotoslauter-als-der-rest6898114788httpwwwflickrcomphotos31288116N024008216690httpwwwflickrcomphotosa2gemma1448178195httpwwwflickrcomphotosnuudls3281779141
Lemİ orhan ergİnlemiorhanagilistanbulcom
lemiorhan
lemiorhan
agilistanbulcom
lemiorhan
LINKE
DIN
TWITT
ERSL
IDES
HARE
BLOG
Principal Software Engineer SonyFounder amp Author agilistanbulcom
flyingtomooncom
The slides were presented on 13th of June 2013 at Agile Talks which is a set of seminars organized by Agile Turkey few times in a year in Turkey
The content of this presentation is originally in Turkish The author translated into English by purpose
B2B ecommerce site for the mould industryIBM based product management systemProduct management system for EuropeDocument management system for militaryMarketing sites for European countriesCommon toolbar for European countriesBackend services components and APIsCommon data services for EuropeCommon syndication services for EuropeCore data services for US and CanadaVertical ecommerce module
Each one isat least
6 monthsprojects
B2B ecommerce site for the mould industryIBM based product management systemProduct management system for EuropeDocument management system for militaryMarketing sites for European countriesCommon toolbar for European countriesBackend services components and APIsCommon data services for EuropeCommon syndication services for EuropeCore data services for US and CanadaVertical ecommerce module
6 of themcancelled before go-live
closed after a whilewill be closed soon
55
are failingSoftware projects
ldquo50 of IT projects go into trash in TurkeyrdquoAgile Turkey
mercer consulting
ldquoWhen the real costs are added up 80 of the technology projects costs more than they returnrdquo
why
of reasons to faila lotwe have
companypolitics
some of themare due to
we are unable to do anything here
developingsoftware in unnatural way
but the reason of all the others is
agendaThe Nature of SoftwareNaturalness of Software AgilityAgile Software Development Practices
The nature of software
and 9 main rules
The ultimate goal iscustomer satisfaction
1
Customers have rights to get software developed with the
features they need in a fast way
of course you might not satisfy your
customer at this level thatrsquos fine
In general the customersdo not know
what they really want
2
UNCERTAINITYexists in every step of development process
3
requirements
always change
4
Start Point
Target Point
2
1
3
Software development is not just
5
Programming
Software should always be
maintainedafter go live
6
Software development is asocial activity
7
BIG-Up-front detailed estimation amp Design are
UNNECESSARY
8
ıncreases total real cost9 compromising quality
agilityconcept emerges for helping developers
to let them develop in natural way
agendaThe Nature of SoftwareNaturalness of Software AgilityAgile Software Development Practices
agilewhat is
Agile meansAdapting to change
rapidlyand sending a feature or a fix to market rapidly
agile meansevolving design and
development
Agile development is not onlyabout project planning
Project planning is just a part of agile software development
Agile software developmentAgile planning and managementSoftware development practices
Customer satisfactionTeamworkMotivation
this is the topic we are interested in
agendaThe Nature of SoftwareNaturalness of Software AgilityAgile Software Development Practices
working on the correct designwith newest and best technologies
in a short time
We aim to complete the projects by
However we always face with issues related withhumans
Getting feedback rapidlyAgile ve lean prenciples focus on the following
Speeding up feecback loops
Letrsquos develop a projectby using
agile development practices
See your developers not as resources but talents (No headcount calculation)Work with people who loves to share knowledge and experiences (Collaborative amp Volunteer)Educate people about agile practices and the philosophy behind (Up-Front Education)Build your team with passionate and disciplined developers (Passionate Developer)ldquoDonrsquot pick the right technology pick the one thatrsquos cheapest to changerdquo by chris matts
Before the start
Developer
Business Analyst
Tester
Product Owner
Developer
Make teams with cross functional people (Cross functional teams)Sit close to your team mates (Sitting CLOSE)Define the minimum set of features that you can get feedback (Minimum Viable Product) Focus on features valuable to the customer (Prioritization)Avoid doing big fat up-front design (Short Up-Front Design)Document enough donrsquot go deep into details (Agile Documentation)
Letrsquos start the project
Business Analyst
Tester
Keep your code in a version control system (Version Control System)Program in pairs (Pair Programming)Review othersrsquo code (CodePeer Review)Develop each feature in a new branch (Code Branching)Follow clean code principles (Clean Code Principles)Do code katas to improve your technical capabilities (Code Kata)Use idiomatic and architectural patterns in addition to design patterns (Idiomatic Patterns)Develop from customersrsquo point of view by BDD (Behaviour Driven Development)Develop from developersrsquo point of view by TDD (Test Driven Development)
Software development and social coding
VersionControlSystem
Developer
Business Analyst
Tester
Pull othersrsquo commits and integrate with yours at least once a day (Continuous Integration)Let the existing tests run automatically and get feedback about the failed ones (Continuous Build)Detect untested areas in your code and improve the code coverage (Code Coverage)Donrsquot afraid of deleting code improve your design with the help of written tests (Refactoring)Full feedback loop of continous integration should take at most 10 minutes (10 min build)
Continuous Integration
Messaging Services (emails messages)
VersionControlSystem
ContinuousDeployment
Developer
Business Analyst
Tester
Prepare a working copy of your software available in your CVS (SNAPSHOTs daily builds)Make the latest working copy of your software ready for deployment (Continuous delivery)
Continuous Delivery
Package Repository
Messaging Services (emails messages)
VersionControlSystem
ContinuousDeployment
Developer
Business Analyst
Tester
DEV TEST amp QA STAGING PROD
Prepare an environment where developers can do experiments and test their code (DEV)Have an environment where performance and load tests can be done (TESTQUALITY ASSURANCE)User acceptance tests should be done on an environment similar to production (STAGINGUATSIT)
Development Environments
Package Repository
Messaging Services (emails messages)
VersionControlSystem
Make releases frequently (SHORT RELEASES)Deploy your applications with one click (Continuous DEPLOYMENT)Shorten release and boot times of your software (Fast bootup)Raise DevOps that knows software development and IT operations at the same time (DEVOPS)
Release Management amp Deployments
DEV
TEST amp QA
STAGING
PROD
ContinuousDeployment
Developer
Business Analyst
Tester
Clouds force you to follow the practices to some extent
Software development on clouds
DevOpsDevOps DevOps DevOps
VersionControlSystem
Developer
Business Analyst
Tester
You cannot talk about agility without eXtreme Programming practices And XP can only be achieved by pashioned programmers
last words
ldquordquoİsa Goumlksu
Agile Practice Lead
Photos used in the slidES
httpwwwflickrcomphotosemmanuelecontini2558211856httpwwwflickrcomphotosthecampbells5103649471httpwwwflickrcomphotosrobbiemacphotos7875854334httpwwwflickrcomphotosw4nd3rl0st7174403872https590photobucketcomuserasmithjmediaCPCgirl_2_computer_arms_raised2jpghtmlhttpwwwflickrcomphotosusnavy5488581781httpwwwflickrcomphotospurplemattfish3489639831httpwwwflickrcomphotosthomashawk7215052318httpwwwflickrcomphotosnuwandalice4764805046httpwwwflickrcomphotoslauter-als-der-rest6898114788httpwwwflickrcomphotos31288116N024008216690httpwwwflickrcomphotosa2gemma1448178195httpwwwflickrcomphotosnuudls3281779141
Lemİ orhan ergİnlemiorhanagilistanbulcom
lemiorhan
lemiorhan
agilistanbulcom
lemiorhan
LINKE
DIN
TWITT
ERSL
IDES
HARE
BLOG
Principal Software Engineer SonyFounder amp Author agilistanbulcom
flyingtomooncom
The slides were presented on 13th of June 2013 at Agile Talks which is a set of seminars organized by Agile Turkey few times in a year in Turkey
The content of this presentation is originally in Turkish The author translated into English by purpose
B2B ecommerce site for the mould industryIBM based product management systemProduct management system for EuropeDocument management system for militaryMarketing sites for European countriesCommon toolbar for European countriesBackend services components and APIsCommon data services for EuropeCommon syndication services for EuropeCore data services for US and CanadaVertical ecommerce module
6 of themcancelled before go-live
closed after a whilewill be closed soon
55
are failingSoftware projects
ldquo50 of IT projects go into trash in TurkeyrdquoAgile Turkey
mercer consulting
ldquoWhen the real costs are added up 80 of the technology projects costs more than they returnrdquo
why
of reasons to faila lotwe have
companypolitics
some of themare due to
we are unable to do anything here
developingsoftware in unnatural way
but the reason of all the others is
agendaThe Nature of SoftwareNaturalness of Software AgilityAgile Software Development Practices
The nature of software
and 9 main rules
The ultimate goal iscustomer satisfaction
1
Customers have rights to get software developed with the
features they need in a fast way
of course you might not satisfy your
customer at this level thatrsquos fine
In general the customersdo not know
what they really want
2
UNCERTAINITYexists in every step of development process
3
requirements
always change
4
Start Point
Target Point
2
1
3
Software development is not just
5
Programming
Software should always be
maintainedafter go live
6
Software development is asocial activity
7
BIG-Up-front detailed estimation amp Design are
UNNECESSARY
8
ıncreases total real cost9 compromising quality
agilityconcept emerges for helping developers
to let them develop in natural way
agendaThe Nature of SoftwareNaturalness of Software AgilityAgile Software Development Practices
agilewhat is
Agile meansAdapting to change
rapidlyand sending a feature or a fix to market rapidly
agile meansevolving design and
development
Agile development is not onlyabout project planning
Project planning is just a part of agile software development
Agile software developmentAgile planning and managementSoftware development practices
Customer satisfactionTeamworkMotivation
this is the topic we are interested in
agendaThe Nature of SoftwareNaturalness of Software AgilityAgile Software Development Practices
working on the correct designwith newest and best technologies
in a short time
We aim to complete the projects by
However we always face with issues related withhumans
Getting feedback rapidlyAgile ve lean prenciples focus on the following
Speeding up feecback loops
Letrsquos develop a projectby using
agile development practices
See your developers not as resources but talents (No headcount calculation)Work with people who loves to share knowledge and experiences (Collaborative amp Volunteer)Educate people about agile practices and the philosophy behind (Up-Front Education)Build your team with passionate and disciplined developers (Passionate Developer)ldquoDonrsquot pick the right technology pick the one thatrsquos cheapest to changerdquo by chris matts
Before the start
Developer
Business Analyst
Tester
Product Owner
Developer
Make teams with cross functional people (Cross functional teams)Sit close to your team mates (Sitting CLOSE)Define the minimum set of features that you can get feedback (Minimum Viable Product) Focus on features valuable to the customer (Prioritization)Avoid doing big fat up-front design (Short Up-Front Design)Document enough donrsquot go deep into details (Agile Documentation)
Letrsquos start the project
Business Analyst
Tester
Keep your code in a version control system (Version Control System)Program in pairs (Pair Programming)Review othersrsquo code (CodePeer Review)Develop each feature in a new branch (Code Branching)Follow clean code principles (Clean Code Principles)Do code katas to improve your technical capabilities (Code Kata)Use idiomatic and architectural patterns in addition to design patterns (Idiomatic Patterns)Develop from customersrsquo point of view by BDD (Behaviour Driven Development)Develop from developersrsquo point of view by TDD (Test Driven Development)
Software development and social coding
VersionControlSystem
Developer
Business Analyst
Tester
Pull othersrsquo commits and integrate with yours at least once a day (Continuous Integration)Let the existing tests run automatically and get feedback about the failed ones (Continuous Build)Detect untested areas in your code and improve the code coverage (Code Coverage)Donrsquot afraid of deleting code improve your design with the help of written tests (Refactoring)Full feedback loop of continous integration should take at most 10 minutes (10 min build)
Continuous Integration
Messaging Services (emails messages)
VersionControlSystem
ContinuousDeployment
Developer
Business Analyst
Tester
Prepare a working copy of your software available in your CVS (SNAPSHOTs daily builds)Make the latest working copy of your software ready for deployment (Continuous delivery)
Continuous Delivery
Package Repository
Messaging Services (emails messages)
VersionControlSystem
ContinuousDeployment
Developer
Business Analyst
Tester
DEV TEST amp QA STAGING PROD
Prepare an environment where developers can do experiments and test their code (DEV)Have an environment where performance and load tests can be done (TESTQUALITY ASSURANCE)User acceptance tests should be done on an environment similar to production (STAGINGUATSIT)
Development Environments
Package Repository
Messaging Services (emails messages)
VersionControlSystem
Make releases frequently (SHORT RELEASES)Deploy your applications with one click (Continuous DEPLOYMENT)Shorten release and boot times of your software (Fast bootup)Raise DevOps that knows software development and IT operations at the same time (DEVOPS)
Release Management amp Deployments
DEV
TEST amp QA
STAGING
PROD
ContinuousDeployment
Developer
Business Analyst
Tester
Clouds force you to follow the practices to some extent
Software development on clouds
DevOpsDevOps DevOps DevOps
VersionControlSystem
Developer
Business Analyst
Tester
You cannot talk about agility without eXtreme Programming practices And XP can only be achieved by pashioned programmers
last words
ldquordquoİsa Goumlksu
Agile Practice Lead
Photos used in the slidES
httpwwwflickrcomphotosemmanuelecontini2558211856httpwwwflickrcomphotosthecampbells5103649471httpwwwflickrcomphotosrobbiemacphotos7875854334httpwwwflickrcomphotosw4nd3rl0st7174403872https590photobucketcomuserasmithjmediaCPCgirl_2_computer_arms_raised2jpghtmlhttpwwwflickrcomphotosusnavy5488581781httpwwwflickrcomphotospurplemattfish3489639831httpwwwflickrcomphotosthomashawk7215052318httpwwwflickrcomphotosnuwandalice4764805046httpwwwflickrcomphotoslauter-als-der-rest6898114788httpwwwflickrcomphotos31288116N024008216690httpwwwflickrcomphotosa2gemma1448178195httpwwwflickrcomphotosnuudls3281779141
Lemİ orhan ergİnlemiorhanagilistanbulcom
lemiorhan
lemiorhan
agilistanbulcom
lemiorhan
LINKE
DIN
TWITT
ERSL
IDES
HARE
BLOG
Principal Software Engineer SonyFounder amp Author agilistanbulcom
flyingtomooncom
The slides were presented on 13th of June 2013 at Agile Talks which is a set of seminars organized by Agile Turkey few times in a year in Turkey
The content of this presentation is originally in Turkish The author translated into English by purpose
are failingSoftware projects
ldquo50 of IT projects go into trash in TurkeyrdquoAgile Turkey
mercer consulting
ldquoWhen the real costs are added up 80 of the technology projects costs more than they returnrdquo
why
of reasons to faila lotwe have
companypolitics
some of themare due to
we are unable to do anything here
developingsoftware in unnatural way
but the reason of all the others is
agendaThe Nature of SoftwareNaturalness of Software AgilityAgile Software Development Practices
The nature of software
and 9 main rules
The ultimate goal iscustomer satisfaction
1
Customers have rights to get software developed with the
features they need in a fast way
of course you might not satisfy your
customer at this level thatrsquos fine
In general the customersdo not know
what they really want
2
UNCERTAINITYexists in every step of development process
3
requirements
always change
4
Start Point
Target Point
2
1
3
Software development is not just
5
Programming
Software should always be
maintainedafter go live
6
Software development is asocial activity
7
BIG-Up-front detailed estimation amp Design are
UNNECESSARY
8
ıncreases total real cost9 compromising quality
agilityconcept emerges for helping developers
to let them develop in natural way
agendaThe Nature of SoftwareNaturalness of Software AgilityAgile Software Development Practices
agilewhat is
Agile meansAdapting to change
rapidlyand sending a feature or a fix to market rapidly
agile meansevolving design and
development
Agile development is not onlyabout project planning
Project planning is just a part of agile software development
Agile software developmentAgile planning and managementSoftware development practices
Customer satisfactionTeamworkMotivation
this is the topic we are interested in
agendaThe Nature of SoftwareNaturalness of Software AgilityAgile Software Development Practices
working on the correct designwith newest and best technologies
in a short time
We aim to complete the projects by
However we always face with issues related withhumans
Getting feedback rapidlyAgile ve lean prenciples focus on the following
Speeding up feecback loops
Letrsquos develop a projectby using
agile development practices
See your developers not as resources but talents (No headcount calculation)Work with people who loves to share knowledge and experiences (Collaborative amp Volunteer)Educate people about agile practices and the philosophy behind (Up-Front Education)Build your team with passionate and disciplined developers (Passionate Developer)ldquoDonrsquot pick the right technology pick the one thatrsquos cheapest to changerdquo by chris matts
Before the start
Developer
Business Analyst
Tester
Product Owner
Developer
Make teams with cross functional people (Cross functional teams)Sit close to your team mates (Sitting CLOSE)Define the minimum set of features that you can get feedback (Minimum Viable Product) Focus on features valuable to the customer (Prioritization)Avoid doing big fat up-front design (Short Up-Front Design)Document enough donrsquot go deep into details (Agile Documentation)
Letrsquos start the project
Business Analyst
Tester
Keep your code in a version control system (Version Control System)Program in pairs (Pair Programming)Review othersrsquo code (CodePeer Review)Develop each feature in a new branch (Code Branching)Follow clean code principles (Clean Code Principles)Do code katas to improve your technical capabilities (Code Kata)Use idiomatic and architectural patterns in addition to design patterns (Idiomatic Patterns)Develop from customersrsquo point of view by BDD (Behaviour Driven Development)Develop from developersrsquo point of view by TDD (Test Driven Development)
Software development and social coding
VersionControlSystem
Developer
Business Analyst
Tester
Pull othersrsquo commits and integrate with yours at least once a day (Continuous Integration)Let the existing tests run automatically and get feedback about the failed ones (Continuous Build)Detect untested areas in your code and improve the code coverage (Code Coverage)Donrsquot afraid of deleting code improve your design with the help of written tests (Refactoring)Full feedback loop of continous integration should take at most 10 minutes (10 min build)
Continuous Integration
Messaging Services (emails messages)
VersionControlSystem
ContinuousDeployment
Developer
Business Analyst
Tester
Prepare a working copy of your software available in your CVS (SNAPSHOTs daily builds)Make the latest working copy of your software ready for deployment (Continuous delivery)
Continuous Delivery
Package Repository
Messaging Services (emails messages)
VersionControlSystem
ContinuousDeployment
Developer
Business Analyst
Tester
DEV TEST amp QA STAGING PROD
Prepare an environment where developers can do experiments and test their code (DEV)Have an environment where performance and load tests can be done (TESTQUALITY ASSURANCE)User acceptance tests should be done on an environment similar to production (STAGINGUATSIT)
Development Environments
Package Repository
Messaging Services (emails messages)
VersionControlSystem
Make releases frequently (SHORT RELEASES)Deploy your applications with one click (Continuous DEPLOYMENT)Shorten release and boot times of your software (Fast bootup)Raise DevOps that knows software development and IT operations at the same time (DEVOPS)
Release Management amp Deployments
DEV
TEST amp QA
STAGING
PROD
ContinuousDeployment
Developer
Business Analyst
Tester
Clouds force you to follow the practices to some extent
Software development on clouds
DevOpsDevOps DevOps DevOps
VersionControlSystem
Developer
Business Analyst
Tester
You cannot talk about agility without eXtreme Programming practices And XP can only be achieved by pashioned programmers
last words
ldquordquoİsa Goumlksu
Agile Practice Lead
Photos used in the slidES
httpwwwflickrcomphotosemmanuelecontini2558211856httpwwwflickrcomphotosthecampbells5103649471httpwwwflickrcomphotosrobbiemacphotos7875854334httpwwwflickrcomphotosw4nd3rl0st7174403872https590photobucketcomuserasmithjmediaCPCgirl_2_computer_arms_raised2jpghtmlhttpwwwflickrcomphotosusnavy5488581781httpwwwflickrcomphotospurplemattfish3489639831httpwwwflickrcomphotosthomashawk7215052318httpwwwflickrcomphotosnuwandalice4764805046httpwwwflickrcomphotoslauter-als-der-rest6898114788httpwwwflickrcomphotos31288116N024008216690httpwwwflickrcomphotosa2gemma1448178195httpwwwflickrcomphotosnuudls3281779141
Lemİ orhan ergİnlemiorhanagilistanbulcom
lemiorhan
lemiorhan
agilistanbulcom
lemiorhan
LINKE
DIN
TWITT
ERSL
IDES
HARE
BLOG
Principal Software Engineer SonyFounder amp Author agilistanbulcom
flyingtomooncom
The slides were presented on 13th of June 2013 at Agile Talks which is a set of seminars organized by Agile Turkey few times in a year in Turkey
The content of this presentation is originally in Turkish The author translated into English by purpose
why
of reasons to faila lotwe have
companypolitics
some of themare due to
we are unable to do anything here
developingsoftware in unnatural way
but the reason of all the others is
agendaThe Nature of SoftwareNaturalness of Software AgilityAgile Software Development Practices
The nature of software
and 9 main rules
The ultimate goal iscustomer satisfaction
1
Customers have rights to get software developed with the
features they need in a fast way
of course you might not satisfy your
customer at this level thatrsquos fine
In general the customersdo not know
what they really want
2
UNCERTAINITYexists in every step of development process
3
requirements
always change
4
Start Point
Target Point
2
1
3
Software development is not just
5
Programming
Software should always be
maintainedafter go live
6
Software development is asocial activity
7
BIG-Up-front detailed estimation amp Design are
UNNECESSARY
8
ıncreases total real cost9 compromising quality
agilityconcept emerges for helping developers
to let them develop in natural way
agendaThe Nature of SoftwareNaturalness of Software AgilityAgile Software Development Practices
agilewhat is
Agile meansAdapting to change
rapidlyand sending a feature or a fix to market rapidly
agile meansevolving design and
development
Agile development is not onlyabout project planning
Project planning is just a part of agile software development
Agile software developmentAgile planning and managementSoftware development practices
Customer satisfactionTeamworkMotivation
this is the topic we are interested in
agendaThe Nature of SoftwareNaturalness of Software AgilityAgile Software Development Practices
working on the correct designwith newest and best technologies
in a short time
We aim to complete the projects by
However we always face with issues related withhumans
Getting feedback rapidlyAgile ve lean prenciples focus on the following
Speeding up feecback loops
Letrsquos develop a projectby using
agile development practices
See your developers not as resources but talents (No headcount calculation)Work with people who loves to share knowledge and experiences (Collaborative amp Volunteer)Educate people about agile practices and the philosophy behind (Up-Front Education)Build your team with passionate and disciplined developers (Passionate Developer)ldquoDonrsquot pick the right technology pick the one thatrsquos cheapest to changerdquo by chris matts
Before the start
Developer
Business Analyst
Tester
Product Owner
Developer
Make teams with cross functional people (Cross functional teams)Sit close to your team mates (Sitting CLOSE)Define the minimum set of features that you can get feedback (Minimum Viable Product) Focus on features valuable to the customer (Prioritization)Avoid doing big fat up-front design (Short Up-Front Design)Document enough donrsquot go deep into details (Agile Documentation)
Letrsquos start the project
Business Analyst
Tester
Keep your code in a version control system (Version Control System)Program in pairs (Pair Programming)Review othersrsquo code (CodePeer Review)Develop each feature in a new branch (Code Branching)Follow clean code principles (Clean Code Principles)Do code katas to improve your technical capabilities (Code Kata)Use idiomatic and architectural patterns in addition to design patterns (Idiomatic Patterns)Develop from customersrsquo point of view by BDD (Behaviour Driven Development)Develop from developersrsquo point of view by TDD (Test Driven Development)
Software development and social coding
VersionControlSystem
Developer
Business Analyst
Tester
Pull othersrsquo commits and integrate with yours at least once a day (Continuous Integration)Let the existing tests run automatically and get feedback about the failed ones (Continuous Build)Detect untested areas in your code and improve the code coverage (Code Coverage)Donrsquot afraid of deleting code improve your design with the help of written tests (Refactoring)Full feedback loop of continous integration should take at most 10 minutes (10 min build)
Continuous Integration
Messaging Services (emails messages)
VersionControlSystem
ContinuousDeployment
Developer
Business Analyst
Tester
Prepare a working copy of your software available in your CVS (SNAPSHOTs daily builds)Make the latest working copy of your software ready for deployment (Continuous delivery)
Continuous Delivery
Package Repository
Messaging Services (emails messages)
VersionControlSystem
ContinuousDeployment
Developer
Business Analyst
Tester
DEV TEST amp QA STAGING PROD
Prepare an environment where developers can do experiments and test their code (DEV)Have an environment where performance and load tests can be done (TESTQUALITY ASSURANCE)User acceptance tests should be done on an environment similar to production (STAGINGUATSIT)
Development Environments
Package Repository
Messaging Services (emails messages)
VersionControlSystem
Make releases frequently (SHORT RELEASES)Deploy your applications with one click (Continuous DEPLOYMENT)Shorten release and boot times of your software (Fast bootup)Raise DevOps that knows software development and IT operations at the same time (DEVOPS)
Release Management amp Deployments
DEV
TEST amp QA
STAGING
PROD
ContinuousDeployment
Developer
Business Analyst
Tester
Clouds force you to follow the practices to some extent
Software development on clouds
DevOpsDevOps DevOps DevOps
VersionControlSystem
Developer
Business Analyst
Tester
You cannot talk about agility without eXtreme Programming practices And XP can only be achieved by pashioned programmers
last words
ldquordquoİsa Goumlksu
Agile Practice Lead
Photos used in the slidES
httpwwwflickrcomphotosemmanuelecontini2558211856httpwwwflickrcomphotosthecampbells5103649471httpwwwflickrcomphotosrobbiemacphotos7875854334httpwwwflickrcomphotosw4nd3rl0st7174403872https590photobucketcomuserasmithjmediaCPCgirl_2_computer_arms_raised2jpghtmlhttpwwwflickrcomphotosusnavy5488581781httpwwwflickrcomphotospurplemattfish3489639831httpwwwflickrcomphotosthomashawk7215052318httpwwwflickrcomphotosnuwandalice4764805046httpwwwflickrcomphotoslauter-als-der-rest6898114788httpwwwflickrcomphotos31288116N024008216690httpwwwflickrcomphotosa2gemma1448178195httpwwwflickrcomphotosnuudls3281779141
Lemİ orhan ergİnlemiorhanagilistanbulcom
lemiorhan
lemiorhan
agilistanbulcom
lemiorhan
LINKE
DIN
TWITT
ERSL
IDES
HARE
BLOG
Principal Software Engineer SonyFounder amp Author agilistanbulcom
flyingtomooncom
The slides were presented on 13th of June 2013 at Agile Talks which is a set of seminars organized by Agile Turkey few times in a year in Turkey
The content of this presentation is originally in Turkish The author translated into English by purpose
of reasons to faila lotwe have
companypolitics
some of themare due to
we are unable to do anything here
developingsoftware in unnatural way
but the reason of all the others is
agendaThe Nature of SoftwareNaturalness of Software AgilityAgile Software Development Practices
The nature of software
and 9 main rules
The ultimate goal iscustomer satisfaction
1
Customers have rights to get software developed with the
features they need in a fast way
of course you might not satisfy your
customer at this level thatrsquos fine
In general the customersdo not know
what they really want
2
UNCERTAINITYexists in every step of development process
3
requirements
always change
4
Start Point
Target Point
2
1
3
Software development is not just
5
Programming
Software should always be
maintainedafter go live
6
Software development is asocial activity
7
BIG-Up-front detailed estimation amp Design are
UNNECESSARY
8
ıncreases total real cost9 compromising quality
agilityconcept emerges for helping developers
to let them develop in natural way
agendaThe Nature of SoftwareNaturalness of Software AgilityAgile Software Development Practices
agilewhat is
Agile meansAdapting to change
rapidlyand sending a feature or a fix to market rapidly
agile meansevolving design and
development
Agile development is not onlyabout project planning
Project planning is just a part of agile software development
Agile software developmentAgile planning and managementSoftware development practices
Customer satisfactionTeamworkMotivation
this is the topic we are interested in
agendaThe Nature of SoftwareNaturalness of Software AgilityAgile Software Development Practices
working on the correct designwith newest and best technologies
in a short time
We aim to complete the projects by
However we always face with issues related withhumans
Getting feedback rapidlyAgile ve lean prenciples focus on the following
Speeding up feecback loops
Letrsquos develop a projectby using
agile development practices
See your developers not as resources but talents (No headcount calculation)Work with people who loves to share knowledge and experiences (Collaborative amp Volunteer)Educate people about agile practices and the philosophy behind (Up-Front Education)Build your team with passionate and disciplined developers (Passionate Developer)ldquoDonrsquot pick the right technology pick the one thatrsquos cheapest to changerdquo by chris matts
Before the start
Developer
Business Analyst
Tester
Product Owner
Developer
Make teams with cross functional people (Cross functional teams)Sit close to your team mates (Sitting CLOSE)Define the minimum set of features that you can get feedback (Minimum Viable Product) Focus on features valuable to the customer (Prioritization)Avoid doing big fat up-front design (Short Up-Front Design)Document enough donrsquot go deep into details (Agile Documentation)
Letrsquos start the project
Business Analyst
Tester
Keep your code in a version control system (Version Control System)Program in pairs (Pair Programming)Review othersrsquo code (CodePeer Review)Develop each feature in a new branch (Code Branching)Follow clean code principles (Clean Code Principles)Do code katas to improve your technical capabilities (Code Kata)Use idiomatic and architectural patterns in addition to design patterns (Idiomatic Patterns)Develop from customersrsquo point of view by BDD (Behaviour Driven Development)Develop from developersrsquo point of view by TDD (Test Driven Development)
Software development and social coding
VersionControlSystem
Developer
Business Analyst
Tester
Pull othersrsquo commits and integrate with yours at least once a day (Continuous Integration)Let the existing tests run automatically and get feedback about the failed ones (Continuous Build)Detect untested areas in your code and improve the code coverage (Code Coverage)Donrsquot afraid of deleting code improve your design with the help of written tests (Refactoring)Full feedback loop of continous integration should take at most 10 minutes (10 min build)
Continuous Integration
Messaging Services (emails messages)
VersionControlSystem
ContinuousDeployment
Developer
Business Analyst
Tester
Prepare a working copy of your software available in your CVS (SNAPSHOTs daily builds)Make the latest working copy of your software ready for deployment (Continuous delivery)
Continuous Delivery
Package Repository
Messaging Services (emails messages)
VersionControlSystem
ContinuousDeployment
Developer
Business Analyst
Tester
DEV TEST amp QA STAGING PROD
Prepare an environment where developers can do experiments and test their code (DEV)Have an environment where performance and load tests can be done (TESTQUALITY ASSURANCE)User acceptance tests should be done on an environment similar to production (STAGINGUATSIT)
Development Environments
Package Repository
Messaging Services (emails messages)
VersionControlSystem
Make releases frequently (SHORT RELEASES)Deploy your applications with one click (Continuous DEPLOYMENT)Shorten release and boot times of your software (Fast bootup)Raise DevOps that knows software development and IT operations at the same time (DEVOPS)
Release Management amp Deployments
DEV
TEST amp QA
STAGING
PROD
ContinuousDeployment
Developer
Business Analyst
Tester
Clouds force you to follow the practices to some extent
Software development on clouds
DevOpsDevOps DevOps DevOps
VersionControlSystem
Developer
Business Analyst
Tester
You cannot talk about agility without eXtreme Programming practices And XP can only be achieved by pashioned programmers
last words
ldquordquoİsa Goumlksu
Agile Practice Lead
Photos used in the slidES
httpwwwflickrcomphotosemmanuelecontini2558211856httpwwwflickrcomphotosthecampbells5103649471httpwwwflickrcomphotosrobbiemacphotos7875854334httpwwwflickrcomphotosw4nd3rl0st7174403872https590photobucketcomuserasmithjmediaCPCgirl_2_computer_arms_raised2jpghtmlhttpwwwflickrcomphotosusnavy5488581781httpwwwflickrcomphotospurplemattfish3489639831httpwwwflickrcomphotosthomashawk7215052318httpwwwflickrcomphotosnuwandalice4764805046httpwwwflickrcomphotoslauter-als-der-rest6898114788httpwwwflickrcomphotos31288116N024008216690httpwwwflickrcomphotosa2gemma1448178195httpwwwflickrcomphotosnuudls3281779141
Lemİ orhan ergİnlemiorhanagilistanbulcom
lemiorhan
lemiorhan
agilistanbulcom
lemiorhan
LINKE
DIN
TWITT
ERSL
IDES
HARE
BLOG
Principal Software Engineer SonyFounder amp Author agilistanbulcom
flyingtomooncom
The slides were presented on 13th of June 2013 at Agile Talks which is a set of seminars organized by Agile Turkey few times in a year in Turkey
The content of this presentation is originally in Turkish The author translated into English by purpose
companypolitics
some of themare due to
we are unable to do anything here
developingsoftware in unnatural way
but the reason of all the others is
agendaThe Nature of SoftwareNaturalness of Software AgilityAgile Software Development Practices
The nature of software
and 9 main rules
The ultimate goal iscustomer satisfaction
1
Customers have rights to get software developed with the
features they need in a fast way
of course you might not satisfy your
customer at this level thatrsquos fine
In general the customersdo not know
what they really want
2
UNCERTAINITYexists in every step of development process
3
requirements
always change
4
Start Point
Target Point
2
1
3
Software development is not just
5
Programming
Software should always be
maintainedafter go live
6
Software development is asocial activity
7
BIG-Up-front detailed estimation amp Design are
UNNECESSARY
8
ıncreases total real cost9 compromising quality
agilityconcept emerges for helping developers
to let them develop in natural way
agendaThe Nature of SoftwareNaturalness of Software AgilityAgile Software Development Practices
agilewhat is
Agile meansAdapting to change
rapidlyand sending a feature or a fix to market rapidly
agile meansevolving design and
development
Agile development is not onlyabout project planning
Project planning is just a part of agile software development
Agile software developmentAgile planning and managementSoftware development practices
Customer satisfactionTeamworkMotivation
this is the topic we are interested in
agendaThe Nature of SoftwareNaturalness of Software AgilityAgile Software Development Practices
working on the correct designwith newest and best technologies
in a short time
We aim to complete the projects by
However we always face with issues related withhumans
Getting feedback rapidlyAgile ve lean prenciples focus on the following
Speeding up feecback loops
Letrsquos develop a projectby using
agile development practices
See your developers not as resources but talents (No headcount calculation)Work with people who loves to share knowledge and experiences (Collaborative amp Volunteer)Educate people about agile practices and the philosophy behind (Up-Front Education)Build your team with passionate and disciplined developers (Passionate Developer)ldquoDonrsquot pick the right technology pick the one thatrsquos cheapest to changerdquo by chris matts
Before the start
Developer
Business Analyst
Tester
Product Owner
Developer
Make teams with cross functional people (Cross functional teams)Sit close to your team mates (Sitting CLOSE)Define the minimum set of features that you can get feedback (Minimum Viable Product) Focus on features valuable to the customer (Prioritization)Avoid doing big fat up-front design (Short Up-Front Design)Document enough donrsquot go deep into details (Agile Documentation)
Letrsquos start the project
Business Analyst
Tester
Keep your code in a version control system (Version Control System)Program in pairs (Pair Programming)Review othersrsquo code (CodePeer Review)Develop each feature in a new branch (Code Branching)Follow clean code principles (Clean Code Principles)Do code katas to improve your technical capabilities (Code Kata)Use idiomatic and architectural patterns in addition to design patterns (Idiomatic Patterns)Develop from customersrsquo point of view by BDD (Behaviour Driven Development)Develop from developersrsquo point of view by TDD (Test Driven Development)
Software development and social coding
VersionControlSystem
Developer
Business Analyst
Tester
Pull othersrsquo commits and integrate with yours at least once a day (Continuous Integration)Let the existing tests run automatically and get feedback about the failed ones (Continuous Build)Detect untested areas in your code and improve the code coverage (Code Coverage)Donrsquot afraid of deleting code improve your design with the help of written tests (Refactoring)Full feedback loop of continous integration should take at most 10 minutes (10 min build)
Continuous Integration
Messaging Services (emails messages)
VersionControlSystem
ContinuousDeployment
Developer
Business Analyst
Tester
Prepare a working copy of your software available in your CVS (SNAPSHOTs daily builds)Make the latest working copy of your software ready for deployment (Continuous delivery)
Continuous Delivery
Package Repository
Messaging Services (emails messages)
VersionControlSystem
ContinuousDeployment
Developer
Business Analyst
Tester
DEV TEST amp QA STAGING PROD
Prepare an environment where developers can do experiments and test their code (DEV)Have an environment where performance and load tests can be done (TESTQUALITY ASSURANCE)User acceptance tests should be done on an environment similar to production (STAGINGUATSIT)
Development Environments
Package Repository
Messaging Services (emails messages)
VersionControlSystem
Make releases frequently (SHORT RELEASES)Deploy your applications with one click (Continuous DEPLOYMENT)Shorten release and boot times of your software (Fast bootup)Raise DevOps that knows software development and IT operations at the same time (DEVOPS)
Release Management amp Deployments
DEV
TEST amp QA
STAGING
PROD
ContinuousDeployment
Developer
Business Analyst
Tester
Clouds force you to follow the practices to some extent
Software development on clouds
DevOpsDevOps DevOps DevOps
VersionControlSystem
Developer
Business Analyst
Tester
You cannot talk about agility without eXtreme Programming practices And XP can only be achieved by pashioned programmers
last words
ldquordquoİsa Goumlksu
Agile Practice Lead
Photos used in the slidES
httpwwwflickrcomphotosemmanuelecontini2558211856httpwwwflickrcomphotosthecampbells5103649471httpwwwflickrcomphotosrobbiemacphotos7875854334httpwwwflickrcomphotosw4nd3rl0st7174403872https590photobucketcomuserasmithjmediaCPCgirl_2_computer_arms_raised2jpghtmlhttpwwwflickrcomphotosusnavy5488581781httpwwwflickrcomphotospurplemattfish3489639831httpwwwflickrcomphotosthomashawk7215052318httpwwwflickrcomphotosnuwandalice4764805046httpwwwflickrcomphotoslauter-als-der-rest6898114788httpwwwflickrcomphotos31288116N024008216690httpwwwflickrcomphotosa2gemma1448178195httpwwwflickrcomphotosnuudls3281779141
Lemİ orhan ergİnlemiorhanagilistanbulcom
lemiorhan
lemiorhan
agilistanbulcom
lemiorhan
LINKE
DIN
TWITT
ERSL
IDES
HARE
BLOG
Principal Software Engineer SonyFounder amp Author agilistanbulcom
flyingtomooncom
The slides were presented on 13th of June 2013 at Agile Talks which is a set of seminars organized by Agile Turkey few times in a year in Turkey
The content of this presentation is originally in Turkish The author translated into English by purpose
developingsoftware in unnatural way
but the reason of all the others is
agendaThe Nature of SoftwareNaturalness of Software AgilityAgile Software Development Practices
The nature of software
and 9 main rules
The ultimate goal iscustomer satisfaction
1
Customers have rights to get software developed with the
features they need in a fast way
of course you might not satisfy your
customer at this level thatrsquos fine
In general the customersdo not know
what they really want
2
UNCERTAINITYexists in every step of development process
3
requirements
always change
4
Start Point
Target Point
2
1
3
Software development is not just
5
Programming
Software should always be
maintainedafter go live
6
Software development is asocial activity
7
BIG-Up-front detailed estimation amp Design are
UNNECESSARY
8
ıncreases total real cost9 compromising quality
agilityconcept emerges for helping developers
to let them develop in natural way
agendaThe Nature of SoftwareNaturalness of Software AgilityAgile Software Development Practices
agilewhat is
Agile meansAdapting to change
rapidlyand sending a feature or a fix to market rapidly
agile meansevolving design and
development
Agile development is not onlyabout project planning
Project planning is just a part of agile software development
Agile software developmentAgile planning and managementSoftware development practices
Customer satisfactionTeamworkMotivation
this is the topic we are interested in
agendaThe Nature of SoftwareNaturalness of Software AgilityAgile Software Development Practices
working on the correct designwith newest and best technologies
in a short time
We aim to complete the projects by
However we always face with issues related withhumans
Getting feedback rapidlyAgile ve lean prenciples focus on the following
Speeding up feecback loops
Letrsquos develop a projectby using
agile development practices
See your developers not as resources but talents (No headcount calculation)Work with people who loves to share knowledge and experiences (Collaborative amp Volunteer)Educate people about agile practices and the philosophy behind (Up-Front Education)Build your team with passionate and disciplined developers (Passionate Developer)ldquoDonrsquot pick the right technology pick the one thatrsquos cheapest to changerdquo by chris matts
Before the start
Developer
Business Analyst
Tester
Product Owner
Developer
Make teams with cross functional people (Cross functional teams)Sit close to your team mates (Sitting CLOSE)Define the minimum set of features that you can get feedback (Minimum Viable Product) Focus on features valuable to the customer (Prioritization)Avoid doing big fat up-front design (Short Up-Front Design)Document enough donrsquot go deep into details (Agile Documentation)
Letrsquos start the project
Business Analyst
Tester
Keep your code in a version control system (Version Control System)Program in pairs (Pair Programming)Review othersrsquo code (CodePeer Review)Develop each feature in a new branch (Code Branching)Follow clean code principles (Clean Code Principles)Do code katas to improve your technical capabilities (Code Kata)Use idiomatic and architectural patterns in addition to design patterns (Idiomatic Patterns)Develop from customersrsquo point of view by BDD (Behaviour Driven Development)Develop from developersrsquo point of view by TDD (Test Driven Development)
Software development and social coding
VersionControlSystem
Developer
Business Analyst
Tester
Pull othersrsquo commits and integrate with yours at least once a day (Continuous Integration)Let the existing tests run automatically and get feedback about the failed ones (Continuous Build)Detect untested areas in your code and improve the code coverage (Code Coverage)Donrsquot afraid of deleting code improve your design with the help of written tests (Refactoring)Full feedback loop of continous integration should take at most 10 minutes (10 min build)
Continuous Integration
Messaging Services (emails messages)
VersionControlSystem
ContinuousDeployment
Developer
Business Analyst
Tester
Prepare a working copy of your software available in your CVS (SNAPSHOTs daily builds)Make the latest working copy of your software ready for deployment (Continuous delivery)
Continuous Delivery
Package Repository
Messaging Services (emails messages)
VersionControlSystem
ContinuousDeployment
Developer
Business Analyst
Tester
DEV TEST amp QA STAGING PROD
Prepare an environment where developers can do experiments and test their code (DEV)Have an environment where performance and load tests can be done (TESTQUALITY ASSURANCE)User acceptance tests should be done on an environment similar to production (STAGINGUATSIT)
Development Environments
Package Repository
Messaging Services (emails messages)
VersionControlSystem
Make releases frequently (SHORT RELEASES)Deploy your applications with one click (Continuous DEPLOYMENT)Shorten release and boot times of your software (Fast bootup)Raise DevOps that knows software development and IT operations at the same time (DEVOPS)
Release Management amp Deployments
DEV
TEST amp QA
STAGING
PROD
ContinuousDeployment
Developer
Business Analyst
Tester
Clouds force you to follow the practices to some extent
Software development on clouds
DevOpsDevOps DevOps DevOps
VersionControlSystem
Developer
Business Analyst
Tester
You cannot talk about agility without eXtreme Programming practices And XP can only be achieved by pashioned programmers
last words
ldquordquoİsa Goumlksu
Agile Practice Lead
Photos used in the slidES
httpwwwflickrcomphotosemmanuelecontini2558211856httpwwwflickrcomphotosthecampbells5103649471httpwwwflickrcomphotosrobbiemacphotos7875854334httpwwwflickrcomphotosw4nd3rl0st7174403872https590photobucketcomuserasmithjmediaCPCgirl_2_computer_arms_raised2jpghtmlhttpwwwflickrcomphotosusnavy5488581781httpwwwflickrcomphotospurplemattfish3489639831httpwwwflickrcomphotosthomashawk7215052318httpwwwflickrcomphotosnuwandalice4764805046httpwwwflickrcomphotoslauter-als-der-rest6898114788httpwwwflickrcomphotos31288116N024008216690httpwwwflickrcomphotosa2gemma1448178195httpwwwflickrcomphotosnuudls3281779141
Lemİ orhan ergİnlemiorhanagilistanbulcom
lemiorhan
lemiorhan
agilistanbulcom
lemiorhan
LINKE
DIN
TWITT
ERSL
IDES
HARE
BLOG
Principal Software Engineer SonyFounder amp Author agilistanbulcom
flyingtomooncom
The slides were presented on 13th of June 2013 at Agile Talks which is a set of seminars organized by Agile Turkey few times in a year in Turkey
The content of this presentation is originally in Turkish The author translated into English by purpose
agendaThe Nature of SoftwareNaturalness of Software AgilityAgile Software Development Practices
The nature of software
and 9 main rules
The ultimate goal iscustomer satisfaction
1
Customers have rights to get software developed with the
features they need in a fast way
of course you might not satisfy your
customer at this level thatrsquos fine
In general the customersdo not know
what they really want
2
UNCERTAINITYexists in every step of development process
3
requirements
always change
4
Start Point
Target Point
2
1
3
Software development is not just
5
Programming
Software should always be
maintainedafter go live
6
Software development is asocial activity
7
BIG-Up-front detailed estimation amp Design are
UNNECESSARY
8
ıncreases total real cost9 compromising quality
agilityconcept emerges for helping developers
to let them develop in natural way
agendaThe Nature of SoftwareNaturalness of Software AgilityAgile Software Development Practices
agilewhat is
Agile meansAdapting to change
rapidlyand sending a feature or a fix to market rapidly
agile meansevolving design and
development
Agile development is not onlyabout project planning
Project planning is just a part of agile software development
Agile software developmentAgile planning and managementSoftware development practices
Customer satisfactionTeamworkMotivation
this is the topic we are interested in
agendaThe Nature of SoftwareNaturalness of Software AgilityAgile Software Development Practices
working on the correct designwith newest and best technologies
in a short time
We aim to complete the projects by
However we always face with issues related withhumans
Getting feedback rapidlyAgile ve lean prenciples focus on the following
Speeding up feecback loops
Letrsquos develop a projectby using
agile development practices
See your developers not as resources but talents (No headcount calculation)Work with people who loves to share knowledge and experiences (Collaborative amp Volunteer)Educate people about agile practices and the philosophy behind (Up-Front Education)Build your team with passionate and disciplined developers (Passionate Developer)ldquoDonrsquot pick the right technology pick the one thatrsquos cheapest to changerdquo by chris matts
Before the start
Developer
Business Analyst
Tester
Product Owner
Developer
Make teams with cross functional people (Cross functional teams)Sit close to your team mates (Sitting CLOSE)Define the minimum set of features that you can get feedback (Minimum Viable Product) Focus on features valuable to the customer (Prioritization)Avoid doing big fat up-front design (Short Up-Front Design)Document enough donrsquot go deep into details (Agile Documentation)
Letrsquos start the project
Business Analyst
Tester
Keep your code in a version control system (Version Control System)Program in pairs (Pair Programming)Review othersrsquo code (CodePeer Review)Develop each feature in a new branch (Code Branching)Follow clean code principles (Clean Code Principles)Do code katas to improve your technical capabilities (Code Kata)Use idiomatic and architectural patterns in addition to design patterns (Idiomatic Patterns)Develop from customersrsquo point of view by BDD (Behaviour Driven Development)Develop from developersrsquo point of view by TDD (Test Driven Development)
Software development and social coding
VersionControlSystem
Developer
Business Analyst
Tester
Pull othersrsquo commits and integrate with yours at least once a day (Continuous Integration)Let the existing tests run automatically and get feedback about the failed ones (Continuous Build)Detect untested areas in your code and improve the code coverage (Code Coverage)Donrsquot afraid of deleting code improve your design with the help of written tests (Refactoring)Full feedback loop of continous integration should take at most 10 minutes (10 min build)
Continuous Integration
Messaging Services (emails messages)
VersionControlSystem
ContinuousDeployment
Developer
Business Analyst
Tester
Prepare a working copy of your software available in your CVS (SNAPSHOTs daily builds)Make the latest working copy of your software ready for deployment (Continuous delivery)
Continuous Delivery
Package Repository
Messaging Services (emails messages)
VersionControlSystem
ContinuousDeployment
Developer
Business Analyst
Tester
DEV TEST amp QA STAGING PROD
Prepare an environment where developers can do experiments and test their code (DEV)Have an environment where performance and load tests can be done (TESTQUALITY ASSURANCE)User acceptance tests should be done on an environment similar to production (STAGINGUATSIT)
Development Environments
Package Repository
Messaging Services (emails messages)
VersionControlSystem
Make releases frequently (SHORT RELEASES)Deploy your applications with one click (Continuous DEPLOYMENT)Shorten release and boot times of your software (Fast bootup)Raise DevOps that knows software development and IT operations at the same time (DEVOPS)
Release Management amp Deployments
DEV
TEST amp QA
STAGING
PROD
ContinuousDeployment
Developer
Business Analyst
Tester
Clouds force you to follow the practices to some extent
Software development on clouds
DevOpsDevOps DevOps DevOps
VersionControlSystem
Developer
Business Analyst
Tester
You cannot talk about agility without eXtreme Programming practices And XP can only be achieved by pashioned programmers
last words
ldquordquoİsa Goumlksu
Agile Practice Lead
Photos used in the slidES
httpwwwflickrcomphotosemmanuelecontini2558211856httpwwwflickrcomphotosthecampbells5103649471httpwwwflickrcomphotosrobbiemacphotos7875854334httpwwwflickrcomphotosw4nd3rl0st7174403872https590photobucketcomuserasmithjmediaCPCgirl_2_computer_arms_raised2jpghtmlhttpwwwflickrcomphotosusnavy5488581781httpwwwflickrcomphotospurplemattfish3489639831httpwwwflickrcomphotosthomashawk7215052318httpwwwflickrcomphotosnuwandalice4764805046httpwwwflickrcomphotoslauter-als-der-rest6898114788httpwwwflickrcomphotos31288116N024008216690httpwwwflickrcomphotosa2gemma1448178195httpwwwflickrcomphotosnuudls3281779141
Lemİ orhan ergİnlemiorhanagilistanbulcom
lemiorhan
lemiorhan
agilistanbulcom
lemiorhan
LINKE
DIN
TWITT
ERSL
IDES
HARE
BLOG
Principal Software Engineer SonyFounder amp Author agilistanbulcom
flyingtomooncom
The slides were presented on 13th of June 2013 at Agile Talks which is a set of seminars organized by Agile Turkey few times in a year in Turkey
The content of this presentation is originally in Turkish The author translated into English by purpose
The nature of software
and 9 main rules
The ultimate goal iscustomer satisfaction
1
Customers have rights to get software developed with the
features they need in a fast way
of course you might not satisfy your
customer at this level thatrsquos fine
In general the customersdo not know
what they really want
2
UNCERTAINITYexists in every step of development process
3
requirements
always change
4
Start Point
Target Point
2
1
3
Software development is not just
5
Programming
Software should always be
maintainedafter go live
6
Software development is asocial activity
7
BIG-Up-front detailed estimation amp Design are
UNNECESSARY
8
ıncreases total real cost9 compromising quality
agilityconcept emerges for helping developers
to let them develop in natural way
agendaThe Nature of SoftwareNaturalness of Software AgilityAgile Software Development Practices
agilewhat is
Agile meansAdapting to change
rapidlyand sending a feature or a fix to market rapidly
agile meansevolving design and
development
Agile development is not onlyabout project planning
Project planning is just a part of agile software development
Agile software developmentAgile planning and managementSoftware development practices
Customer satisfactionTeamworkMotivation
this is the topic we are interested in
agendaThe Nature of SoftwareNaturalness of Software AgilityAgile Software Development Practices
working on the correct designwith newest and best technologies
in a short time
We aim to complete the projects by
However we always face with issues related withhumans
Getting feedback rapidlyAgile ve lean prenciples focus on the following
Speeding up feecback loops
Letrsquos develop a projectby using
agile development practices
See your developers not as resources but talents (No headcount calculation)Work with people who loves to share knowledge and experiences (Collaborative amp Volunteer)Educate people about agile practices and the philosophy behind (Up-Front Education)Build your team with passionate and disciplined developers (Passionate Developer)ldquoDonrsquot pick the right technology pick the one thatrsquos cheapest to changerdquo by chris matts
Before the start
Developer
Business Analyst
Tester
Product Owner
Developer
Make teams with cross functional people (Cross functional teams)Sit close to your team mates (Sitting CLOSE)Define the minimum set of features that you can get feedback (Minimum Viable Product) Focus on features valuable to the customer (Prioritization)Avoid doing big fat up-front design (Short Up-Front Design)Document enough donrsquot go deep into details (Agile Documentation)
Letrsquos start the project
Business Analyst
Tester
Keep your code in a version control system (Version Control System)Program in pairs (Pair Programming)Review othersrsquo code (CodePeer Review)Develop each feature in a new branch (Code Branching)Follow clean code principles (Clean Code Principles)Do code katas to improve your technical capabilities (Code Kata)Use idiomatic and architectural patterns in addition to design patterns (Idiomatic Patterns)Develop from customersrsquo point of view by BDD (Behaviour Driven Development)Develop from developersrsquo point of view by TDD (Test Driven Development)
Software development and social coding
VersionControlSystem
Developer
Business Analyst
Tester
Pull othersrsquo commits and integrate with yours at least once a day (Continuous Integration)Let the existing tests run automatically and get feedback about the failed ones (Continuous Build)Detect untested areas in your code and improve the code coverage (Code Coverage)Donrsquot afraid of deleting code improve your design with the help of written tests (Refactoring)Full feedback loop of continous integration should take at most 10 minutes (10 min build)
Continuous Integration
Messaging Services (emails messages)
VersionControlSystem
ContinuousDeployment
Developer
Business Analyst
Tester
Prepare a working copy of your software available in your CVS (SNAPSHOTs daily builds)Make the latest working copy of your software ready for deployment (Continuous delivery)
Continuous Delivery
Package Repository
Messaging Services (emails messages)
VersionControlSystem
ContinuousDeployment
Developer
Business Analyst
Tester
DEV TEST amp QA STAGING PROD
Prepare an environment where developers can do experiments and test their code (DEV)Have an environment where performance and load tests can be done (TESTQUALITY ASSURANCE)User acceptance tests should be done on an environment similar to production (STAGINGUATSIT)
Development Environments
Package Repository
Messaging Services (emails messages)
VersionControlSystem
Make releases frequently (SHORT RELEASES)Deploy your applications with one click (Continuous DEPLOYMENT)Shorten release and boot times of your software (Fast bootup)Raise DevOps that knows software development and IT operations at the same time (DEVOPS)
Release Management amp Deployments
DEV
TEST amp QA
STAGING
PROD
ContinuousDeployment
Developer
Business Analyst
Tester
Clouds force you to follow the practices to some extent
Software development on clouds
DevOpsDevOps DevOps DevOps
VersionControlSystem
Developer
Business Analyst
Tester
You cannot talk about agility without eXtreme Programming practices And XP can only be achieved by pashioned programmers
last words
ldquordquoİsa Goumlksu
Agile Practice Lead
Photos used in the slidES
httpwwwflickrcomphotosemmanuelecontini2558211856httpwwwflickrcomphotosthecampbells5103649471httpwwwflickrcomphotosrobbiemacphotos7875854334httpwwwflickrcomphotosw4nd3rl0st7174403872https590photobucketcomuserasmithjmediaCPCgirl_2_computer_arms_raised2jpghtmlhttpwwwflickrcomphotosusnavy5488581781httpwwwflickrcomphotospurplemattfish3489639831httpwwwflickrcomphotosthomashawk7215052318httpwwwflickrcomphotosnuwandalice4764805046httpwwwflickrcomphotoslauter-als-der-rest6898114788httpwwwflickrcomphotos31288116N024008216690httpwwwflickrcomphotosa2gemma1448178195httpwwwflickrcomphotosnuudls3281779141
Lemİ orhan ergİnlemiorhanagilistanbulcom
lemiorhan
lemiorhan
agilistanbulcom
lemiorhan
LINKE
DIN
TWITT
ERSL
IDES
HARE
BLOG
Principal Software Engineer SonyFounder amp Author agilistanbulcom
flyingtomooncom
The slides were presented on 13th of June 2013 at Agile Talks which is a set of seminars organized by Agile Turkey few times in a year in Turkey
The content of this presentation is originally in Turkish The author translated into English by purpose
The ultimate goal iscustomer satisfaction
1
Customers have rights to get software developed with the
features they need in a fast way
of course you might not satisfy your
customer at this level thatrsquos fine
In general the customersdo not know
what they really want
2
UNCERTAINITYexists in every step of development process
3
requirements
always change
4
Start Point
Target Point
2
1
3
Software development is not just
5
Programming
Software should always be
maintainedafter go live
6
Software development is asocial activity
7
BIG-Up-front detailed estimation amp Design are
UNNECESSARY
8
ıncreases total real cost9 compromising quality
agilityconcept emerges for helping developers
to let them develop in natural way
agendaThe Nature of SoftwareNaturalness of Software AgilityAgile Software Development Practices
agilewhat is
Agile meansAdapting to change
rapidlyand sending a feature or a fix to market rapidly
agile meansevolving design and
development
Agile development is not onlyabout project planning
Project planning is just a part of agile software development
Agile software developmentAgile planning and managementSoftware development practices
Customer satisfactionTeamworkMotivation
this is the topic we are interested in
agendaThe Nature of SoftwareNaturalness of Software AgilityAgile Software Development Practices
working on the correct designwith newest and best technologies
in a short time
We aim to complete the projects by
However we always face with issues related withhumans
Getting feedback rapidlyAgile ve lean prenciples focus on the following
Speeding up feecback loops
Letrsquos develop a projectby using
agile development practices
See your developers not as resources but talents (No headcount calculation)Work with people who loves to share knowledge and experiences (Collaborative amp Volunteer)Educate people about agile practices and the philosophy behind (Up-Front Education)Build your team with passionate and disciplined developers (Passionate Developer)ldquoDonrsquot pick the right technology pick the one thatrsquos cheapest to changerdquo by chris matts
Before the start
Developer
Business Analyst
Tester
Product Owner
Developer
Make teams with cross functional people (Cross functional teams)Sit close to your team mates (Sitting CLOSE)Define the minimum set of features that you can get feedback (Minimum Viable Product) Focus on features valuable to the customer (Prioritization)Avoid doing big fat up-front design (Short Up-Front Design)Document enough donrsquot go deep into details (Agile Documentation)
Letrsquos start the project
Business Analyst
Tester
Keep your code in a version control system (Version Control System)Program in pairs (Pair Programming)Review othersrsquo code (CodePeer Review)Develop each feature in a new branch (Code Branching)Follow clean code principles (Clean Code Principles)Do code katas to improve your technical capabilities (Code Kata)Use idiomatic and architectural patterns in addition to design patterns (Idiomatic Patterns)Develop from customersrsquo point of view by BDD (Behaviour Driven Development)Develop from developersrsquo point of view by TDD (Test Driven Development)
Software development and social coding
VersionControlSystem
Developer
Business Analyst
Tester
Pull othersrsquo commits and integrate with yours at least once a day (Continuous Integration)Let the existing tests run automatically and get feedback about the failed ones (Continuous Build)Detect untested areas in your code and improve the code coverage (Code Coverage)Donrsquot afraid of deleting code improve your design with the help of written tests (Refactoring)Full feedback loop of continous integration should take at most 10 minutes (10 min build)
Continuous Integration
Messaging Services (emails messages)
VersionControlSystem
ContinuousDeployment
Developer
Business Analyst
Tester
Prepare a working copy of your software available in your CVS (SNAPSHOTs daily builds)Make the latest working copy of your software ready for deployment (Continuous delivery)
Continuous Delivery
Package Repository
Messaging Services (emails messages)
VersionControlSystem
ContinuousDeployment
Developer
Business Analyst
Tester
DEV TEST amp QA STAGING PROD
Prepare an environment where developers can do experiments and test their code (DEV)Have an environment where performance and load tests can be done (TESTQUALITY ASSURANCE)User acceptance tests should be done on an environment similar to production (STAGINGUATSIT)
Development Environments
Package Repository
Messaging Services (emails messages)
VersionControlSystem
Make releases frequently (SHORT RELEASES)Deploy your applications with one click (Continuous DEPLOYMENT)Shorten release and boot times of your software (Fast bootup)Raise DevOps that knows software development and IT operations at the same time (DEVOPS)
Release Management amp Deployments
DEV
TEST amp QA
STAGING
PROD
ContinuousDeployment
Developer
Business Analyst
Tester
Clouds force you to follow the practices to some extent
Software development on clouds
DevOpsDevOps DevOps DevOps
VersionControlSystem
Developer
Business Analyst
Tester
You cannot talk about agility without eXtreme Programming practices And XP can only be achieved by pashioned programmers
last words
ldquordquoİsa Goumlksu
Agile Practice Lead
Photos used in the slidES
httpwwwflickrcomphotosemmanuelecontini2558211856httpwwwflickrcomphotosthecampbells5103649471httpwwwflickrcomphotosrobbiemacphotos7875854334httpwwwflickrcomphotosw4nd3rl0st7174403872https590photobucketcomuserasmithjmediaCPCgirl_2_computer_arms_raised2jpghtmlhttpwwwflickrcomphotosusnavy5488581781httpwwwflickrcomphotospurplemattfish3489639831httpwwwflickrcomphotosthomashawk7215052318httpwwwflickrcomphotosnuwandalice4764805046httpwwwflickrcomphotoslauter-als-der-rest6898114788httpwwwflickrcomphotos31288116N024008216690httpwwwflickrcomphotosa2gemma1448178195httpwwwflickrcomphotosnuudls3281779141
Lemİ orhan ergİnlemiorhanagilistanbulcom
lemiorhan
lemiorhan
agilistanbulcom
lemiorhan
LINKE
DIN
TWITT
ERSL
IDES
HARE
BLOG
Principal Software Engineer SonyFounder amp Author agilistanbulcom
flyingtomooncom
The slides were presented on 13th of June 2013 at Agile Talks which is a set of seminars organized by Agile Turkey few times in a year in Turkey
The content of this presentation is originally in Turkish The author translated into English by purpose
In general the customersdo not know
what they really want
2
UNCERTAINITYexists in every step of development process
3
requirements
always change
4
Start Point
Target Point
2
1
3
Software development is not just
5
Programming
Software should always be
maintainedafter go live
6
Software development is asocial activity
7
BIG-Up-front detailed estimation amp Design are
UNNECESSARY
8
ıncreases total real cost9 compromising quality
agilityconcept emerges for helping developers
to let them develop in natural way
agendaThe Nature of SoftwareNaturalness of Software AgilityAgile Software Development Practices
agilewhat is
Agile meansAdapting to change
rapidlyand sending a feature or a fix to market rapidly
agile meansevolving design and
development
Agile development is not onlyabout project planning
Project planning is just a part of agile software development
Agile software developmentAgile planning and managementSoftware development practices
Customer satisfactionTeamworkMotivation
this is the topic we are interested in
agendaThe Nature of SoftwareNaturalness of Software AgilityAgile Software Development Practices
working on the correct designwith newest and best technologies
in a short time
We aim to complete the projects by
However we always face with issues related withhumans
Getting feedback rapidlyAgile ve lean prenciples focus on the following
Speeding up feecback loops
Letrsquos develop a projectby using
agile development practices
See your developers not as resources but talents (No headcount calculation)Work with people who loves to share knowledge and experiences (Collaborative amp Volunteer)Educate people about agile practices and the philosophy behind (Up-Front Education)Build your team with passionate and disciplined developers (Passionate Developer)ldquoDonrsquot pick the right technology pick the one thatrsquos cheapest to changerdquo by chris matts
Before the start
Developer
Business Analyst
Tester
Product Owner
Developer
Make teams with cross functional people (Cross functional teams)Sit close to your team mates (Sitting CLOSE)Define the minimum set of features that you can get feedback (Minimum Viable Product) Focus on features valuable to the customer (Prioritization)Avoid doing big fat up-front design (Short Up-Front Design)Document enough donrsquot go deep into details (Agile Documentation)
Letrsquos start the project
Business Analyst
Tester
Keep your code in a version control system (Version Control System)Program in pairs (Pair Programming)Review othersrsquo code (CodePeer Review)Develop each feature in a new branch (Code Branching)Follow clean code principles (Clean Code Principles)Do code katas to improve your technical capabilities (Code Kata)Use idiomatic and architectural patterns in addition to design patterns (Idiomatic Patterns)Develop from customersrsquo point of view by BDD (Behaviour Driven Development)Develop from developersrsquo point of view by TDD (Test Driven Development)
Software development and social coding
VersionControlSystem
Developer
Business Analyst
Tester
Pull othersrsquo commits and integrate with yours at least once a day (Continuous Integration)Let the existing tests run automatically and get feedback about the failed ones (Continuous Build)Detect untested areas in your code and improve the code coverage (Code Coverage)Donrsquot afraid of deleting code improve your design with the help of written tests (Refactoring)Full feedback loop of continous integration should take at most 10 minutes (10 min build)
Continuous Integration
Messaging Services (emails messages)
VersionControlSystem
ContinuousDeployment
Developer
Business Analyst
Tester
Prepare a working copy of your software available in your CVS (SNAPSHOTs daily builds)Make the latest working copy of your software ready for deployment (Continuous delivery)
Continuous Delivery
Package Repository
Messaging Services (emails messages)
VersionControlSystem
ContinuousDeployment
Developer
Business Analyst
Tester
DEV TEST amp QA STAGING PROD
Prepare an environment where developers can do experiments and test their code (DEV)Have an environment where performance and load tests can be done (TESTQUALITY ASSURANCE)User acceptance tests should be done on an environment similar to production (STAGINGUATSIT)
Development Environments
Package Repository
Messaging Services (emails messages)
VersionControlSystem
Make releases frequently (SHORT RELEASES)Deploy your applications with one click (Continuous DEPLOYMENT)Shorten release and boot times of your software (Fast bootup)Raise DevOps that knows software development and IT operations at the same time (DEVOPS)
Release Management amp Deployments
DEV
TEST amp QA
STAGING
PROD
ContinuousDeployment
Developer
Business Analyst
Tester
Clouds force you to follow the practices to some extent
Software development on clouds
DevOpsDevOps DevOps DevOps
VersionControlSystem
Developer
Business Analyst
Tester
You cannot talk about agility without eXtreme Programming practices And XP can only be achieved by pashioned programmers
last words
ldquordquoİsa Goumlksu
Agile Practice Lead
Photos used in the slidES
httpwwwflickrcomphotosemmanuelecontini2558211856httpwwwflickrcomphotosthecampbells5103649471httpwwwflickrcomphotosrobbiemacphotos7875854334httpwwwflickrcomphotosw4nd3rl0st7174403872https590photobucketcomuserasmithjmediaCPCgirl_2_computer_arms_raised2jpghtmlhttpwwwflickrcomphotosusnavy5488581781httpwwwflickrcomphotospurplemattfish3489639831httpwwwflickrcomphotosthomashawk7215052318httpwwwflickrcomphotosnuwandalice4764805046httpwwwflickrcomphotoslauter-als-der-rest6898114788httpwwwflickrcomphotos31288116N024008216690httpwwwflickrcomphotosa2gemma1448178195httpwwwflickrcomphotosnuudls3281779141
Lemİ orhan ergİnlemiorhanagilistanbulcom
lemiorhan
lemiorhan
agilistanbulcom
lemiorhan
LINKE
DIN
TWITT
ERSL
IDES
HARE
BLOG
Principal Software Engineer SonyFounder amp Author agilistanbulcom
flyingtomooncom
The slides were presented on 13th of June 2013 at Agile Talks which is a set of seminars organized by Agile Turkey few times in a year in Turkey
The content of this presentation is originally in Turkish The author translated into English by purpose
UNCERTAINITYexists in every step of development process
3
requirements
always change
4
Start Point
Target Point
2
1
3
Software development is not just
5
Programming
Software should always be
maintainedafter go live
6
Software development is asocial activity
7
BIG-Up-front detailed estimation amp Design are
UNNECESSARY
8
ıncreases total real cost9 compromising quality
agilityconcept emerges for helping developers
to let them develop in natural way
agendaThe Nature of SoftwareNaturalness of Software AgilityAgile Software Development Practices
agilewhat is
Agile meansAdapting to change
rapidlyand sending a feature or a fix to market rapidly
agile meansevolving design and
development
Agile development is not onlyabout project planning
Project planning is just a part of agile software development
Agile software developmentAgile planning and managementSoftware development practices
Customer satisfactionTeamworkMotivation
this is the topic we are interested in
agendaThe Nature of SoftwareNaturalness of Software AgilityAgile Software Development Practices
working on the correct designwith newest and best technologies
in a short time
We aim to complete the projects by
However we always face with issues related withhumans
Getting feedback rapidlyAgile ve lean prenciples focus on the following
Speeding up feecback loops
Letrsquos develop a projectby using
agile development practices
See your developers not as resources but talents (No headcount calculation)Work with people who loves to share knowledge and experiences (Collaborative amp Volunteer)Educate people about agile practices and the philosophy behind (Up-Front Education)Build your team with passionate and disciplined developers (Passionate Developer)ldquoDonrsquot pick the right technology pick the one thatrsquos cheapest to changerdquo by chris matts
Before the start
Developer
Business Analyst
Tester
Product Owner
Developer
Make teams with cross functional people (Cross functional teams)Sit close to your team mates (Sitting CLOSE)Define the minimum set of features that you can get feedback (Minimum Viable Product) Focus on features valuable to the customer (Prioritization)Avoid doing big fat up-front design (Short Up-Front Design)Document enough donrsquot go deep into details (Agile Documentation)
Letrsquos start the project
Business Analyst
Tester
Keep your code in a version control system (Version Control System)Program in pairs (Pair Programming)Review othersrsquo code (CodePeer Review)Develop each feature in a new branch (Code Branching)Follow clean code principles (Clean Code Principles)Do code katas to improve your technical capabilities (Code Kata)Use idiomatic and architectural patterns in addition to design patterns (Idiomatic Patterns)Develop from customersrsquo point of view by BDD (Behaviour Driven Development)Develop from developersrsquo point of view by TDD (Test Driven Development)
Software development and social coding
VersionControlSystem
Developer
Business Analyst
Tester
Pull othersrsquo commits and integrate with yours at least once a day (Continuous Integration)Let the existing tests run automatically and get feedback about the failed ones (Continuous Build)Detect untested areas in your code and improve the code coverage (Code Coverage)Donrsquot afraid of deleting code improve your design with the help of written tests (Refactoring)Full feedback loop of continous integration should take at most 10 minutes (10 min build)
Continuous Integration
Messaging Services (emails messages)
VersionControlSystem
ContinuousDeployment
Developer
Business Analyst
Tester
Prepare a working copy of your software available in your CVS (SNAPSHOTs daily builds)Make the latest working copy of your software ready for deployment (Continuous delivery)
Continuous Delivery
Package Repository
Messaging Services (emails messages)
VersionControlSystem
ContinuousDeployment
Developer
Business Analyst
Tester
DEV TEST amp QA STAGING PROD
Prepare an environment where developers can do experiments and test their code (DEV)Have an environment where performance and load tests can be done (TESTQUALITY ASSURANCE)User acceptance tests should be done on an environment similar to production (STAGINGUATSIT)
Development Environments
Package Repository
Messaging Services (emails messages)
VersionControlSystem
Make releases frequently (SHORT RELEASES)Deploy your applications with one click (Continuous DEPLOYMENT)Shorten release and boot times of your software (Fast bootup)Raise DevOps that knows software development and IT operations at the same time (DEVOPS)
Release Management amp Deployments
DEV
TEST amp QA
STAGING
PROD
ContinuousDeployment
Developer
Business Analyst
Tester
Clouds force you to follow the practices to some extent
Software development on clouds
DevOpsDevOps DevOps DevOps
VersionControlSystem
Developer
Business Analyst
Tester
You cannot talk about agility without eXtreme Programming practices And XP can only be achieved by pashioned programmers
last words
ldquordquoİsa Goumlksu
Agile Practice Lead
Photos used in the slidES
httpwwwflickrcomphotosemmanuelecontini2558211856httpwwwflickrcomphotosthecampbells5103649471httpwwwflickrcomphotosrobbiemacphotos7875854334httpwwwflickrcomphotosw4nd3rl0st7174403872https590photobucketcomuserasmithjmediaCPCgirl_2_computer_arms_raised2jpghtmlhttpwwwflickrcomphotosusnavy5488581781httpwwwflickrcomphotospurplemattfish3489639831httpwwwflickrcomphotosthomashawk7215052318httpwwwflickrcomphotosnuwandalice4764805046httpwwwflickrcomphotoslauter-als-der-rest6898114788httpwwwflickrcomphotos31288116N024008216690httpwwwflickrcomphotosa2gemma1448178195httpwwwflickrcomphotosnuudls3281779141
Lemİ orhan ergİnlemiorhanagilistanbulcom
lemiorhan
lemiorhan
agilistanbulcom
lemiorhan
LINKE
DIN
TWITT
ERSL
IDES
HARE
BLOG
Principal Software Engineer SonyFounder amp Author agilistanbulcom
flyingtomooncom
The slides were presented on 13th of June 2013 at Agile Talks which is a set of seminars organized by Agile Turkey few times in a year in Turkey
The content of this presentation is originally in Turkish The author translated into English by purpose
requirements
always change
4
Start Point
Target Point
2
1
3
Software development is not just
5
Programming
Software should always be
maintainedafter go live
6
Software development is asocial activity
7
BIG-Up-front detailed estimation amp Design are
UNNECESSARY
8
ıncreases total real cost9 compromising quality
agilityconcept emerges for helping developers
to let them develop in natural way
agendaThe Nature of SoftwareNaturalness of Software AgilityAgile Software Development Practices
agilewhat is
Agile meansAdapting to change
rapidlyand sending a feature or a fix to market rapidly
agile meansevolving design and
development
Agile development is not onlyabout project planning
Project planning is just a part of agile software development
Agile software developmentAgile planning and managementSoftware development practices
Customer satisfactionTeamworkMotivation
this is the topic we are interested in
agendaThe Nature of SoftwareNaturalness of Software AgilityAgile Software Development Practices
working on the correct designwith newest and best technologies
in a short time
We aim to complete the projects by
However we always face with issues related withhumans
Getting feedback rapidlyAgile ve lean prenciples focus on the following
Speeding up feecback loops
Letrsquos develop a projectby using
agile development practices
See your developers not as resources but talents (No headcount calculation)Work with people who loves to share knowledge and experiences (Collaborative amp Volunteer)Educate people about agile practices and the philosophy behind (Up-Front Education)Build your team with passionate and disciplined developers (Passionate Developer)ldquoDonrsquot pick the right technology pick the one thatrsquos cheapest to changerdquo by chris matts
Before the start
Developer
Business Analyst
Tester
Product Owner
Developer
Make teams with cross functional people (Cross functional teams)Sit close to your team mates (Sitting CLOSE)Define the minimum set of features that you can get feedback (Minimum Viable Product) Focus on features valuable to the customer (Prioritization)Avoid doing big fat up-front design (Short Up-Front Design)Document enough donrsquot go deep into details (Agile Documentation)
Letrsquos start the project
Business Analyst
Tester
Keep your code in a version control system (Version Control System)Program in pairs (Pair Programming)Review othersrsquo code (CodePeer Review)Develop each feature in a new branch (Code Branching)Follow clean code principles (Clean Code Principles)Do code katas to improve your technical capabilities (Code Kata)Use idiomatic and architectural patterns in addition to design patterns (Idiomatic Patterns)Develop from customersrsquo point of view by BDD (Behaviour Driven Development)Develop from developersrsquo point of view by TDD (Test Driven Development)
Software development and social coding
VersionControlSystem
Developer
Business Analyst
Tester
Pull othersrsquo commits and integrate with yours at least once a day (Continuous Integration)Let the existing tests run automatically and get feedback about the failed ones (Continuous Build)Detect untested areas in your code and improve the code coverage (Code Coverage)Donrsquot afraid of deleting code improve your design with the help of written tests (Refactoring)Full feedback loop of continous integration should take at most 10 minutes (10 min build)
Continuous Integration
Messaging Services (emails messages)
VersionControlSystem
ContinuousDeployment
Developer
Business Analyst
Tester
Prepare a working copy of your software available in your CVS (SNAPSHOTs daily builds)Make the latest working copy of your software ready for deployment (Continuous delivery)
Continuous Delivery
Package Repository
Messaging Services (emails messages)
VersionControlSystem
ContinuousDeployment
Developer
Business Analyst
Tester
DEV TEST amp QA STAGING PROD
Prepare an environment where developers can do experiments and test their code (DEV)Have an environment where performance and load tests can be done (TESTQUALITY ASSURANCE)User acceptance tests should be done on an environment similar to production (STAGINGUATSIT)
Development Environments
Package Repository
Messaging Services (emails messages)
VersionControlSystem
Make releases frequently (SHORT RELEASES)Deploy your applications with one click (Continuous DEPLOYMENT)Shorten release and boot times of your software (Fast bootup)Raise DevOps that knows software development and IT operations at the same time (DEVOPS)
Release Management amp Deployments
DEV
TEST amp QA
STAGING
PROD
ContinuousDeployment
Developer
Business Analyst
Tester
Clouds force you to follow the practices to some extent
Software development on clouds
DevOpsDevOps DevOps DevOps
VersionControlSystem
Developer
Business Analyst
Tester
You cannot talk about agility without eXtreme Programming practices And XP can only be achieved by pashioned programmers
last words
ldquordquoİsa Goumlksu
Agile Practice Lead
Photos used in the slidES
httpwwwflickrcomphotosemmanuelecontini2558211856httpwwwflickrcomphotosthecampbells5103649471httpwwwflickrcomphotosrobbiemacphotos7875854334httpwwwflickrcomphotosw4nd3rl0st7174403872https590photobucketcomuserasmithjmediaCPCgirl_2_computer_arms_raised2jpghtmlhttpwwwflickrcomphotosusnavy5488581781httpwwwflickrcomphotospurplemattfish3489639831httpwwwflickrcomphotosthomashawk7215052318httpwwwflickrcomphotosnuwandalice4764805046httpwwwflickrcomphotoslauter-als-der-rest6898114788httpwwwflickrcomphotos31288116N024008216690httpwwwflickrcomphotosa2gemma1448178195httpwwwflickrcomphotosnuudls3281779141
Lemİ orhan ergİnlemiorhanagilistanbulcom
lemiorhan
lemiorhan
agilistanbulcom
lemiorhan
LINKE
DIN
TWITT
ERSL
IDES
HARE
BLOG
Principal Software Engineer SonyFounder amp Author agilistanbulcom
flyingtomooncom
The slides were presented on 13th of June 2013 at Agile Talks which is a set of seminars organized by Agile Turkey few times in a year in Turkey
The content of this presentation is originally in Turkish The author translated into English by purpose
Software development is not just
5
Programming
Software should always be
maintainedafter go live
6
Software development is asocial activity
7
BIG-Up-front detailed estimation amp Design are
UNNECESSARY
8
ıncreases total real cost9 compromising quality
agilityconcept emerges for helping developers
to let them develop in natural way
agendaThe Nature of SoftwareNaturalness of Software AgilityAgile Software Development Practices
agilewhat is
Agile meansAdapting to change
rapidlyand sending a feature or a fix to market rapidly
agile meansevolving design and
development
Agile development is not onlyabout project planning
Project planning is just a part of agile software development
Agile software developmentAgile planning and managementSoftware development practices
Customer satisfactionTeamworkMotivation
this is the topic we are interested in
agendaThe Nature of SoftwareNaturalness of Software AgilityAgile Software Development Practices
working on the correct designwith newest and best technologies
in a short time
We aim to complete the projects by
However we always face with issues related withhumans
Getting feedback rapidlyAgile ve lean prenciples focus on the following
Speeding up feecback loops
Letrsquos develop a projectby using
agile development practices
See your developers not as resources but talents (No headcount calculation)Work with people who loves to share knowledge and experiences (Collaborative amp Volunteer)Educate people about agile practices and the philosophy behind (Up-Front Education)Build your team with passionate and disciplined developers (Passionate Developer)ldquoDonrsquot pick the right technology pick the one thatrsquos cheapest to changerdquo by chris matts
Before the start
Developer
Business Analyst
Tester
Product Owner
Developer
Make teams with cross functional people (Cross functional teams)Sit close to your team mates (Sitting CLOSE)Define the minimum set of features that you can get feedback (Minimum Viable Product) Focus on features valuable to the customer (Prioritization)Avoid doing big fat up-front design (Short Up-Front Design)Document enough donrsquot go deep into details (Agile Documentation)
Letrsquos start the project
Business Analyst
Tester
Keep your code in a version control system (Version Control System)Program in pairs (Pair Programming)Review othersrsquo code (CodePeer Review)Develop each feature in a new branch (Code Branching)Follow clean code principles (Clean Code Principles)Do code katas to improve your technical capabilities (Code Kata)Use idiomatic and architectural patterns in addition to design patterns (Idiomatic Patterns)Develop from customersrsquo point of view by BDD (Behaviour Driven Development)Develop from developersrsquo point of view by TDD (Test Driven Development)
Software development and social coding
VersionControlSystem
Developer
Business Analyst
Tester
Pull othersrsquo commits and integrate with yours at least once a day (Continuous Integration)Let the existing tests run automatically and get feedback about the failed ones (Continuous Build)Detect untested areas in your code and improve the code coverage (Code Coverage)Donrsquot afraid of deleting code improve your design with the help of written tests (Refactoring)Full feedback loop of continous integration should take at most 10 minutes (10 min build)
Continuous Integration
Messaging Services (emails messages)
VersionControlSystem
ContinuousDeployment
Developer
Business Analyst
Tester
Prepare a working copy of your software available in your CVS (SNAPSHOTs daily builds)Make the latest working copy of your software ready for deployment (Continuous delivery)
Continuous Delivery
Package Repository
Messaging Services (emails messages)
VersionControlSystem
ContinuousDeployment
Developer
Business Analyst
Tester
DEV TEST amp QA STAGING PROD
Prepare an environment where developers can do experiments and test their code (DEV)Have an environment where performance and load tests can be done (TESTQUALITY ASSURANCE)User acceptance tests should be done on an environment similar to production (STAGINGUATSIT)
Development Environments
Package Repository
Messaging Services (emails messages)
VersionControlSystem
Make releases frequently (SHORT RELEASES)Deploy your applications with one click (Continuous DEPLOYMENT)Shorten release and boot times of your software (Fast bootup)Raise DevOps that knows software development and IT operations at the same time (DEVOPS)
Release Management amp Deployments
DEV
TEST amp QA
STAGING
PROD
ContinuousDeployment
Developer
Business Analyst
Tester
Clouds force you to follow the practices to some extent
Software development on clouds
DevOpsDevOps DevOps DevOps
VersionControlSystem
Developer
Business Analyst
Tester
You cannot talk about agility without eXtreme Programming practices And XP can only be achieved by pashioned programmers
last words
ldquordquoİsa Goumlksu
Agile Practice Lead
Photos used in the slidES
httpwwwflickrcomphotosemmanuelecontini2558211856httpwwwflickrcomphotosthecampbells5103649471httpwwwflickrcomphotosrobbiemacphotos7875854334httpwwwflickrcomphotosw4nd3rl0st7174403872https590photobucketcomuserasmithjmediaCPCgirl_2_computer_arms_raised2jpghtmlhttpwwwflickrcomphotosusnavy5488581781httpwwwflickrcomphotospurplemattfish3489639831httpwwwflickrcomphotosthomashawk7215052318httpwwwflickrcomphotosnuwandalice4764805046httpwwwflickrcomphotoslauter-als-der-rest6898114788httpwwwflickrcomphotos31288116N024008216690httpwwwflickrcomphotosa2gemma1448178195httpwwwflickrcomphotosnuudls3281779141
Lemİ orhan ergİnlemiorhanagilistanbulcom
lemiorhan
lemiorhan
agilistanbulcom
lemiorhan
LINKE
DIN
TWITT
ERSL
IDES
HARE
BLOG
Principal Software Engineer SonyFounder amp Author agilistanbulcom
flyingtomooncom
The slides were presented on 13th of June 2013 at Agile Talks which is a set of seminars organized by Agile Turkey few times in a year in Turkey
The content of this presentation is originally in Turkish The author translated into English by purpose
Software should always be
maintainedafter go live
6
Software development is asocial activity
7
BIG-Up-front detailed estimation amp Design are
UNNECESSARY
8
ıncreases total real cost9 compromising quality
agilityconcept emerges for helping developers
to let them develop in natural way
agendaThe Nature of SoftwareNaturalness of Software AgilityAgile Software Development Practices
agilewhat is
Agile meansAdapting to change
rapidlyand sending a feature or a fix to market rapidly
agile meansevolving design and
development
Agile development is not onlyabout project planning
Project planning is just a part of agile software development
Agile software developmentAgile planning and managementSoftware development practices
Customer satisfactionTeamworkMotivation
this is the topic we are interested in
agendaThe Nature of SoftwareNaturalness of Software AgilityAgile Software Development Practices
working on the correct designwith newest and best technologies
in a short time
We aim to complete the projects by
However we always face with issues related withhumans
Getting feedback rapidlyAgile ve lean prenciples focus on the following
Speeding up feecback loops
Letrsquos develop a projectby using
agile development practices
See your developers not as resources but talents (No headcount calculation)Work with people who loves to share knowledge and experiences (Collaborative amp Volunteer)Educate people about agile practices and the philosophy behind (Up-Front Education)Build your team with passionate and disciplined developers (Passionate Developer)ldquoDonrsquot pick the right technology pick the one thatrsquos cheapest to changerdquo by chris matts
Before the start
Developer
Business Analyst
Tester
Product Owner
Developer
Make teams with cross functional people (Cross functional teams)Sit close to your team mates (Sitting CLOSE)Define the minimum set of features that you can get feedback (Minimum Viable Product) Focus on features valuable to the customer (Prioritization)Avoid doing big fat up-front design (Short Up-Front Design)Document enough donrsquot go deep into details (Agile Documentation)
Letrsquos start the project
Business Analyst
Tester
Keep your code in a version control system (Version Control System)Program in pairs (Pair Programming)Review othersrsquo code (CodePeer Review)Develop each feature in a new branch (Code Branching)Follow clean code principles (Clean Code Principles)Do code katas to improve your technical capabilities (Code Kata)Use idiomatic and architectural patterns in addition to design patterns (Idiomatic Patterns)Develop from customersrsquo point of view by BDD (Behaviour Driven Development)Develop from developersrsquo point of view by TDD (Test Driven Development)
Software development and social coding
VersionControlSystem
Developer
Business Analyst
Tester
Pull othersrsquo commits and integrate with yours at least once a day (Continuous Integration)Let the existing tests run automatically and get feedback about the failed ones (Continuous Build)Detect untested areas in your code and improve the code coverage (Code Coverage)Donrsquot afraid of deleting code improve your design with the help of written tests (Refactoring)Full feedback loop of continous integration should take at most 10 minutes (10 min build)
Continuous Integration
Messaging Services (emails messages)
VersionControlSystem
ContinuousDeployment
Developer
Business Analyst
Tester
Prepare a working copy of your software available in your CVS (SNAPSHOTs daily builds)Make the latest working copy of your software ready for deployment (Continuous delivery)
Continuous Delivery
Package Repository
Messaging Services (emails messages)
VersionControlSystem
ContinuousDeployment
Developer
Business Analyst
Tester
DEV TEST amp QA STAGING PROD
Prepare an environment where developers can do experiments and test their code (DEV)Have an environment where performance and load tests can be done (TESTQUALITY ASSURANCE)User acceptance tests should be done on an environment similar to production (STAGINGUATSIT)
Development Environments
Package Repository
Messaging Services (emails messages)
VersionControlSystem
Make releases frequently (SHORT RELEASES)Deploy your applications with one click (Continuous DEPLOYMENT)Shorten release and boot times of your software (Fast bootup)Raise DevOps that knows software development and IT operations at the same time (DEVOPS)
Release Management amp Deployments
DEV
TEST amp QA
STAGING
PROD
ContinuousDeployment
Developer
Business Analyst
Tester
Clouds force you to follow the practices to some extent
Software development on clouds
DevOpsDevOps DevOps DevOps
VersionControlSystem
Developer
Business Analyst
Tester
You cannot talk about agility without eXtreme Programming practices And XP can only be achieved by pashioned programmers
last words
ldquordquoİsa Goumlksu
Agile Practice Lead
Photos used in the slidES
httpwwwflickrcomphotosemmanuelecontini2558211856httpwwwflickrcomphotosthecampbells5103649471httpwwwflickrcomphotosrobbiemacphotos7875854334httpwwwflickrcomphotosw4nd3rl0st7174403872https590photobucketcomuserasmithjmediaCPCgirl_2_computer_arms_raised2jpghtmlhttpwwwflickrcomphotosusnavy5488581781httpwwwflickrcomphotospurplemattfish3489639831httpwwwflickrcomphotosthomashawk7215052318httpwwwflickrcomphotosnuwandalice4764805046httpwwwflickrcomphotoslauter-als-der-rest6898114788httpwwwflickrcomphotos31288116N024008216690httpwwwflickrcomphotosa2gemma1448178195httpwwwflickrcomphotosnuudls3281779141
Lemİ orhan ergİnlemiorhanagilistanbulcom
lemiorhan
lemiorhan
agilistanbulcom
lemiorhan
LINKE
DIN
TWITT
ERSL
IDES
HARE
BLOG
Principal Software Engineer SonyFounder amp Author agilistanbulcom
flyingtomooncom
The slides were presented on 13th of June 2013 at Agile Talks which is a set of seminars organized by Agile Turkey few times in a year in Turkey
The content of this presentation is originally in Turkish The author translated into English by purpose
Software development is asocial activity
7
BIG-Up-front detailed estimation amp Design are
UNNECESSARY
8
ıncreases total real cost9 compromising quality
agilityconcept emerges for helping developers
to let them develop in natural way
agendaThe Nature of SoftwareNaturalness of Software AgilityAgile Software Development Practices
agilewhat is
Agile meansAdapting to change
rapidlyand sending a feature or a fix to market rapidly
agile meansevolving design and
development
Agile development is not onlyabout project planning
Project planning is just a part of agile software development
Agile software developmentAgile planning and managementSoftware development practices
Customer satisfactionTeamworkMotivation
this is the topic we are interested in
agendaThe Nature of SoftwareNaturalness of Software AgilityAgile Software Development Practices
working on the correct designwith newest and best technologies
in a short time
We aim to complete the projects by
However we always face with issues related withhumans
Getting feedback rapidlyAgile ve lean prenciples focus on the following
Speeding up feecback loops
Letrsquos develop a projectby using
agile development practices
See your developers not as resources but talents (No headcount calculation)Work with people who loves to share knowledge and experiences (Collaborative amp Volunteer)Educate people about agile practices and the philosophy behind (Up-Front Education)Build your team with passionate and disciplined developers (Passionate Developer)ldquoDonrsquot pick the right technology pick the one thatrsquos cheapest to changerdquo by chris matts
Before the start
Developer
Business Analyst
Tester
Product Owner
Developer
Make teams with cross functional people (Cross functional teams)Sit close to your team mates (Sitting CLOSE)Define the minimum set of features that you can get feedback (Minimum Viable Product) Focus on features valuable to the customer (Prioritization)Avoid doing big fat up-front design (Short Up-Front Design)Document enough donrsquot go deep into details (Agile Documentation)
Letrsquos start the project
Business Analyst
Tester
Keep your code in a version control system (Version Control System)Program in pairs (Pair Programming)Review othersrsquo code (CodePeer Review)Develop each feature in a new branch (Code Branching)Follow clean code principles (Clean Code Principles)Do code katas to improve your technical capabilities (Code Kata)Use idiomatic and architectural patterns in addition to design patterns (Idiomatic Patterns)Develop from customersrsquo point of view by BDD (Behaviour Driven Development)Develop from developersrsquo point of view by TDD (Test Driven Development)
Software development and social coding
VersionControlSystem
Developer
Business Analyst
Tester
Pull othersrsquo commits and integrate with yours at least once a day (Continuous Integration)Let the existing tests run automatically and get feedback about the failed ones (Continuous Build)Detect untested areas in your code and improve the code coverage (Code Coverage)Donrsquot afraid of deleting code improve your design with the help of written tests (Refactoring)Full feedback loop of continous integration should take at most 10 minutes (10 min build)
Continuous Integration
Messaging Services (emails messages)
VersionControlSystem
ContinuousDeployment
Developer
Business Analyst
Tester
Prepare a working copy of your software available in your CVS (SNAPSHOTs daily builds)Make the latest working copy of your software ready for deployment (Continuous delivery)
Continuous Delivery
Package Repository
Messaging Services (emails messages)
VersionControlSystem
ContinuousDeployment
Developer
Business Analyst
Tester
DEV TEST amp QA STAGING PROD
Prepare an environment where developers can do experiments and test their code (DEV)Have an environment where performance and load tests can be done (TESTQUALITY ASSURANCE)User acceptance tests should be done on an environment similar to production (STAGINGUATSIT)
Development Environments
Package Repository
Messaging Services (emails messages)
VersionControlSystem
Make releases frequently (SHORT RELEASES)Deploy your applications with one click (Continuous DEPLOYMENT)Shorten release and boot times of your software (Fast bootup)Raise DevOps that knows software development and IT operations at the same time (DEVOPS)
Release Management amp Deployments
DEV
TEST amp QA
STAGING
PROD
ContinuousDeployment
Developer
Business Analyst
Tester
Clouds force you to follow the practices to some extent
Software development on clouds
DevOpsDevOps DevOps DevOps
VersionControlSystem
Developer
Business Analyst
Tester
You cannot talk about agility without eXtreme Programming practices And XP can only be achieved by pashioned programmers
last words
ldquordquoİsa Goumlksu
Agile Practice Lead
Photos used in the slidES
httpwwwflickrcomphotosemmanuelecontini2558211856httpwwwflickrcomphotosthecampbells5103649471httpwwwflickrcomphotosrobbiemacphotos7875854334httpwwwflickrcomphotosw4nd3rl0st7174403872https590photobucketcomuserasmithjmediaCPCgirl_2_computer_arms_raised2jpghtmlhttpwwwflickrcomphotosusnavy5488581781httpwwwflickrcomphotospurplemattfish3489639831httpwwwflickrcomphotosthomashawk7215052318httpwwwflickrcomphotosnuwandalice4764805046httpwwwflickrcomphotoslauter-als-der-rest6898114788httpwwwflickrcomphotos31288116N024008216690httpwwwflickrcomphotosa2gemma1448178195httpwwwflickrcomphotosnuudls3281779141
Lemİ orhan ergİnlemiorhanagilistanbulcom
lemiorhan
lemiorhan
agilistanbulcom
lemiorhan
LINKE
DIN
TWITT
ERSL
IDES
HARE
BLOG
Principal Software Engineer SonyFounder amp Author agilistanbulcom
flyingtomooncom
The slides were presented on 13th of June 2013 at Agile Talks which is a set of seminars organized by Agile Turkey few times in a year in Turkey
The content of this presentation is originally in Turkish The author translated into English by purpose
BIG-Up-front detailed estimation amp Design are
UNNECESSARY
8
ıncreases total real cost9 compromising quality
agilityconcept emerges for helping developers
to let them develop in natural way
agendaThe Nature of SoftwareNaturalness of Software AgilityAgile Software Development Practices
agilewhat is
Agile meansAdapting to change
rapidlyand sending a feature or a fix to market rapidly
agile meansevolving design and
development
Agile development is not onlyabout project planning
Project planning is just a part of agile software development
Agile software developmentAgile planning and managementSoftware development practices
Customer satisfactionTeamworkMotivation
this is the topic we are interested in
agendaThe Nature of SoftwareNaturalness of Software AgilityAgile Software Development Practices
working on the correct designwith newest and best technologies
in a short time
We aim to complete the projects by
However we always face with issues related withhumans
Getting feedback rapidlyAgile ve lean prenciples focus on the following
Speeding up feecback loops
Letrsquos develop a projectby using
agile development practices
See your developers not as resources but talents (No headcount calculation)Work with people who loves to share knowledge and experiences (Collaborative amp Volunteer)Educate people about agile practices and the philosophy behind (Up-Front Education)Build your team with passionate and disciplined developers (Passionate Developer)ldquoDonrsquot pick the right technology pick the one thatrsquos cheapest to changerdquo by chris matts
Before the start
Developer
Business Analyst
Tester
Product Owner
Developer
Make teams with cross functional people (Cross functional teams)Sit close to your team mates (Sitting CLOSE)Define the minimum set of features that you can get feedback (Minimum Viable Product) Focus on features valuable to the customer (Prioritization)Avoid doing big fat up-front design (Short Up-Front Design)Document enough donrsquot go deep into details (Agile Documentation)
Letrsquos start the project
Business Analyst
Tester
Keep your code in a version control system (Version Control System)Program in pairs (Pair Programming)Review othersrsquo code (CodePeer Review)Develop each feature in a new branch (Code Branching)Follow clean code principles (Clean Code Principles)Do code katas to improve your technical capabilities (Code Kata)Use idiomatic and architectural patterns in addition to design patterns (Idiomatic Patterns)Develop from customersrsquo point of view by BDD (Behaviour Driven Development)Develop from developersrsquo point of view by TDD (Test Driven Development)
Software development and social coding
VersionControlSystem
Developer
Business Analyst
Tester
Pull othersrsquo commits and integrate with yours at least once a day (Continuous Integration)Let the existing tests run automatically and get feedback about the failed ones (Continuous Build)Detect untested areas in your code and improve the code coverage (Code Coverage)Donrsquot afraid of deleting code improve your design with the help of written tests (Refactoring)Full feedback loop of continous integration should take at most 10 minutes (10 min build)
Continuous Integration
Messaging Services (emails messages)
VersionControlSystem
ContinuousDeployment
Developer
Business Analyst
Tester
Prepare a working copy of your software available in your CVS (SNAPSHOTs daily builds)Make the latest working copy of your software ready for deployment (Continuous delivery)
Continuous Delivery
Package Repository
Messaging Services (emails messages)
VersionControlSystem
ContinuousDeployment
Developer
Business Analyst
Tester
DEV TEST amp QA STAGING PROD
Prepare an environment where developers can do experiments and test their code (DEV)Have an environment where performance and load tests can be done (TESTQUALITY ASSURANCE)User acceptance tests should be done on an environment similar to production (STAGINGUATSIT)
Development Environments
Package Repository
Messaging Services (emails messages)
VersionControlSystem
Make releases frequently (SHORT RELEASES)Deploy your applications with one click (Continuous DEPLOYMENT)Shorten release and boot times of your software (Fast bootup)Raise DevOps that knows software development and IT operations at the same time (DEVOPS)
Release Management amp Deployments
DEV
TEST amp QA
STAGING
PROD
ContinuousDeployment
Developer
Business Analyst
Tester
Clouds force you to follow the practices to some extent
Software development on clouds
DevOpsDevOps DevOps DevOps
VersionControlSystem
Developer
Business Analyst
Tester
You cannot talk about agility without eXtreme Programming practices And XP can only be achieved by pashioned programmers
last words
ldquordquoİsa Goumlksu
Agile Practice Lead
Photos used in the slidES
httpwwwflickrcomphotosemmanuelecontini2558211856httpwwwflickrcomphotosthecampbells5103649471httpwwwflickrcomphotosrobbiemacphotos7875854334httpwwwflickrcomphotosw4nd3rl0st7174403872https590photobucketcomuserasmithjmediaCPCgirl_2_computer_arms_raised2jpghtmlhttpwwwflickrcomphotosusnavy5488581781httpwwwflickrcomphotospurplemattfish3489639831httpwwwflickrcomphotosthomashawk7215052318httpwwwflickrcomphotosnuwandalice4764805046httpwwwflickrcomphotoslauter-als-der-rest6898114788httpwwwflickrcomphotos31288116N024008216690httpwwwflickrcomphotosa2gemma1448178195httpwwwflickrcomphotosnuudls3281779141
Lemİ orhan ergİnlemiorhanagilistanbulcom
lemiorhan
lemiorhan
agilistanbulcom
lemiorhan
LINKE
DIN
TWITT
ERSL
IDES
HARE
BLOG
Principal Software Engineer SonyFounder amp Author agilistanbulcom
flyingtomooncom
The slides were presented on 13th of June 2013 at Agile Talks which is a set of seminars organized by Agile Turkey few times in a year in Turkey
The content of this presentation is originally in Turkish The author translated into English by purpose
ıncreases total real cost9 compromising quality
agilityconcept emerges for helping developers
to let them develop in natural way
agendaThe Nature of SoftwareNaturalness of Software AgilityAgile Software Development Practices
agilewhat is
Agile meansAdapting to change
rapidlyand sending a feature or a fix to market rapidly
agile meansevolving design and
development
Agile development is not onlyabout project planning
Project planning is just a part of agile software development
Agile software developmentAgile planning and managementSoftware development practices
Customer satisfactionTeamworkMotivation
this is the topic we are interested in
agendaThe Nature of SoftwareNaturalness of Software AgilityAgile Software Development Practices
working on the correct designwith newest and best technologies
in a short time
We aim to complete the projects by
However we always face with issues related withhumans
Getting feedback rapidlyAgile ve lean prenciples focus on the following
Speeding up feecback loops
Letrsquos develop a projectby using
agile development practices
See your developers not as resources but talents (No headcount calculation)Work with people who loves to share knowledge and experiences (Collaborative amp Volunteer)Educate people about agile practices and the philosophy behind (Up-Front Education)Build your team with passionate and disciplined developers (Passionate Developer)ldquoDonrsquot pick the right technology pick the one thatrsquos cheapest to changerdquo by chris matts
Before the start
Developer
Business Analyst
Tester
Product Owner
Developer
Make teams with cross functional people (Cross functional teams)Sit close to your team mates (Sitting CLOSE)Define the minimum set of features that you can get feedback (Minimum Viable Product) Focus on features valuable to the customer (Prioritization)Avoid doing big fat up-front design (Short Up-Front Design)Document enough donrsquot go deep into details (Agile Documentation)
Letrsquos start the project
Business Analyst
Tester
Keep your code in a version control system (Version Control System)Program in pairs (Pair Programming)Review othersrsquo code (CodePeer Review)Develop each feature in a new branch (Code Branching)Follow clean code principles (Clean Code Principles)Do code katas to improve your technical capabilities (Code Kata)Use idiomatic and architectural patterns in addition to design patterns (Idiomatic Patterns)Develop from customersrsquo point of view by BDD (Behaviour Driven Development)Develop from developersrsquo point of view by TDD (Test Driven Development)
Software development and social coding
VersionControlSystem
Developer
Business Analyst
Tester
Pull othersrsquo commits and integrate with yours at least once a day (Continuous Integration)Let the existing tests run automatically and get feedback about the failed ones (Continuous Build)Detect untested areas in your code and improve the code coverage (Code Coverage)Donrsquot afraid of deleting code improve your design with the help of written tests (Refactoring)Full feedback loop of continous integration should take at most 10 minutes (10 min build)
Continuous Integration
Messaging Services (emails messages)
VersionControlSystem
ContinuousDeployment
Developer
Business Analyst
Tester
Prepare a working copy of your software available in your CVS (SNAPSHOTs daily builds)Make the latest working copy of your software ready for deployment (Continuous delivery)
Continuous Delivery
Package Repository
Messaging Services (emails messages)
VersionControlSystem
ContinuousDeployment
Developer
Business Analyst
Tester
DEV TEST amp QA STAGING PROD
Prepare an environment where developers can do experiments and test their code (DEV)Have an environment where performance and load tests can be done (TESTQUALITY ASSURANCE)User acceptance tests should be done on an environment similar to production (STAGINGUATSIT)
Development Environments
Package Repository
Messaging Services (emails messages)
VersionControlSystem
Make releases frequently (SHORT RELEASES)Deploy your applications with one click (Continuous DEPLOYMENT)Shorten release and boot times of your software (Fast bootup)Raise DevOps that knows software development and IT operations at the same time (DEVOPS)
Release Management amp Deployments
DEV
TEST amp QA
STAGING
PROD
ContinuousDeployment
Developer
Business Analyst
Tester
Clouds force you to follow the practices to some extent
Software development on clouds
DevOpsDevOps DevOps DevOps
VersionControlSystem
Developer
Business Analyst
Tester
You cannot talk about agility without eXtreme Programming practices And XP can only be achieved by pashioned programmers
last words
ldquordquoİsa Goumlksu
Agile Practice Lead
Photos used in the slidES
httpwwwflickrcomphotosemmanuelecontini2558211856httpwwwflickrcomphotosthecampbells5103649471httpwwwflickrcomphotosrobbiemacphotos7875854334httpwwwflickrcomphotosw4nd3rl0st7174403872https590photobucketcomuserasmithjmediaCPCgirl_2_computer_arms_raised2jpghtmlhttpwwwflickrcomphotosusnavy5488581781httpwwwflickrcomphotospurplemattfish3489639831httpwwwflickrcomphotosthomashawk7215052318httpwwwflickrcomphotosnuwandalice4764805046httpwwwflickrcomphotoslauter-als-der-rest6898114788httpwwwflickrcomphotos31288116N024008216690httpwwwflickrcomphotosa2gemma1448178195httpwwwflickrcomphotosnuudls3281779141
Lemİ orhan ergİnlemiorhanagilistanbulcom
lemiorhan
lemiorhan
agilistanbulcom
lemiorhan
LINKE
DIN
TWITT
ERSL
IDES
HARE
BLOG
Principal Software Engineer SonyFounder amp Author agilistanbulcom
flyingtomooncom
The slides were presented on 13th of June 2013 at Agile Talks which is a set of seminars organized by Agile Turkey few times in a year in Turkey
The content of this presentation is originally in Turkish The author translated into English by purpose
agilityconcept emerges for helping developers
to let them develop in natural way
agendaThe Nature of SoftwareNaturalness of Software AgilityAgile Software Development Practices
agilewhat is
Agile meansAdapting to change
rapidlyand sending a feature or a fix to market rapidly
agile meansevolving design and
development
Agile development is not onlyabout project planning
Project planning is just a part of agile software development
Agile software developmentAgile planning and managementSoftware development practices
Customer satisfactionTeamworkMotivation
this is the topic we are interested in
agendaThe Nature of SoftwareNaturalness of Software AgilityAgile Software Development Practices
working on the correct designwith newest and best technologies
in a short time
We aim to complete the projects by
However we always face with issues related withhumans
Getting feedback rapidlyAgile ve lean prenciples focus on the following
Speeding up feecback loops
Letrsquos develop a projectby using
agile development practices
See your developers not as resources but talents (No headcount calculation)Work with people who loves to share knowledge and experiences (Collaborative amp Volunteer)Educate people about agile practices and the philosophy behind (Up-Front Education)Build your team with passionate and disciplined developers (Passionate Developer)ldquoDonrsquot pick the right technology pick the one thatrsquos cheapest to changerdquo by chris matts
Before the start
Developer
Business Analyst
Tester
Product Owner
Developer
Make teams with cross functional people (Cross functional teams)Sit close to your team mates (Sitting CLOSE)Define the minimum set of features that you can get feedback (Minimum Viable Product) Focus on features valuable to the customer (Prioritization)Avoid doing big fat up-front design (Short Up-Front Design)Document enough donrsquot go deep into details (Agile Documentation)
Letrsquos start the project
Business Analyst
Tester
Keep your code in a version control system (Version Control System)Program in pairs (Pair Programming)Review othersrsquo code (CodePeer Review)Develop each feature in a new branch (Code Branching)Follow clean code principles (Clean Code Principles)Do code katas to improve your technical capabilities (Code Kata)Use idiomatic and architectural patterns in addition to design patterns (Idiomatic Patterns)Develop from customersrsquo point of view by BDD (Behaviour Driven Development)Develop from developersrsquo point of view by TDD (Test Driven Development)
Software development and social coding
VersionControlSystem
Developer
Business Analyst
Tester
Pull othersrsquo commits and integrate with yours at least once a day (Continuous Integration)Let the existing tests run automatically and get feedback about the failed ones (Continuous Build)Detect untested areas in your code and improve the code coverage (Code Coverage)Donrsquot afraid of deleting code improve your design with the help of written tests (Refactoring)Full feedback loop of continous integration should take at most 10 minutes (10 min build)
Continuous Integration
Messaging Services (emails messages)
VersionControlSystem
ContinuousDeployment
Developer
Business Analyst
Tester
Prepare a working copy of your software available in your CVS (SNAPSHOTs daily builds)Make the latest working copy of your software ready for deployment (Continuous delivery)
Continuous Delivery
Package Repository
Messaging Services (emails messages)
VersionControlSystem
ContinuousDeployment
Developer
Business Analyst
Tester
DEV TEST amp QA STAGING PROD
Prepare an environment where developers can do experiments and test their code (DEV)Have an environment where performance and load tests can be done (TESTQUALITY ASSURANCE)User acceptance tests should be done on an environment similar to production (STAGINGUATSIT)
Development Environments
Package Repository
Messaging Services (emails messages)
VersionControlSystem
Make releases frequently (SHORT RELEASES)Deploy your applications with one click (Continuous DEPLOYMENT)Shorten release and boot times of your software (Fast bootup)Raise DevOps that knows software development and IT operations at the same time (DEVOPS)
Release Management amp Deployments
DEV
TEST amp QA
STAGING
PROD
ContinuousDeployment
Developer
Business Analyst
Tester
Clouds force you to follow the practices to some extent
Software development on clouds
DevOpsDevOps DevOps DevOps
VersionControlSystem
Developer
Business Analyst
Tester
You cannot talk about agility without eXtreme Programming practices And XP can only be achieved by pashioned programmers
last words
ldquordquoİsa Goumlksu
Agile Practice Lead
Photos used in the slidES
httpwwwflickrcomphotosemmanuelecontini2558211856httpwwwflickrcomphotosthecampbells5103649471httpwwwflickrcomphotosrobbiemacphotos7875854334httpwwwflickrcomphotosw4nd3rl0st7174403872https590photobucketcomuserasmithjmediaCPCgirl_2_computer_arms_raised2jpghtmlhttpwwwflickrcomphotosusnavy5488581781httpwwwflickrcomphotospurplemattfish3489639831httpwwwflickrcomphotosthomashawk7215052318httpwwwflickrcomphotosnuwandalice4764805046httpwwwflickrcomphotoslauter-als-der-rest6898114788httpwwwflickrcomphotos31288116N024008216690httpwwwflickrcomphotosa2gemma1448178195httpwwwflickrcomphotosnuudls3281779141
Lemİ orhan ergİnlemiorhanagilistanbulcom
lemiorhan
lemiorhan
agilistanbulcom
lemiorhan
LINKE
DIN
TWITT
ERSL
IDES
HARE
BLOG
Principal Software Engineer SonyFounder amp Author agilistanbulcom
flyingtomooncom
The slides were presented on 13th of June 2013 at Agile Talks which is a set of seminars organized by Agile Turkey few times in a year in Turkey
The content of this presentation is originally in Turkish The author translated into English by purpose
agendaThe Nature of SoftwareNaturalness of Software AgilityAgile Software Development Practices
agilewhat is
Agile meansAdapting to change
rapidlyand sending a feature or a fix to market rapidly
agile meansevolving design and
development
Agile development is not onlyabout project planning
Project planning is just a part of agile software development
Agile software developmentAgile planning and managementSoftware development practices
Customer satisfactionTeamworkMotivation
this is the topic we are interested in
agendaThe Nature of SoftwareNaturalness of Software AgilityAgile Software Development Practices
working on the correct designwith newest and best technologies
in a short time
We aim to complete the projects by
However we always face with issues related withhumans
Getting feedback rapidlyAgile ve lean prenciples focus on the following
Speeding up feecback loops
Letrsquos develop a projectby using
agile development practices
See your developers not as resources but talents (No headcount calculation)Work with people who loves to share knowledge and experiences (Collaborative amp Volunteer)Educate people about agile practices and the philosophy behind (Up-Front Education)Build your team with passionate and disciplined developers (Passionate Developer)ldquoDonrsquot pick the right technology pick the one thatrsquos cheapest to changerdquo by chris matts
Before the start
Developer
Business Analyst
Tester
Product Owner
Developer
Make teams with cross functional people (Cross functional teams)Sit close to your team mates (Sitting CLOSE)Define the minimum set of features that you can get feedback (Minimum Viable Product) Focus on features valuable to the customer (Prioritization)Avoid doing big fat up-front design (Short Up-Front Design)Document enough donrsquot go deep into details (Agile Documentation)
Letrsquos start the project
Business Analyst
Tester
Keep your code in a version control system (Version Control System)Program in pairs (Pair Programming)Review othersrsquo code (CodePeer Review)Develop each feature in a new branch (Code Branching)Follow clean code principles (Clean Code Principles)Do code katas to improve your technical capabilities (Code Kata)Use idiomatic and architectural patterns in addition to design patterns (Idiomatic Patterns)Develop from customersrsquo point of view by BDD (Behaviour Driven Development)Develop from developersrsquo point of view by TDD (Test Driven Development)
Software development and social coding
VersionControlSystem
Developer
Business Analyst
Tester
Pull othersrsquo commits and integrate with yours at least once a day (Continuous Integration)Let the existing tests run automatically and get feedback about the failed ones (Continuous Build)Detect untested areas in your code and improve the code coverage (Code Coverage)Donrsquot afraid of deleting code improve your design with the help of written tests (Refactoring)Full feedback loop of continous integration should take at most 10 minutes (10 min build)
Continuous Integration
Messaging Services (emails messages)
VersionControlSystem
ContinuousDeployment
Developer
Business Analyst
Tester
Prepare a working copy of your software available in your CVS (SNAPSHOTs daily builds)Make the latest working copy of your software ready for deployment (Continuous delivery)
Continuous Delivery
Package Repository
Messaging Services (emails messages)
VersionControlSystem
ContinuousDeployment
Developer
Business Analyst
Tester
DEV TEST amp QA STAGING PROD
Prepare an environment where developers can do experiments and test their code (DEV)Have an environment where performance and load tests can be done (TESTQUALITY ASSURANCE)User acceptance tests should be done on an environment similar to production (STAGINGUATSIT)
Development Environments
Package Repository
Messaging Services (emails messages)
VersionControlSystem
Make releases frequently (SHORT RELEASES)Deploy your applications with one click (Continuous DEPLOYMENT)Shorten release and boot times of your software (Fast bootup)Raise DevOps that knows software development and IT operations at the same time (DEVOPS)
Release Management amp Deployments
DEV
TEST amp QA
STAGING
PROD
ContinuousDeployment
Developer
Business Analyst
Tester
Clouds force you to follow the practices to some extent
Software development on clouds
DevOpsDevOps DevOps DevOps
VersionControlSystem
Developer
Business Analyst
Tester
You cannot talk about agility without eXtreme Programming practices And XP can only be achieved by pashioned programmers
last words
ldquordquoİsa Goumlksu
Agile Practice Lead
Photos used in the slidES
httpwwwflickrcomphotosemmanuelecontini2558211856httpwwwflickrcomphotosthecampbells5103649471httpwwwflickrcomphotosrobbiemacphotos7875854334httpwwwflickrcomphotosw4nd3rl0st7174403872https590photobucketcomuserasmithjmediaCPCgirl_2_computer_arms_raised2jpghtmlhttpwwwflickrcomphotosusnavy5488581781httpwwwflickrcomphotospurplemattfish3489639831httpwwwflickrcomphotosthomashawk7215052318httpwwwflickrcomphotosnuwandalice4764805046httpwwwflickrcomphotoslauter-als-der-rest6898114788httpwwwflickrcomphotos31288116N024008216690httpwwwflickrcomphotosa2gemma1448178195httpwwwflickrcomphotosnuudls3281779141
Lemİ orhan ergİnlemiorhanagilistanbulcom
lemiorhan
lemiorhan
agilistanbulcom
lemiorhan
LINKE
DIN
TWITT
ERSL
IDES
HARE
BLOG
Principal Software Engineer SonyFounder amp Author agilistanbulcom
flyingtomooncom
The slides were presented on 13th of June 2013 at Agile Talks which is a set of seminars organized by Agile Turkey few times in a year in Turkey
The content of this presentation is originally in Turkish The author translated into English by purpose
agilewhat is
Agile meansAdapting to change
rapidlyand sending a feature or a fix to market rapidly
agile meansevolving design and
development
Agile development is not onlyabout project planning
Project planning is just a part of agile software development
Agile software developmentAgile planning and managementSoftware development practices
Customer satisfactionTeamworkMotivation
this is the topic we are interested in
agendaThe Nature of SoftwareNaturalness of Software AgilityAgile Software Development Practices
working on the correct designwith newest and best technologies
in a short time
We aim to complete the projects by
However we always face with issues related withhumans
Getting feedback rapidlyAgile ve lean prenciples focus on the following
Speeding up feecback loops
Letrsquos develop a projectby using
agile development practices
See your developers not as resources but talents (No headcount calculation)Work with people who loves to share knowledge and experiences (Collaborative amp Volunteer)Educate people about agile practices and the philosophy behind (Up-Front Education)Build your team with passionate and disciplined developers (Passionate Developer)ldquoDonrsquot pick the right technology pick the one thatrsquos cheapest to changerdquo by chris matts
Before the start
Developer
Business Analyst
Tester
Product Owner
Developer
Make teams with cross functional people (Cross functional teams)Sit close to your team mates (Sitting CLOSE)Define the minimum set of features that you can get feedback (Minimum Viable Product) Focus on features valuable to the customer (Prioritization)Avoid doing big fat up-front design (Short Up-Front Design)Document enough donrsquot go deep into details (Agile Documentation)
Letrsquos start the project
Business Analyst
Tester
Keep your code in a version control system (Version Control System)Program in pairs (Pair Programming)Review othersrsquo code (CodePeer Review)Develop each feature in a new branch (Code Branching)Follow clean code principles (Clean Code Principles)Do code katas to improve your technical capabilities (Code Kata)Use idiomatic and architectural patterns in addition to design patterns (Idiomatic Patterns)Develop from customersrsquo point of view by BDD (Behaviour Driven Development)Develop from developersrsquo point of view by TDD (Test Driven Development)
Software development and social coding
VersionControlSystem
Developer
Business Analyst
Tester
Pull othersrsquo commits and integrate with yours at least once a day (Continuous Integration)Let the existing tests run automatically and get feedback about the failed ones (Continuous Build)Detect untested areas in your code and improve the code coverage (Code Coverage)Donrsquot afraid of deleting code improve your design with the help of written tests (Refactoring)Full feedback loop of continous integration should take at most 10 minutes (10 min build)
Continuous Integration
Messaging Services (emails messages)
VersionControlSystem
ContinuousDeployment
Developer
Business Analyst
Tester
Prepare a working copy of your software available in your CVS (SNAPSHOTs daily builds)Make the latest working copy of your software ready for deployment (Continuous delivery)
Continuous Delivery
Package Repository
Messaging Services (emails messages)
VersionControlSystem
ContinuousDeployment
Developer
Business Analyst
Tester
DEV TEST amp QA STAGING PROD
Prepare an environment where developers can do experiments and test their code (DEV)Have an environment where performance and load tests can be done (TESTQUALITY ASSURANCE)User acceptance tests should be done on an environment similar to production (STAGINGUATSIT)
Development Environments
Package Repository
Messaging Services (emails messages)
VersionControlSystem
Make releases frequently (SHORT RELEASES)Deploy your applications with one click (Continuous DEPLOYMENT)Shorten release and boot times of your software (Fast bootup)Raise DevOps that knows software development and IT operations at the same time (DEVOPS)
Release Management amp Deployments
DEV
TEST amp QA
STAGING
PROD
ContinuousDeployment
Developer
Business Analyst
Tester
Clouds force you to follow the practices to some extent
Software development on clouds
DevOpsDevOps DevOps DevOps
VersionControlSystem
Developer
Business Analyst
Tester
You cannot talk about agility without eXtreme Programming practices And XP can only be achieved by pashioned programmers
last words
ldquordquoİsa Goumlksu
Agile Practice Lead
Photos used in the slidES
httpwwwflickrcomphotosemmanuelecontini2558211856httpwwwflickrcomphotosthecampbells5103649471httpwwwflickrcomphotosrobbiemacphotos7875854334httpwwwflickrcomphotosw4nd3rl0st7174403872https590photobucketcomuserasmithjmediaCPCgirl_2_computer_arms_raised2jpghtmlhttpwwwflickrcomphotosusnavy5488581781httpwwwflickrcomphotospurplemattfish3489639831httpwwwflickrcomphotosthomashawk7215052318httpwwwflickrcomphotosnuwandalice4764805046httpwwwflickrcomphotoslauter-als-der-rest6898114788httpwwwflickrcomphotos31288116N024008216690httpwwwflickrcomphotosa2gemma1448178195httpwwwflickrcomphotosnuudls3281779141
Lemİ orhan ergİnlemiorhanagilistanbulcom
lemiorhan
lemiorhan
agilistanbulcom
lemiorhan
LINKE
DIN
TWITT
ERSL
IDES
HARE
BLOG
Principal Software Engineer SonyFounder amp Author agilistanbulcom
flyingtomooncom
The slides were presented on 13th of June 2013 at Agile Talks which is a set of seminars organized by Agile Turkey few times in a year in Turkey
The content of this presentation is originally in Turkish The author translated into English by purpose
Agile meansAdapting to change
rapidlyand sending a feature or a fix to market rapidly
agile meansevolving design and
development
Agile development is not onlyabout project planning
Project planning is just a part of agile software development
Agile software developmentAgile planning and managementSoftware development practices
Customer satisfactionTeamworkMotivation
this is the topic we are interested in
agendaThe Nature of SoftwareNaturalness of Software AgilityAgile Software Development Practices
working on the correct designwith newest and best technologies
in a short time
We aim to complete the projects by
However we always face with issues related withhumans
Getting feedback rapidlyAgile ve lean prenciples focus on the following
Speeding up feecback loops
Letrsquos develop a projectby using
agile development practices
See your developers not as resources but talents (No headcount calculation)Work with people who loves to share knowledge and experiences (Collaborative amp Volunteer)Educate people about agile practices and the philosophy behind (Up-Front Education)Build your team with passionate and disciplined developers (Passionate Developer)ldquoDonrsquot pick the right technology pick the one thatrsquos cheapest to changerdquo by chris matts
Before the start
Developer
Business Analyst
Tester
Product Owner
Developer
Make teams with cross functional people (Cross functional teams)Sit close to your team mates (Sitting CLOSE)Define the minimum set of features that you can get feedback (Minimum Viable Product) Focus on features valuable to the customer (Prioritization)Avoid doing big fat up-front design (Short Up-Front Design)Document enough donrsquot go deep into details (Agile Documentation)
Letrsquos start the project
Business Analyst
Tester
Keep your code in a version control system (Version Control System)Program in pairs (Pair Programming)Review othersrsquo code (CodePeer Review)Develop each feature in a new branch (Code Branching)Follow clean code principles (Clean Code Principles)Do code katas to improve your technical capabilities (Code Kata)Use idiomatic and architectural patterns in addition to design patterns (Idiomatic Patterns)Develop from customersrsquo point of view by BDD (Behaviour Driven Development)Develop from developersrsquo point of view by TDD (Test Driven Development)
Software development and social coding
VersionControlSystem
Developer
Business Analyst
Tester
Pull othersrsquo commits and integrate with yours at least once a day (Continuous Integration)Let the existing tests run automatically and get feedback about the failed ones (Continuous Build)Detect untested areas in your code and improve the code coverage (Code Coverage)Donrsquot afraid of deleting code improve your design with the help of written tests (Refactoring)Full feedback loop of continous integration should take at most 10 minutes (10 min build)
Continuous Integration
Messaging Services (emails messages)
VersionControlSystem
ContinuousDeployment
Developer
Business Analyst
Tester
Prepare a working copy of your software available in your CVS (SNAPSHOTs daily builds)Make the latest working copy of your software ready for deployment (Continuous delivery)
Continuous Delivery
Package Repository
Messaging Services (emails messages)
VersionControlSystem
ContinuousDeployment
Developer
Business Analyst
Tester
DEV TEST amp QA STAGING PROD
Prepare an environment where developers can do experiments and test their code (DEV)Have an environment where performance and load tests can be done (TESTQUALITY ASSURANCE)User acceptance tests should be done on an environment similar to production (STAGINGUATSIT)
Development Environments
Package Repository
Messaging Services (emails messages)
VersionControlSystem
Make releases frequently (SHORT RELEASES)Deploy your applications with one click (Continuous DEPLOYMENT)Shorten release and boot times of your software (Fast bootup)Raise DevOps that knows software development and IT operations at the same time (DEVOPS)
Release Management amp Deployments
DEV
TEST amp QA
STAGING
PROD
ContinuousDeployment
Developer
Business Analyst
Tester
Clouds force you to follow the practices to some extent
Software development on clouds
DevOpsDevOps DevOps DevOps
VersionControlSystem
Developer
Business Analyst
Tester
You cannot talk about agility without eXtreme Programming practices And XP can only be achieved by pashioned programmers
last words
ldquordquoİsa Goumlksu
Agile Practice Lead
Photos used in the slidES
httpwwwflickrcomphotosemmanuelecontini2558211856httpwwwflickrcomphotosthecampbells5103649471httpwwwflickrcomphotosrobbiemacphotos7875854334httpwwwflickrcomphotosw4nd3rl0st7174403872https590photobucketcomuserasmithjmediaCPCgirl_2_computer_arms_raised2jpghtmlhttpwwwflickrcomphotosusnavy5488581781httpwwwflickrcomphotospurplemattfish3489639831httpwwwflickrcomphotosthomashawk7215052318httpwwwflickrcomphotosnuwandalice4764805046httpwwwflickrcomphotoslauter-als-der-rest6898114788httpwwwflickrcomphotos31288116N024008216690httpwwwflickrcomphotosa2gemma1448178195httpwwwflickrcomphotosnuudls3281779141
Lemİ orhan ergİnlemiorhanagilistanbulcom
lemiorhan
lemiorhan
agilistanbulcom
lemiorhan
LINKE
DIN
TWITT
ERSL
IDES
HARE
BLOG
Principal Software Engineer SonyFounder amp Author agilistanbulcom
flyingtomooncom
The slides were presented on 13th of June 2013 at Agile Talks which is a set of seminars organized by Agile Turkey few times in a year in Turkey
The content of this presentation is originally in Turkish The author translated into English by purpose
agile meansevolving design and
development
Agile development is not onlyabout project planning
Project planning is just a part of agile software development
Agile software developmentAgile planning and managementSoftware development practices
Customer satisfactionTeamworkMotivation
this is the topic we are interested in
agendaThe Nature of SoftwareNaturalness of Software AgilityAgile Software Development Practices
working on the correct designwith newest and best technologies
in a short time
We aim to complete the projects by
However we always face with issues related withhumans
Getting feedback rapidlyAgile ve lean prenciples focus on the following
Speeding up feecback loops
Letrsquos develop a projectby using
agile development practices
See your developers not as resources but talents (No headcount calculation)Work with people who loves to share knowledge and experiences (Collaborative amp Volunteer)Educate people about agile practices and the philosophy behind (Up-Front Education)Build your team with passionate and disciplined developers (Passionate Developer)ldquoDonrsquot pick the right technology pick the one thatrsquos cheapest to changerdquo by chris matts
Before the start
Developer
Business Analyst
Tester
Product Owner
Developer
Make teams with cross functional people (Cross functional teams)Sit close to your team mates (Sitting CLOSE)Define the minimum set of features that you can get feedback (Minimum Viable Product) Focus on features valuable to the customer (Prioritization)Avoid doing big fat up-front design (Short Up-Front Design)Document enough donrsquot go deep into details (Agile Documentation)
Letrsquos start the project
Business Analyst
Tester
Keep your code in a version control system (Version Control System)Program in pairs (Pair Programming)Review othersrsquo code (CodePeer Review)Develop each feature in a new branch (Code Branching)Follow clean code principles (Clean Code Principles)Do code katas to improve your technical capabilities (Code Kata)Use idiomatic and architectural patterns in addition to design patterns (Idiomatic Patterns)Develop from customersrsquo point of view by BDD (Behaviour Driven Development)Develop from developersrsquo point of view by TDD (Test Driven Development)
Software development and social coding
VersionControlSystem
Developer
Business Analyst
Tester
Pull othersrsquo commits and integrate with yours at least once a day (Continuous Integration)Let the existing tests run automatically and get feedback about the failed ones (Continuous Build)Detect untested areas in your code and improve the code coverage (Code Coverage)Donrsquot afraid of deleting code improve your design with the help of written tests (Refactoring)Full feedback loop of continous integration should take at most 10 minutes (10 min build)
Continuous Integration
Messaging Services (emails messages)
VersionControlSystem
ContinuousDeployment
Developer
Business Analyst
Tester
Prepare a working copy of your software available in your CVS (SNAPSHOTs daily builds)Make the latest working copy of your software ready for deployment (Continuous delivery)
Continuous Delivery
Package Repository
Messaging Services (emails messages)
VersionControlSystem
ContinuousDeployment
Developer
Business Analyst
Tester
DEV TEST amp QA STAGING PROD
Prepare an environment where developers can do experiments and test their code (DEV)Have an environment where performance and load tests can be done (TESTQUALITY ASSURANCE)User acceptance tests should be done on an environment similar to production (STAGINGUATSIT)
Development Environments
Package Repository
Messaging Services (emails messages)
VersionControlSystem
Make releases frequently (SHORT RELEASES)Deploy your applications with one click (Continuous DEPLOYMENT)Shorten release and boot times of your software (Fast bootup)Raise DevOps that knows software development and IT operations at the same time (DEVOPS)
Release Management amp Deployments
DEV
TEST amp QA
STAGING
PROD
ContinuousDeployment
Developer
Business Analyst
Tester
Clouds force you to follow the practices to some extent
Software development on clouds
DevOpsDevOps DevOps DevOps
VersionControlSystem
Developer
Business Analyst
Tester
You cannot talk about agility without eXtreme Programming practices And XP can only be achieved by pashioned programmers
last words
ldquordquoİsa Goumlksu
Agile Practice Lead
Photos used in the slidES
httpwwwflickrcomphotosemmanuelecontini2558211856httpwwwflickrcomphotosthecampbells5103649471httpwwwflickrcomphotosrobbiemacphotos7875854334httpwwwflickrcomphotosw4nd3rl0st7174403872https590photobucketcomuserasmithjmediaCPCgirl_2_computer_arms_raised2jpghtmlhttpwwwflickrcomphotosusnavy5488581781httpwwwflickrcomphotospurplemattfish3489639831httpwwwflickrcomphotosthomashawk7215052318httpwwwflickrcomphotosnuwandalice4764805046httpwwwflickrcomphotoslauter-als-der-rest6898114788httpwwwflickrcomphotos31288116N024008216690httpwwwflickrcomphotosa2gemma1448178195httpwwwflickrcomphotosnuudls3281779141
Lemİ orhan ergİnlemiorhanagilistanbulcom
lemiorhan
lemiorhan
agilistanbulcom
lemiorhan
LINKE
DIN
TWITT
ERSL
IDES
HARE
BLOG
Principal Software Engineer SonyFounder amp Author agilistanbulcom
flyingtomooncom
The slides were presented on 13th of June 2013 at Agile Talks which is a set of seminars organized by Agile Turkey few times in a year in Turkey
The content of this presentation is originally in Turkish The author translated into English by purpose
Agile development is not onlyabout project planning
Project planning is just a part of agile software development
Agile software developmentAgile planning and managementSoftware development practices
Customer satisfactionTeamworkMotivation
this is the topic we are interested in
agendaThe Nature of SoftwareNaturalness of Software AgilityAgile Software Development Practices
working on the correct designwith newest and best technologies
in a short time
We aim to complete the projects by
However we always face with issues related withhumans
Getting feedback rapidlyAgile ve lean prenciples focus on the following
Speeding up feecback loops
Letrsquos develop a projectby using
agile development practices
See your developers not as resources but talents (No headcount calculation)Work with people who loves to share knowledge and experiences (Collaborative amp Volunteer)Educate people about agile practices and the philosophy behind (Up-Front Education)Build your team with passionate and disciplined developers (Passionate Developer)ldquoDonrsquot pick the right technology pick the one thatrsquos cheapest to changerdquo by chris matts
Before the start
Developer
Business Analyst
Tester
Product Owner
Developer
Make teams with cross functional people (Cross functional teams)Sit close to your team mates (Sitting CLOSE)Define the minimum set of features that you can get feedback (Minimum Viable Product) Focus on features valuable to the customer (Prioritization)Avoid doing big fat up-front design (Short Up-Front Design)Document enough donrsquot go deep into details (Agile Documentation)
Letrsquos start the project
Business Analyst
Tester
Keep your code in a version control system (Version Control System)Program in pairs (Pair Programming)Review othersrsquo code (CodePeer Review)Develop each feature in a new branch (Code Branching)Follow clean code principles (Clean Code Principles)Do code katas to improve your technical capabilities (Code Kata)Use idiomatic and architectural patterns in addition to design patterns (Idiomatic Patterns)Develop from customersrsquo point of view by BDD (Behaviour Driven Development)Develop from developersrsquo point of view by TDD (Test Driven Development)
Software development and social coding
VersionControlSystem
Developer
Business Analyst
Tester
Pull othersrsquo commits and integrate with yours at least once a day (Continuous Integration)Let the existing tests run automatically and get feedback about the failed ones (Continuous Build)Detect untested areas in your code and improve the code coverage (Code Coverage)Donrsquot afraid of deleting code improve your design with the help of written tests (Refactoring)Full feedback loop of continous integration should take at most 10 minutes (10 min build)
Continuous Integration
Messaging Services (emails messages)
VersionControlSystem
ContinuousDeployment
Developer
Business Analyst
Tester
Prepare a working copy of your software available in your CVS (SNAPSHOTs daily builds)Make the latest working copy of your software ready for deployment (Continuous delivery)
Continuous Delivery
Package Repository
Messaging Services (emails messages)
VersionControlSystem
ContinuousDeployment
Developer
Business Analyst
Tester
DEV TEST amp QA STAGING PROD
Prepare an environment where developers can do experiments and test their code (DEV)Have an environment where performance and load tests can be done (TESTQUALITY ASSURANCE)User acceptance tests should be done on an environment similar to production (STAGINGUATSIT)
Development Environments
Package Repository
Messaging Services (emails messages)
VersionControlSystem
Make releases frequently (SHORT RELEASES)Deploy your applications with one click (Continuous DEPLOYMENT)Shorten release and boot times of your software (Fast bootup)Raise DevOps that knows software development and IT operations at the same time (DEVOPS)
Release Management amp Deployments
DEV
TEST amp QA
STAGING
PROD
ContinuousDeployment
Developer
Business Analyst
Tester
Clouds force you to follow the practices to some extent
Software development on clouds
DevOpsDevOps DevOps DevOps
VersionControlSystem
Developer
Business Analyst
Tester
You cannot talk about agility without eXtreme Programming practices And XP can only be achieved by pashioned programmers
last words
ldquordquoİsa Goumlksu
Agile Practice Lead
Photos used in the slidES
httpwwwflickrcomphotosemmanuelecontini2558211856httpwwwflickrcomphotosthecampbells5103649471httpwwwflickrcomphotosrobbiemacphotos7875854334httpwwwflickrcomphotosw4nd3rl0st7174403872https590photobucketcomuserasmithjmediaCPCgirl_2_computer_arms_raised2jpghtmlhttpwwwflickrcomphotosusnavy5488581781httpwwwflickrcomphotospurplemattfish3489639831httpwwwflickrcomphotosthomashawk7215052318httpwwwflickrcomphotosnuwandalice4764805046httpwwwflickrcomphotoslauter-als-der-rest6898114788httpwwwflickrcomphotos31288116N024008216690httpwwwflickrcomphotosa2gemma1448178195httpwwwflickrcomphotosnuudls3281779141
Lemİ orhan ergİnlemiorhanagilistanbulcom
lemiorhan
lemiorhan
agilistanbulcom
lemiorhan
LINKE
DIN
TWITT
ERSL
IDES
HARE
BLOG
Principal Software Engineer SonyFounder amp Author agilistanbulcom
flyingtomooncom
The slides were presented on 13th of June 2013 at Agile Talks which is a set of seminars organized by Agile Turkey few times in a year in Turkey
The content of this presentation is originally in Turkish The author translated into English by purpose
Agile software developmentAgile planning and managementSoftware development practices
Customer satisfactionTeamworkMotivation
this is the topic we are interested in
agendaThe Nature of SoftwareNaturalness of Software AgilityAgile Software Development Practices
working on the correct designwith newest and best technologies
in a short time
We aim to complete the projects by
However we always face with issues related withhumans
Getting feedback rapidlyAgile ve lean prenciples focus on the following
Speeding up feecback loops
Letrsquos develop a projectby using
agile development practices
See your developers not as resources but talents (No headcount calculation)Work with people who loves to share knowledge and experiences (Collaborative amp Volunteer)Educate people about agile practices and the philosophy behind (Up-Front Education)Build your team with passionate and disciplined developers (Passionate Developer)ldquoDonrsquot pick the right technology pick the one thatrsquos cheapest to changerdquo by chris matts
Before the start
Developer
Business Analyst
Tester
Product Owner
Developer
Make teams with cross functional people (Cross functional teams)Sit close to your team mates (Sitting CLOSE)Define the minimum set of features that you can get feedback (Minimum Viable Product) Focus on features valuable to the customer (Prioritization)Avoid doing big fat up-front design (Short Up-Front Design)Document enough donrsquot go deep into details (Agile Documentation)
Letrsquos start the project
Business Analyst
Tester
Keep your code in a version control system (Version Control System)Program in pairs (Pair Programming)Review othersrsquo code (CodePeer Review)Develop each feature in a new branch (Code Branching)Follow clean code principles (Clean Code Principles)Do code katas to improve your technical capabilities (Code Kata)Use idiomatic and architectural patterns in addition to design patterns (Idiomatic Patterns)Develop from customersrsquo point of view by BDD (Behaviour Driven Development)Develop from developersrsquo point of view by TDD (Test Driven Development)
Software development and social coding
VersionControlSystem
Developer
Business Analyst
Tester
Pull othersrsquo commits and integrate with yours at least once a day (Continuous Integration)Let the existing tests run automatically and get feedback about the failed ones (Continuous Build)Detect untested areas in your code and improve the code coverage (Code Coverage)Donrsquot afraid of deleting code improve your design with the help of written tests (Refactoring)Full feedback loop of continous integration should take at most 10 minutes (10 min build)
Continuous Integration
Messaging Services (emails messages)
VersionControlSystem
ContinuousDeployment
Developer
Business Analyst
Tester
Prepare a working copy of your software available in your CVS (SNAPSHOTs daily builds)Make the latest working copy of your software ready for deployment (Continuous delivery)
Continuous Delivery
Package Repository
Messaging Services (emails messages)
VersionControlSystem
ContinuousDeployment
Developer
Business Analyst
Tester
DEV TEST amp QA STAGING PROD
Prepare an environment where developers can do experiments and test their code (DEV)Have an environment where performance and load tests can be done (TESTQUALITY ASSURANCE)User acceptance tests should be done on an environment similar to production (STAGINGUATSIT)
Development Environments
Package Repository
Messaging Services (emails messages)
VersionControlSystem
Make releases frequently (SHORT RELEASES)Deploy your applications with one click (Continuous DEPLOYMENT)Shorten release and boot times of your software (Fast bootup)Raise DevOps that knows software development and IT operations at the same time (DEVOPS)
Release Management amp Deployments
DEV
TEST amp QA
STAGING
PROD
ContinuousDeployment
Developer
Business Analyst
Tester
Clouds force you to follow the practices to some extent
Software development on clouds
DevOpsDevOps DevOps DevOps
VersionControlSystem
Developer
Business Analyst
Tester
You cannot talk about agility without eXtreme Programming practices And XP can only be achieved by pashioned programmers
last words
ldquordquoİsa Goumlksu
Agile Practice Lead
Photos used in the slidES
httpwwwflickrcomphotosemmanuelecontini2558211856httpwwwflickrcomphotosthecampbells5103649471httpwwwflickrcomphotosrobbiemacphotos7875854334httpwwwflickrcomphotosw4nd3rl0st7174403872https590photobucketcomuserasmithjmediaCPCgirl_2_computer_arms_raised2jpghtmlhttpwwwflickrcomphotosusnavy5488581781httpwwwflickrcomphotospurplemattfish3489639831httpwwwflickrcomphotosthomashawk7215052318httpwwwflickrcomphotosnuwandalice4764805046httpwwwflickrcomphotoslauter-als-der-rest6898114788httpwwwflickrcomphotos31288116N024008216690httpwwwflickrcomphotosa2gemma1448178195httpwwwflickrcomphotosnuudls3281779141
Lemİ orhan ergİnlemiorhanagilistanbulcom
lemiorhan
lemiorhan
agilistanbulcom
lemiorhan
LINKE
DIN
TWITT
ERSL
IDES
HARE
BLOG
Principal Software Engineer SonyFounder amp Author agilistanbulcom
flyingtomooncom
The slides were presented on 13th of June 2013 at Agile Talks which is a set of seminars organized by Agile Turkey few times in a year in Turkey
The content of this presentation is originally in Turkish The author translated into English by purpose
agendaThe Nature of SoftwareNaturalness of Software AgilityAgile Software Development Practices
working on the correct designwith newest and best technologies
in a short time
We aim to complete the projects by
However we always face with issues related withhumans
Getting feedback rapidlyAgile ve lean prenciples focus on the following
Speeding up feecback loops
Letrsquos develop a projectby using
agile development practices
See your developers not as resources but talents (No headcount calculation)Work with people who loves to share knowledge and experiences (Collaborative amp Volunteer)Educate people about agile practices and the philosophy behind (Up-Front Education)Build your team with passionate and disciplined developers (Passionate Developer)ldquoDonrsquot pick the right technology pick the one thatrsquos cheapest to changerdquo by chris matts
Before the start
Developer
Business Analyst
Tester
Product Owner
Developer
Make teams with cross functional people (Cross functional teams)Sit close to your team mates (Sitting CLOSE)Define the minimum set of features that you can get feedback (Minimum Viable Product) Focus on features valuable to the customer (Prioritization)Avoid doing big fat up-front design (Short Up-Front Design)Document enough donrsquot go deep into details (Agile Documentation)
Letrsquos start the project
Business Analyst
Tester
Keep your code in a version control system (Version Control System)Program in pairs (Pair Programming)Review othersrsquo code (CodePeer Review)Develop each feature in a new branch (Code Branching)Follow clean code principles (Clean Code Principles)Do code katas to improve your technical capabilities (Code Kata)Use idiomatic and architectural patterns in addition to design patterns (Idiomatic Patterns)Develop from customersrsquo point of view by BDD (Behaviour Driven Development)Develop from developersrsquo point of view by TDD (Test Driven Development)
Software development and social coding
VersionControlSystem
Developer
Business Analyst
Tester
Pull othersrsquo commits and integrate with yours at least once a day (Continuous Integration)Let the existing tests run automatically and get feedback about the failed ones (Continuous Build)Detect untested areas in your code and improve the code coverage (Code Coverage)Donrsquot afraid of deleting code improve your design with the help of written tests (Refactoring)Full feedback loop of continous integration should take at most 10 minutes (10 min build)
Continuous Integration
Messaging Services (emails messages)
VersionControlSystem
ContinuousDeployment
Developer
Business Analyst
Tester
Prepare a working copy of your software available in your CVS (SNAPSHOTs daily builds)Make the latest working copy of your software ready for deployment (Continuous delivery)
Continuous Delivery
Package Repository
Messaging Services (emails messages)
VersionControlSystem
ContinuousDeployment
Developer
Business Analyst
Tester
DEV TEST amp QA STAGING PROD
Prepare an environment where developers can do experiments and test their code (DEV)Have an environment where performance and load tests can be done (TESTQUALITY ASSURANCE)User acceptance tests should be done on an environment similar to production (STAGINGUATSIT)
Development Environments
Package Repository
Messaging Services (emails messages)
VersionControlSystem
Make releases frequently (SHORT RELEASES)Deploy your applications with one click (Continuous DEPLOYMENT)Shorten release and boot times of your software (Fast bootup)Raise DevOps that knows software development and IT operations at the same time (DEVOPS)
Release Management amp Deployments
DEV
TEST amp QA
STAGING
PROD
ContinuousDeployment
Developer
Business Analyst
Tester
Clouds force you to follow the practices to some extent
Software development on clouds
DevOpsDevOps DevOps DevOps
VersionControlSystem
Developer
Business Analyst
Tester
You cannot talk about agility without eXtreme Programming practices And XP can only be achieved by pashioned programmers
last words
ldquordquoİsa Goumlksu
Agile Practice Lead
Photos used in the slidES
httpwwwflickrcomphotosemmanuelecontini2558211856httpwwwflickrcomphotosthecampbells5103649471httpwwwflickrcomphotosrobbiemacphotos7875854334httpwwwflickrcomphotosw4nd3rl0st7174403872https590photobucketcomuserasmithjmediaCPCgirl_2_computer_arms_raised2jpghtmlhttpwwwflickrcomphotosusnavy5488581781httpwwwflickrcomphotospurplemattfish3489639831httpwwwflickrcomphotosthomashawk7215052318httpwwwflickrcomphotosnuwandalice4764805046httpwwwflickrcomphotoslauter-als-der-rest6898114788httpwwwflickrcomphotos31288116N024008216690httpwwwflickrcomphotosa2gemma1448178195httpwwwflickrcomphotosnuudls3281779141
Lemİ orhan ergİnlemiorhanagilistanbulcom
lemiorhan
lemiorhan
agilistanbulcom
lemiorhan
LINKE
DIN
TWITT
ERSL
IDES
HARE
BLOG
Principal Software Engineer SonyFounder amp Author agilistanbulcom
flyingtomooncom
The slides were presented on 13th of June 2013 at Agile Talks which is a set of seminars organized by Agile Turkey few times in a year in Turkey
The content of this presentation is originally in Turkish The author translated into English by purpose
working on the correct designwith newest and best technologies
in a short time
We aim to complete the projects by
However we always face with issues related withhumans
Getting feedback rapidlyAgile ve lean prenciples focus on the following
Speeding up feecback loops
Letrsquos develop a projectby using
agile development practices
See your developers not as resources but talents (No headcount calculation)Work with people who loves to share knowledge and experiences (Collaborative amp Volunteer)Educate people about agile practices and the philosophy behind (Up-Front Education)Build your team with passionate and disciplined developers (Passionate Developer)ldquoDonrsquot pick the right technology pick the one thatrsquos cheapest to changerdquo by chris matts
Before the start
Developer
Business Analyst
Tester
Product Owner
Developer
Make teams with cross functional people (Cross functional teams)Sit close to your team mates (Sitting CLOSE)Define the minimum set of features that you can get feedback (Minimum Viable Product) Focus on features valuable to the customer (Prioritization)Avoid doing big fat up-front design (Short Up-Front Design)Document enough donrsquot go deep into details (Agile Documentation)
Letrsquos start the project
Business Analyst
Tester
Keep your code in a version control system (Version Control System)Program in pairs (Pair Programming)Review othersrsquo code (CodePeer Review)Develop each feature in a new branch (Code Branching)Follow clean code principles (Clean Code Principles)Do code katas to improve your technical capabilities (Code Kata)Use idiomatic and architectural patterns in addition to design patterns (Idiomatic Patterns)Develop from customersrsquo point of view by BDD (Behaviour Driven Development)Develop from developersrsquo point of view by TDD (Test Driven Development)
Software development and social coding
VersionControlSystem
Developer
Business Analyst
Tester
Pull othersrsquo commits and integrate with yours at least once a day (Continuous Integration)Let the existing tests run automatically and get feedback about the failed ones (Continuous Build)Detect untested areas in your code and improve the code coverage (Code Coverage)Donrsquot afraid of deleting code improve your design with the help of written tests (Refactoring)Full feedback loop of continous integration should take at most 10 minutes (10 min build)
Continuous Integration
Messaging Services (emails messages)
VersionControlSystem
ContinuousDeployment
Developer
Business Analyst
Tester
Prepare a working copy of your software available in your CVS (SNAPSHOTs daily builds)Make the latest working copy of your software ready for deployment (Continuous delivery)
Continuous Delivery
Package Repository
Messaging Services (emails messages)
VersionControlSystem
ContinuousDeployment
Developer
Business Analyst
Tester
DEV TEST amp QA STAGING PROD
Prepare an environment where developers can do experiments and test their code (DEV)Have an environment where performance and load tests can be done (TESTQUALITY ASSURANCE)User acceptance tests should be done on an environment similar to production (STAGINGUATSIT)
Development Environments
Package Repository
Messaging Services (emails messages)
VersionControlSystem
Make releases frequently (SHORT RELEASES)Deploy your applications with one click (Continuous DEPLOYMENT)Shorten release and boot times of your software (Fast bootup)Raise DevOps that knows software development and IT operations at the same time (DEVOPS)
Release Management amp Deployments
DEV
TEST amp QA
STAGING
PROD
ContinuousDeployment
Developer
Business Analyst
Tester
Clouds force you to follow the practices to some extent
Software development on clouds
DevOpsDevOps DevOps DevOps
VersionControlSystem
Developer
Business Analyst
Tester
You cannot talk about agility without eXtreme Programming practices And XP can only be achieved by pashioned programmers
last words
ldquordquoİsa Goumlksu
Agile Practice Lead
Photos used in the slidES
httpwwwflickrcomphotosemmanuelecontini2558211856httpwwwflickrcomphotosthecampbells5103649471httpwwwflickrcomphotosrobbiemacphotos7875854334httpwwwflickrcomphotosw4nd3rl0st7174403872https590photobucketcomuserasmithjmediaCPCgirl_2_computer_arms_raised2jpghtmlhttpwwwflickrcomphotosusnavy5488581781httpwwwflickrcomphotospurplemattfish3489639831httpwwwflickrcomphotosthomashawk7215052318httpwwwflickrcomphotosnuwandalice4764805046httpwwwflickrcomphotoslauter-als-der-rest6898114788httpwwwflickrcomphotos31288116N024008216690httpwwwflickrcomphotosa2gemma1448178195httpwwwflickrcomphotosnuudls3281779141
Lemİ orhan ergİnlemiorhanagilistanbulcom
lemiorhan
lemiorhan
agilistanbulcom
lemiorhan
LINKE
DIN
TWITT
ERSL
IDES
HARE
BLOG
Principal Software Engineer SonyFounder amp Author agilistanbulcom
flyingtomooncom
The slides were presented on 13th of June 2013 at Agile Talks which is a set of seminars organized by Agile Turkey few times in a year in Turkey
The content of this presentation is originally in Turkish The author translated into English by purpose
However we always face with issues related withhumans
Getting feedback rapidlyAgile ve lean prenciples focus on the following
Speeding up feecback loops
Letrsquos develop a projectby using
agile development practices
See your developers not as resources but talents (No headcount calculation)Work with people who loves to share knowledge and experiences (Collaborative amp Volunteer)Educate people about agile practices and the philosophy behind (Up-Front Education)Build your team with passionate and disciplined developers (Passionate Developer)ldquoDonrsquot pick the right technology pick the one thatrsquos cheapest to changerdquo by chris matts
Before the start
Developer
Business Analyst
Tester
Product Owner
Developer
Make teams with cross functional people (Cross functional teams)Sit close to your team mates (Sitting CLOSE)Define the minimum set of features that you can get feedback (Minimum Viable Product) Focus on features valuable to the customer (Prioritization)Avoid doing big fat up-front design (Short Up-Front Design)Document enough donrsquot go deep into details (Agile Documentation)
Letrsquos start the project
Business Analyst
Tester
Keep your code in a version control system (Version Control System)Program in pairs (Pair Programming)Review othersrsquo code (CodePeer Review)Develop each feature in a new branch (Code Branching)Follow clean code principles (Clean Code Principles)Do code katas to improve your technical capabilities (Code Kata)Use idiomatic and architectural patterns in addition to design patterns (Idiomatic Patterns)Develop from customersrsquo point of view by BDD (Behaviour Driven Development)Develop from developersrsquo point of view by TDD (Test Driven Development)
Software development and social coding
VersionControlSystem
Developer
Business Analyst
Tester
Pull othersrsquo commits and integrate with yours at least once a day (Continuous Integration)Let the existing tests run automatically and get feedback about the failed ones (Continuous Build)Detect untested areas in your code and improve the code coverage (Code Coverage)Donrsquot afraid of deleting code improve your design with the help of written tests (Refactoring)Full feedback loop of continous integration should take at most 10 minutes (10 min build)
Continuous Integration
Messaging Services (emails messages)
VersionControlSystem
ContinuousDeployment
Developer
Business Analyst
Tester
Prepare a working copy of your software available in your CVS (SNAPSHOTs daily builds)Make the latest working copy of your software ready for deployment (Continuous delivery)
Continuous Delivery
Package Repository
Messaging Services (emails messages)
VersionControlSystem
ContinuousDeployment
Developer
Business Analyst
Tester
DEV TEST amp QA STAGING PROD
Prepare an environment where developers can do experiments and test their code (DEV)Have an environment where performance and load tests can be done (TESTQUALITY ASSURANCE)User acceptance tests should be done on an environment similar to production (STAGINGUATSIT)
Development Environments
Package Repository
Messaging Services (emails messages)
VersionControlSystem
Make releases frequently (SHORT RELEASES)Deploy your applications with one click (Continuous DEPLOYMENT)Shorten release and boot times of your software (Fast bootup)Raise DevOps that knows software development and IT operations at the same time (DEVOPS)
Release Management amp Deployments
DEV
TEST amp QA
STAGING
PROD
ContinuousDeployment
Developer
Business Analyst
Tester
Clouds force you to follow the practices to some extent
Software development on clouds
DevOpsDevOps DevOps DevOps
VersionControlSystem
Developer
Business Analyst
Tester
You cannot talk about agility without eXtreme Programming practices And XP can only be achieved by pashioned programmers
last words
ldquordquoİsa Goumlksu
Agile Practice Lead
Photos used in the slidES
httpwwwflickrcomphotosemmanuelecontini2558211856httpwwwflickrcomphotosthecampbells5103649471httpwwwflickrcomphotosrobbiemacphotos7875854334httpwwwflickrcomphotosw4nd3rl0st7174403872https590photobucketcomuserasmithjmediaCPCgirl_2_computer_arms_raised2jpghtmlhttpwwwflickrcomphotosusnavy5488581781httpwwwflickrcomphotospurplemattfish3489639831httpwwwflickrcomphotosthomashawk7215052318httpwwwflickrcomphotosnuwandalice4764805046httpwwwflickrcomphotoslauter-als-der-rest6898114788httpwwwflickrcomphotos31288116N024008216690httpwwwflickrcomphotosa2gemma1448178195httpwwwflickrcomphotosnuudls3281779141
Lemİ orhan ergİnlemiorhanagilistanbulcom
lemiorhan
lemiorhan
agilistanbulcom
lemiorhan
LINKE
DIN
TWITT
ERSL
IDES
HARE
BLOG
Principal Software Engineer SonyFounder amp Author agilistanbulcom
flyingtomooncom
The slides were presented on 13th of June 2013 at Agile Talks which is a set of seminars organized by Agile Turkey few times in a year in Turkey
The content of this presentation is originally in Turkish The author translated into English by purpose
Getting feedback rapidlyAgile ve lean prenciples focus on the following
Speeding up feecback loops
Letrsquos develop a projectby using
agile development practices
See your developers not as resources but talents (No headcount calculation)Work with people who loves to share knowledge and experiences (Collaborative amp Volunteer)Educate people about agile practices and the philosophy behind (Up-Front Education)Build your team with passionate and disciplined developers (Passionate Developer)ldquoDonrsquot pick the right technology pick the one thatrsquos cheapest to changerdquo by chris matts
Before the start
Developer
Business Analyst
Tester
Product Owner
Developer
Make teams with cross functional people (Cross functional teams)Sit close to your team mates (Sitting CLOSE)Define the minimum set of features that you can get feedback (Minimum Viable Product) Focus on features valuable to the customer (Prioritization)Avoid doing big fat up-front design (Short Up-Front Design)Document enough donrsquot go deep into details (Agile Documentation)
Letrsquos start the project
Business Analyst
Tester
Keep your code in a version control system (Version Control System)Program in pairs (Pair Programming)Review othersrsquo code (CodePeer Review)Develop each feature in a new branch (Code Branching)Follow clean code principles (Clean Code Principles)Do code katas to improve your technical capabilities (Code Kata)Use idiomatic and architectural patterns in addition to design patterns (Idiomatic Patterns)Develop from customersrsquo point of view by BDD (Behaviour Driven Development)Develop from developersrsquo point of view by TDD (Test Driven Development)
Software development and social coding
VersionControlSystem
Developer
Business Analyst
Tester
Pull othersrsquo commits and integrate with yours at least once a day (Continuous Integration)Let the existing tests run automatically and get feedback about the failed ones (Continuous Build)Detect untested areas in your code and improve the code coverage (Code Coverage)Donrsquot afraid of deleting code improve your design with the help of written tests (Refactoring)Full feedback loop of continous integration should take at most 10 minutes (10 min build)
Continuous Integration
Messaging Services (emails messages)
VersionControlSystem
ContinuousDeployment
Developer
Business Analyst
Tester
Prepare a working copy of your software available in your CVS (SNAPSHOTs daily builds)Make the latest working copy of your software ready for deployment (Continuous delivery)
Continuous Delivery
Package Repository
Messaging Services (emails messages)
VersionControlSystem
ContinuousDeployment
Developer
Business Analyst
Tester
DEV TEST amp QA STAGING PROD
Prepare an environment where developers can do experiments and test their code (DEV)Have an environment where performance and load tests can be done (TESTQUALITY ASSURANCE)User acceptance tests should be done on an environment similar to production (STAGINGUATSIT)
Development Environments
Package Repository
Messaging Services (emails messages)
VersionControlSystem
Make releases frequently (SHORT RELEASES)Deploy your applications with one click (Continuous DEPLOYMENT)Shorten release and boot times of your software (Fast bootup)Raise DevOps that knows software development and IT operations at the same time (DEVOPS)
Release Management amp Deployments
DEV
TEST amp QA
STAGING
PROD
ContinuousDeployment
Developer
Business Analyst
Tester
Clouds force you to follow the practices to some extent
Software development on clouds
DevOpsDevOps DevOps DevOps
VersionControlSystem
Developer
Business Analyst
Tester
You cannot talk about agility without eXtreme Programming practices And XP can only be achieved by pashioned programmers
last words
ldquordquoİsa Goumlksu
Agile Practice Lead
Photos used in the slidES
httpwwwflickrcomphotosemmanuelecontini2558211856httpwwwflickrcomphotosthecampbells5103649471httpwwwflickrcomphotosrobbiemacphotos7875854334httpwwwflickrcomphotosw4nd3rl0st7174403872https590photobucketcomuserasmithjmediaCPCgirl_2_computer_arms_raised2jpghtmlhttpwwwflickrcomphotosusnavy5488581781httpwwwflickrcomphotospurplemattfish3489639831httpwwwflickrcomphotosthomashawk7215052318httpwwwflickrcomphotosnuwandalice4764805046httpwwwflickrcomphotoslauter-als-der-rest6898114788httpwwwflickrcomphotos31288116N024008216690httpwwwflickrcomphotosa2gemma1448178195httpwwwflickrcomphotosnuudls3281779141
Lemİ orhan ergİnlemiorhanagilistanbulcom
lemiorhan
lemiorhan
agilistanbulcom
lemiorhan
LINKE
DIN
TWITT
ERSL
IDES
HARE
BLOG
Principal Software Engineer SonyFounder amp Author agilistanbulcom
flyingtomooncom
The slides were presented on 13th of June 2013 at Agile Talks which is a set of seminars organized by Agile Turkey few times in a year in Turkey
The content of this presentation is originally in Turkish The author translated into English by purpose
Letrsquos develop a projectby using
agile development practices
See your developers not as resources but talents (No headcount calculation)Work with people who loves to share knowledge and experiences (Collaborative amp Volunteer)Educate people about agile practices and the philosophy behind (Up-Front Education)Build your team with passionate and disciplined developers (Passionate Developer)ldquoDonrsquot pick the right technology pick the one thatrsquos cheapest to changerdquo by chris matts
Before the start
Developer
Business Analyst
Tester
Product Owner
Developer
Make teams with cross functional people (Cross functional teams)Sit close to your team mates (Sitting CLOSE)Define the minimum set of features that you can get feedback (Minimum Viable Product) Focus on features valuable to the customer (Prioritization)Avoid doing big fat up-front design (Short Up-Front Design)Document enough donrsquot go deep into details (Agile Documentation)
Letrsquos start the project
Business Analyst
Tester
Keep your code in a version control system (Version Control System)Program in pairs (Pair Programming)Review othersrsquo code (CodePeer Review)Develop each feature in a new branch (Code Branching)Follow clean code principles (Clean Code Principles)Do code katas to improve your technical capabilities (Code Kata)Use idiomatic and architectural patterns in addition to design patterns (Idiomatic Patterns)Develop from customersrsquo point of view by BDD (Behaviour Driven Development)Develop from developersrsquo point of view by TDD (Test Driven Development)
Software development and social coding
VersionControlSystem
Developer
Business Analyst
Tester
Pull othersrsquo commits and integrate with yours at least once a day (Continuous Integration)Let the existing tests run automatically and get feedback about the failed ones (Continuous Build)Detect untested areas in your code and improve the code coverage (Code Coverage)Donrsquot afraid of deleting code improve your design with the help of written tests (Refactoring)Full feedback loop of continous integration should take at most 10 minutes (10 min build)
Continuous Integration
Messaging Services (emails messages)
VersionControlSystem
ContinuousDeployment
Developer
Business Analyst
Tester
Prepare a working copy of your software available in your CVS (SNAPSHOTs daily builds)Make the latest working copy of your software ready for deployment (Continuous delivery)
Continuous Delivery
Package Repository
Messaging Services (emails messages)
VersionControlSystem
ContinuousDeployment
Developer
Business Analyst
Tester
DEV TEST amp QA STAGING PROD
Prepare an environment where developers can do experiments and test their code (DEV)Have an environment where performance and load tests can be done (TESTQUALITY ASSURANCE)User acceptance tests should be done on an environment similar to production (STAGINGUATSIT)
Development Environments
Package Repository
Messaging Services (emails messages)
VersionControlSystem
Make releases frequently (SHORT RELEASES)Deploy your applications with one click (Continuous DEPLOYMENT)Shorten release and boot times of your software (Fast bootup)Raise DevOps that knows software development and IT operations at the same time (DEVOPS)
Release Management amp Deployments
DEV
TEST amp QA
STAGING
PROD
ContinuousDeployment
Developer
Business Analyst
Tester
Clouds force you to follow the practices to some extent
Software development on clouds
DevOpsDevOps DevOps DevOps
VersionControlSystem
Developer
Business Analyst
Tester
You cannot talk about agility without eXtreme Programming practices And XP can only be achieved by pashioned programmers
last words
ldquordquoİsa Goumlksu
Agile Practice Lead
Photos used in the slidES
httpwwwflickrcomphotosemmanuelecontini2558211856httpwwwflickrcomphotosthecampbells5103649471httpwwwflickrcomphotosrobbiemacphotos7875854334httpwwwflickrcomphotosw4nd3rl0st7174403872https590photobucketcomuserasmithjmediaCPCgirl_2_computer_arms_raised2jpghtmlhttpwwwflickrcomphotosusnavy5488581781httpwwwflickrcomphotospurplemattfish3489639831httpwwwflickrcomphotosthomashawk7215052318httpwwwflickrcomphotosnuwandalice4764805046httpwwwflickrcomphotoslauter-als-der-rest6898114788httpwwwflickrcomphotos31288116N024008216690httpwwwflickrcomphotosa2gemma1448178195httpwwwflickrcomphotosnuudls3281779141
Lemİ orhan ergİnlemiorhanagilistanbulcom
lemiorhan
lemiorhan
agilistanbulcom
lemiorhan
LINKE
DIN
TWITT
ERSL
IDES
HARE
BLOG
Principal Software Engineer SonyFounder amp Author agilistanbulcom
flyingtomooncom
The slides were presented on 13th of June 2013 at Agile Talks which is a set of seminars organized by Agile Turkey few times in a year in Turkey
The content of this presentation is originally in Turkish The author translated into English by purpose
See your developers not as resources but talents (No headcount calculation)Work with people who loves to share knowledge and experiences (Collaborative amp Volunteer)Educate people about agile practices and the philosophy behind (Up-Front Education)Build your team with passionate and disciplined developers (Passionate Developer)ldquoDonrsquot pick the right technology pick the one thatrsquos cheapest to changerdquo by chris matts
Before the start
Developer
Business Analyst
Tester
Product Owner
Developer
Make teams with cross functional people (Cross functional teams)Sit close to your team mates (Sitting CLOSE)Define the minimum set of features that you can get feedback (Minimum Viable Product) Focus on features valuable to the customer (Prioritization)Avoid doing big fat up-front design (Short Up-Front Design)Document enough donrsquot go deep into details (Agile Documentation)
Letrsquos start the project
Business Analyst
Tester
Keep your code in a version control system (Version Control System)Program in pairs (Pair Programming)Review othersrsquo code (CodePeer Review)Develop each feature in a new branch (Code Branching)Follow clean code principles (Clean Code Principles)Do code katas to improve your technical capabilities (Code Kata)Use idiomatic and architectural patterns in addition to design patterns (Idiomatic Patterns)Develop from customersrsquo point of view by BDD (Behaviour Driven Development)Develop from developersrsquo point of view by TDD (Test Driven Development)
Software development and social coding
VersionControlSystem
Developer
Business Analyst
Tester
Pull othersrsquo commits and integrate with yours at least once a day (Continuous Integration)Let the existing tests run automatically and get feedback about the failed ones (Continuous Build)Detect untested areas in your code and improve the code coverage (Code Coverage)Donrsquot afraid of deleting code improve your design with the help of written tests (Refactoring)Full feedback loop of continous integration should take at most 10 minutes (10 min build)
Continuous Integration
Messaging Services (emails messages)
VersionControlSystem
ContinuousDeployment
Developer
Business Analyst
Tester
Prepare a working copy of your software available in your CVS (SNAPSHOTs daily builds)Make the latest working copy of your software ready for deployment (Continuous delivery)
Continuous Delivery
Package Repository
Messaging Services (emails messages)
VersionControlSystem
ContinuousDeployment
Developer
Business Analyst
Tester
DEV TEST amp QA STAGING PROD
Prepare an environment where developers can do experiments and test their code (DEV)Have an environment where performance and load tests can be done (TESTQUALITY ASSURANCE)User acceptance tests should be done on an environment similar to production (STAGINGUATSIT)
Development Environments
Package Repository
Messaging Services (emails messages)
VersionControlSystem
Make releases frequently (SHORT RELEASES)Deploy your applications with one click (Continuous DEPLOYMENT)Shorten release and boot times of your software (Fast bootup)Raise DevOps that knows software development and IT operations at the same time (DEVOPS)
Release Management amp Deployments
DEV
TEST amp QA
STAGING
PROD
ContinuousDeployment
Developer
Business Analyst
Tester
Clouds force you to follow the practices to some extent
Software development on clouds
DevOpsDevOps DevOps DevOps
VersionControlSystem
Developer
Business Analyst
Tester
You cannot talk about agility without eXtreme Programming practices And XP can only be achieved by pashioned programmers
last words
ldquordquoİsa Goumlksu
Agile Practice Lead
Photos used in the slidES
httpwwwflickrcomphotosemmanuelecontini2558211856httpwwwflickrcomphotosthecampbells5103649471httpwwwflickrcomphotosrobbiemacphotos7875854334httpwwwflickrcomphotosw4nd3rl0st7174403872https590photobucketcomuserasmithjmediaCPCgirl_2_computer_arms_raised2jpghtmlhttpwwwflickrcomphotosusnavy5488581781httpwwwflickrcomphotospurplemattfish3489639831httpwwwflickrcomphotosthomashawk7215052318httpwwwflickrcomphotosnuwandalice4764805046httpwwwflickrcomphotoslauter-als-der-rest6898114788httpwwwflickrcomphotos31288116N024008216690httpwwwflickrcomphotosa2gemma1448178195httpwwwflickrcomphotosnuudls3281779141
Lemİ orhan ergİnlemiorhanagilistanbulcom
lemiorhan
lemiorhan
agilistanbulcom
lemiorhan
LINKE
DIN
TWITT
ERSL
IDES
HARE
BLOG
Principal Software Engineer SonyFounder amp Author agilistanbulcom
flyingtomooncom
The slides were presented on 13th of June 2013 at Agile Talks which is a set of seminars organized by Agile Turkey few times in a year in Turkey
The content of this presentation is originally in Turkish The author translated into English by purpose
Developer
Make teams with cross functional people (Cross functional teams)Sit close to your team mates (Sitting CLOSE)Define the minimum set of features that you can get feedback (Minimum Viable Product) Focus on features valuable to the customer (Prioritization)Avoid doing big fat up-front design (Short Up-Front Design)Document enough donrsquot go deep into details (Agile Documentation)
Letrsquos start the project
Business Analyst
Tester
Keep your code in a version control system (Version Control System)Program in pairs (Pair Programming)Review othersrsquo code (CodePeer Review)Develop each feature in a new branch (Code Branching)Follow clean code principles (Clean Code Principles)Do code katas to improve your technical capabilities (Code Kata)Use idiomatic and architectural patterns in addition to design patterns (Idiomatic Patterns)Develop from customersrsquo point of view by BDD (Behaviour Driven Development)Develop from developersrsquo point of view by TDD (Test Driven Development)
Software development and social coding
VersionControlSystem
Developer
Business Analyst
Tester
Pull othersrsquo commits and integrate with yours at least once a day (Continuous Integration)Let the existing tests run automatically and get feedback about the failed ones (Continuous Build)Detect untested areas in your code and improve the code coverage (Code Coverage)Donrsquot afraid of deleting code improve your design with the help of written tests (Refactoring)Full feedback loop of continous integration should take at most 10 minutes (10 min build)
Continuous Integration
Messaging Services (emails messages)
VersionControlSystem
ContinuousDeployment
Developer
Business Analyst
Tester
Prepare a working copy of your software available in your CVS (SNAPSHOTs daily builds)Make the latest working copy of your software ready for deployment (Continuous delivery)
Continuous Delivery
Package Repository
Messaging Services (emails messages)
VersionControlSystem
ContinuousDeployment
Developer
Business Analyst
Tester
DEV TEST amp QA STAGING PROD
Prepare an environment where developers can do experiments and test their code (DEV)Have an environment where performance and load tests can be done (TESTQUALITY ASSURANCE)User acceptance tests should be done on an environment similar to production (STAGINGUATSIT)
Development Environments
Package Repository
Messaging Services (emails messages)
VersionControlSystem
Make releases frequently (SHORT RELEASES)Deploy your applications with one click (Continuous DEPLOYMENT)Shorten release and boot times of your software (Fast bootup)Raise DevOps that knows software development and IT operations at the same time (DEVOPS)
Release Management amp Deployments
DEV
TEST amp QA
STAGING
PROD
ContinuousDeployment
Developer
Business Analyst
Tester
Clouds force you to follow the practices to some extent
Software development on clouds
DevOpsDevOps DevOps DevOps
VersionControlSystem
Developer
Business Analyst
Tester
You cannot talk about agility without eXtreme Programming practices And XP can only be achieved by pashioned programmers
last words
ldquordquoİsa Goumlksu
Agile Practice Lead
Photos used in the slidES
httpwwwflickrcomphotosemmanuelecontini2558211856httpwwwflickrcomphotosthecampbells5103649471httpwwwflickrcomphotosrobbiemacphotos7875854334httpwwwflickrcomphotosw4nd3rl0st7174403872https590photobucketcomuserasmithjmediaCPCgirl_2_computer_arms_raised2jpghtmlhttpwwwflickrcomphotosusnavy5488581781httpwwwflickrcomphotospurplemattfish3489639831httpwwwflickrcomphotosthomashawk7215052318httpwwwflickrcomphotosnuwandalice4764805046httpwwwflickrcomphotoslauter-als-der-rest6898114788httpwwwflickrcomphotos31288116N024008216690httpwwwflickrcomphotosa2gemma1448178195httpwwwflickrcomphotosnuudls3281779141
Lemİ orhan ergİnlemiorhanagilistanbulcom
lemiorhan
lemiorhan
agilistanbulcom
lemiorhan
LINKE
DIN
TWITT
ERSL
IDES
HARE
BLOG
Principal Software Engineer SonyFounder amp Author agilistanbulcom
flyingtomooncom
The slides were presented on 13th of June 2013 at Agile Talks which is a set of seminars organized by Agile Turkey few times in a year in Turkey
The content of this presentation is originally in Turkish The author translated into English by purpose
Keep your code in a version control system (Version Control System)Program in pairs (Pair Programming)Review othersrsquo code (CodePeer Review)Develop each feature in a new branch (Code Branching)Follow clean code principles (Clean Code Principles)Do code katas to improve your technical capabilities (Code Kata)Use idiomatic and architectural patterns in addition to design patterns (Idiomatic Patterns)Develop from customersrsquo point of view by BDD (Behaviour Driven Development)Develop from developersrsquo point of view by TDD (Test Driven Development)
Software development and social coding
VersionControlSystem
Developer
Business Analyst
Tester
Pull othersrsquo commits and integrate with yours at least once a day (Continuous Integration)Let the existing tests run automatically and get feedback about the failed ones (Continuous Build)Detect untested areas in your code and improve the code coverage (Code Coverage)Donrsquot afraid of deleting code improve your design with the help of written tests (Refactoring)Full feedback loop of continous integration should take at most 10 minutes (10 min build)
Continuous Integration
Messaging Services (emails messages)
VersionControlSystem
ContinuousDeployment
Developer
Business Analyst
Tester
Prepare a working copy of your software available in your CVS (SNAPSHOTs daily builds)Make the latest working copy of your software ready for deployment (Continuous delivery)
Continuous Delivery
Package Repository
Messaging Services (emails messages)
VersionControlSystem
ContinuousDeployment
Developer
Business Analyst
Tester
DEV TEST amp QA STAGING PROD
Prepare an environment where developers can do experiments and test their code (DEV)Have an environment where performance and load tests can be done (TESTQUALITY ASSURANCE)User acceptance tests should be done on an environment similar to production (STAGINGUATSIT)
Development Environments
Package Repository
Messaging Services (emails messages)
VersionControlSystem
Make releases frequently (SHORT RELEASES)Deploy your applications with one click (Continuous DEPLOYMENT)Shorten release and boot times of your software (Fast bootup)Raise DevOps that knows software development and IT operations at the same time (DEVOPS)
Release Management amp Deployments
DEV
TEST amp QA
STAGING
PROD
ContinuousDeployment
Developer
Business Analyst
Tester
Clouds force you to follow the practices to some extent
Software development on clouds
DevOpsDevOps DevOps DevOps
VersionControlSystem
Developer
Business Analyst
Tester
You cannot talk about agility without eXtreme Programming practices And XP can only be achieved by pashioned programmers
last words
ldquordquoİsa Goumlksu
Agile Practice Lead
Photos used in the slidES
httpwwwflickrcomphotosemmanuelecontini2558211856httpwwwflickrcomphotosthecampbells5103649471httpwwwflickrcomphotosrobbiemacphotos7875854334httpwwwflickrcomphotosw4nd3rl0st7174403872https590photobucketcomuserasmithjmediaCPCgirl_2_computer_arms_raised2jpghtmlhttpwwwflickrcomphotosusnavy5488581781httpwwwflickrcomphotospurplemattfish3489639831httpwwwflickrcomphotosthomashawk7215052318httpwwwflickrcomphotosnuwandalice4764805046httpwwwflickrcomphotoslauter-als-der-rest6898114788httpwwwflickrcomphotos31288116N024008216690httpwwwflickrcomphotosa2gemma1448178195httpwwwflickrcomphotosnuudls3281779141
Lemİ orhan ergİnlemiorhanagilistanbulcom
lemiorhan
lemiorhan
agilistanbulcom
lemiorhan
LINKE
DIN
TWITT
ERSL
IDES
HARE
BLOG
Principal Software Engineer SonyFounder amp Author agilistanbulcom
flyingtomooncom
The slides were presented on 13th of June 2013 at Agile Talks which is a set of seminars organized by Agile Turkey few times in a year in Turkey
The content of this presentation is originally in Turkish The author translated into English by purpose
Pull othersrsquo commits and integrate with yours at least once a day (Continuous Integration)Let the existing tests run automatically and get feedback about the failed ones (Continuous Build)Detect untested areas in your code and improve the code coverage (Code Coverage)Donrsquot afraid of deleting code improve your design with the help of written tests (Refactoring)Full feedback loop of continous integration should take at most 10 minutes (10 min build)
Continuous Integration
Messaging Services (emails messages)
VersionControlSystem
ContinuousDeployment
Developer
Business Analyst
Tester
Prepare a working copy of your software available in your CVS (SNAPSHOTs daily builds)Make the latest working copy of your software ready for deployment (Continuous delivery)
Continuous Delivery
Package Repository
Messaging Services (emails messages)
VersionControlSystem
ContinuousDeployment
Developer
Business Analyst
Tester
DEV TEST amp QA STAGING PROD
Prepare an environment where developers can do experiments and test their code (DEV)Have an environment where performance and load tests can be done (TESTQUALITY ASSURANCE)User acceptance tests should be done on an environment similar to production (STAGINGUATSIT)
Development Environments
Package Repository
Messaging Services (emails messages)
VersionControlSystem
Make releases frequently (SHORT RELEASES)Deploy your applications with one click (Continuous DEPLOYMENT)Shorten release and boot times of your software (Fast bootup)Raise DevOps that knows software development and IT operations at the same time (DEVOPS)
Release Management amp Deployments
DEV
TEST amp QA
STAGING
PROD
ContinuousDeployment
Developer
Business Analyst
Tester
Clouds force you to follow the practices to some extent
Software development on clouds
DevOpsDevOps DevOps DevOps
VersionControlSystem
Developer
Business Analyst
Tester
You cannot talk about agility without eXtreme Programming practices And XP can only be achieved by pashioned programmers
last words
ldquordquoİsa Goumlksu
Agile Practice Lead
Photos used in the slidES
httpwwwflickrcomphotosemmanuelecontini2558211856httpwwwflickrcomphotosthecampbells5103649471httpwwwflickrcomphotosrobbiemacphotos7875854334httpwwwflickrcomphotosw4nd3rl0st7174403872https590photobucketcomuserasmithjmediaCPCgirl_2_computer_arms_raised2jpghtmlhttpwwwflickrcomphotosusnavy5488581781httpwwwflickrcomphotospurplemattfish3489639831httpwwwflickrcomphotosthomashawk7215052318httpwwwflickrcomphotosnuwandalice4764805046httpwwwflickrcomphotoslauter-als-der-rest6898114788httpwwwflickrcomphotos31288116N024008216690httpwwwflickrcomphotosa2gemma1448178195httpwwwflickrcomphotosnuudls3281779141
Lemİ orhan ergİnlemiorhanagilistanbulcom
lemiorhan
lemiorhan
agilistanbulcom
lemiorhan
LINKE
DIN
TWITT
ERSL
IDES
HARE
BLOG
Principal Software Engineer SonyFounder amp Author agilistanbulcom
flyingtomooncom
The slides were presented on 13th of June 2013 at Agile Talks which is a set of seminars organized by Agile Turkey few times in a year in Turkey
The content of this presentation is originally in Turkish The author translated into English by purpose
Prepare a working copy of your software available in your CVS (SNAPSHOTs daily builds)Make the latest working copy of your software ready for deployment (Continuous delivery)
Continuous Delivery
Package Repository
Messaging Services (emails messages)
VersionControlSystem
ContinuousDeployment
Developer
Business Analyst
Tester
DEV TEST amp QA STAGING PROD
Prepare an environment where developers can do experiments and test their code (DEV)Have an environment where performance and load tests can be done (TESTQUALITY ASSURANCE)User acceptance tests should be done on an environment similar to production (STAGINGUATSIT)
Development Environments
Package Repository
Messaging Services (emails messages)
VersionControlSystem
Make releases frequently (SHORT RELEASES)Deploy your applications with one click (Continuous DEPLOYMENT)Shorten release and boot times of your software (Fast bootup)Raise DevOps that knows software development and IT operations at the same time (DEVOPS)
Release Management amp Deployments
DEV
TEST amp QA
STAGING
PROD
ContinuousDeployment
Developer
Business Analyst
Tester
Clouds force you to follow the practices to some extent
Software development on clouds
DevOpsDevOps DevOps DevOps
VersionControlSystem
Developer
Business Analyst
Tester
You cannot talk about agility without eXtreme Programming practices And XP can only be achieved by pashioned programmers
last words
ldquordquoİsa Goumlksu
Agile Practice Lead
Photos used in the slidES
httpwwwflickrcomphotosemmanuelecontini2558211856httpwwwflickrcomphotosthecampbells5103649471httpwwwflickrcomphotosrobbiemacphotos7875854334httpwwwflickrcomphotosw4nd3rl0st7174403872https590photobucketcomuserasmithjmediaCPCgirl_2_computer_arms_raised2jpghtmlhttpwwwflickrcomphotosusnavy5488581781httpwwwflickrcomphotospurplemattfish3489639831httpwwwflickrcomphotosthomashawk7215052318httpwwwflickrcomphotosnuwandalice4764805046httpwwwflickrcomphotoslauter-als-der-rest6898114788httpwwwflickrcomphotos31288116N024008216690httpwwwflickrcomphotosa2gemma1448178195httpwwwflickrcomphotosnuudls3281779141
Lemİ orhan ergİnlemiorhanagilistanbulcom
lemiorhan
lemiorhan
agilistanbulcom
lemiorhan
LINKE
DIN
TWITT
ERSL
IDES
HARE
BLOG
Principal Software Engineer SonyFounder amp Author agilistanbulcom
flyingtomooncom
The slides were presented on 13th of June 2013 at Agile Talks which is a set of seminars organized by Agile Turkey few times in a year in Turkey
The content of this presentation is originally in Turkish The author translated into English by purpose
DEV TEST amp QA STAGING PROD
Prepare an environment where developers can do experiments and test their code (DEV)Have an environment where performance and load tests can be done (TESTQUALITY ASSURANCE)User acceptance tests should be done on an environment similar to production (STAGINGUATSIT)
Development Environments
Package Repository
Messaging Services (emails messages)
VersionControlSystem
Make releases frequently (SHORT RELEASES)Deploy your applications with one click (Continuous DEPLOYMENT)Shorten release and boot times of your software (Fast bootup)Raise DevOps that knows software development and IT operations at the same time (DEVOPS)
Release Management amp Deployments
DEV
TEST amp QA
STAGING
PROD
ContinuousDeployment
Developer
Business Analyst
Tester
Clouds force you to follow the practices to some extent
Software development on clouds
DevOpsDevOps DevOps DevOps
VersionControlSystem
Developer
Business Analyst
Tester
You cannot talk about agility without eXtreme Programming practices And XP can only be achieved by pashioned programmers
last words
ldquordquoİsa Goumlksu
Agile Practice Lead
Photos used in the slidES
httpwwwflickrcomphotosemmanuelecontini2558211856httpwwwflickrcomphotosthecampbells5103649471httpwwwflickrcomphotosrobbiemacphotos7875854334httpwwwflickrcomphotosw4nd3rl0st7174403872https590photobucketcomuserasmithjmediaCPCgirl_2_computer_arms_raised2jpghtmlhttpwwwflickrcomphotosusnavy5488581781httpwwwflickrcomphotospurplemattfish3489639831httpwwwflickrcomphotosthomashawk7215052318httpwwwflickrcomphotosnuwandalice4764805046httpwwwflickrcomphotoslauter-als-der-rest6898114788httpwwwflickrcomphotos31288116N024008216690httpwwwflickrcomphotosa2gemma1448178195httpwwwflickrcomphotosnuudls3281779141
Lemİ orhan ergİnlemiorhanagilistanbulcom
lemiorhan
lemiorhan
agilistanbulcom
lemiorhan
LINKE
DIN
TWITT
ERSL
IDES
HARE
BLOG
Principal Software Engineer SonyFounder amp Author agilistanbulcom
flyingtomooncom
The slides were presented on 13th of June 2013 at Agile Talks which is a set of seminars organized by Agile Turkey few times in a year in Turkey
The content of this presentation is originally in Turkish The author translated into English by purpose
Package Repository
Messaging Services (emails messages)
VersionControlSystem
Make releases frequently (SHORT RELEASES)Deploy your applications with one click (Continuous DEPLOYMENT)Shorten release and boot times of your software (Fast bootup)Raise DevOps that knows software development and IT operations at the same time (DEVOPS)
Release Management amp Deployments
DEV
TEST amp QA
STAGING
PROD
ContinuousDeployment
Developer
Business Analyst
Tester
Clouds force you to follow the practices to some extent
Software development on clouds
DevOpsDevOps DevOps DevOps
VersionControlSystem
Developer
Business Analyst
Tester
You cannot talk about agility without eXtreme Programming practices And XP can only be achieved by pashioned programmers
last words
ldquordquoİsa Goumlksu
Agile Practice Lead
Photos used in the slidES
httpwwwflickrcomphotosemmanuelecontini2558211856httpwwwflickrcomphotosthecampbells5103649471httpwwwflickrcomphotosrobbiemacphotos7875854334httpwwwflickrcomphotosw4nd3rl0st7174403872https590photobucketcomuserasmithjmediaCPCgirl_2_computer_arms_raised2jpghtmlhttpwwwflickrcomphotosusnavy5488581781httpwwwflickrcomphotospurplemattfish3489639831httpwwwflickrcomphotosthomashawk7215052318httpwwwflickrcomphotosnuwandalice4764805046httpwwwflickrcomphotoslauter-als-der-rest6898114788httpwwwflickrcomphotos31288116N024008216690httpwwwflickrcomphotosa2gemma1448178195httpwwwflickrcomphotosnuudls3281779141
Lemİ orhan ergİnlemiorhanagilistanbulcom
lemiorhan
lemiorhan
agilistanbulcom
lemiorhan
LINKE
DIN
TWITT
ERSL
IDES
HARE
BLOG
Principal Software Engineer SonyFounder amp Author agilistanbulcom
flyingtomooncom
The slides were presented on 13th of June 2013 at Agile Talks which is a set of seminars organized by Agile Turkey few times in a year in Turkey
The content of this presentation is originally in Turkish The author translated into English by purpose
Clouds force you to follow the practices to some extent
Software development on clouds
DevOpsDevOps DevOps DevOps
VersionControlSystem
Developer
Business Analyst
Tester
You cannot talk about agility without eXtreme Programming practices And XP can only be achieved by pashioned programmers
last words
ldquordquoİsa Goumlksu
Agile Practice Lead
Photos used in the slidES
httpwwwflickrcomphotosemmanuelecontini2558211856httpwwwflickrcomphotosthecampbells5103649471httpwwwflickrcomphotosrobbiemacphotos7875854334httpwwwflickrcomphotosw4nd3rl0st7174403872https590photobucketcomuserasmithjmediaCPCgirl_2_computer_arms_raised2jpghtmlhttpwwwflickrcomphotosusnavy5488581781httpwwwflickrcomphotospurplemattfish3489639831httpwwwflickrcomphotosthomashawk7215052318httpwwwflickrcomphotosnuwandalice4764805046httpwwwflickrcomphotoslauter-als-der-rest6898114788httpwwwflickrcomphotos31288116N024008216690httpwwwflickrcomphotosa2gemma1448178195httpwwwflickrcomphotosnuudls3281779141
Lemİ orhan ergİnlemiorhanagilistanbulcom
lemiorhan
lemiorhan
agilistanbulcom
lemiorhan
LINKE
DIN
TWITT
ERSL
IDES
HARE
BLOG
Principal Software Engineer SonyFounder amp Author agilistanbulcom
flyingtomooncom
The slides were presented on 13th of June 2013 at Agile Talks which is a set of seminars organized by Agile Turkey few times in a year in Turkey
The content of this presentation is originally in Turkish The author translated into English by purpose
You cannot talk about agility without eXtreme Programming practices And XP can only be achieved by pashioned programmers
last words
ldquordquoİsa Goumlksu
Agile Practice Lead
Photos used in the slidES
httpwwwflickrcomphotosemmanuelecontini2558211856httpwwwflickrcomphotosthecampbells5103649471httpwwwflickrcomphotosrobbiemacphotos7875854334httpwwwflickrcomphotosw4nd3rl0st7174403872https590photobucketcomuserasmithjmediaCPCgirl_2_computer_arms_raised2jpghtmlhttpwwwflickrcomphotosusnavy5488581781httpwwwflickrcomphotospurplemattfish3489639831httpwwwflickrcomphotosthomashawk7215052318httpwwwflickrcomphotosnuwandalice4764805046httpwwwflickrcomphotoslauter-als-der-rest6898114788httpwwwflickrcomphotos31288116N024008216690httpwwwflickrcomphotosa2gemma1448178195httpwwwflickrcomphotosnuudls3281779141
Lemİ orhan ergİnlemiorhanagilistanbulcom
lemiorhan
lemiorhan
agilistanbulcom
lemiorhan
LINKE
DIN
TWITT
ERSL
IDES
HARE
BLOG
Principal Software Engineer SonyFounder amp Author agilistanbulcom
flyingtomooncom
The slides were presented on 13th of June 2013 at Agile Talks which is a set of seminars organized by Agile Turkey few times in a year in Turkey
The content of this presentation is originally in Turkish The author translated into English by purpose
Photos used in the slidES
httpwwwflickrcomphotosemmanuelecontini2558211856httpwwwflickrcomphotosthecampbells5103649471httpwwwflickrcomphotosrobbiemacphotos7875854334httpwwwflickrcomphotosw4nd3rl0st7174403872https590photobucketcomuserasmithjmediaCPCgirl_2_computer_arms_raised2jpghtmlhttpwwwflickrcomphotosusnavy5488581781httpwwwflickrcomphotospurplemattfish3489639831httpwwwflickrcomphotosthomashawk7215052318httpwwwflickrcomphotosnuwandalice4764805046httpwwwflickrcomphotoslauter-als-der-rest6898114788httpwwwflickrcomphotos31288116N024008216690httpwwwflickrcomphotosa2gemma1448178195httpwwwflickrcomphotosnuudls3281779141
Lemİ orhan ergİnlemiorhanagilistanbulcom
lemiorhan
lemiorhan
agilistanbulcom
lemiorhan
LINKE
DIN
TWITT
ERSL
IDES
HARE
BLOG
Principal Software Engineer SonyFounder amp Author agilistanbulcom
flyingtomooncom
The slides were presented on 13th of June 2013 at Agile Talks which is a set of seminars organized by Agile Turkey few times in a year in Turkey
The content of this presentation is originally in Turkish The author translated into English by purpose
Lemİ orhan ergİnlemiorhanagilistanbulcom
lemiorhan
lemiorhan
agilistanbulcom
lemiorhan
LINKE
DIN
TWITT
ERSL
IDES
HARE
BLOG
Principal Software Engineer SonyFounder amp Author agilistanbulcom
flyingtomooncom
The slides were presented on 13th of June 2013 at Agile Talks which is a set of seminars organized by Agile Turkey few times in a year in Turkey
The content of this presentation is originally in Turkish The author translated into English by purpose