SlideShare a Scribd company logo
1 of 20
Develop at the Speed of Thought By Roy Ganor Eclipse PDT (PHP) & ATF (Ajax) Project Lead Zend Studio Project Lead
Production Output = Productivity Production Input
Productivity = Output Input   X
The Four Values Value #3: Tools Matter Value #1: Streamline software development life-cycle Value #2: Courage Value #4: Task Focus Programming
Value #1:  Streamline Software Development Life-Cycle
2 Develop Write and run tests 1 6 Get/Set Goals Set Tasks and Sub tasks Release  Engineering Developers Task Repository 3 Continuously commit  changes to SCM 5 8 Provide  feedback Provide  feedback Source Code  Management Release Management Settings 4 Poll changes 7 Produce artifact  Testers Release Management System (Continuous) integration  Server Production Clone
Project Management  Setting up a development environment is hard! We have a “monkey” for such kind of jobs  Discrepancies between development environment and      the final product
Project Team Set Quickly import a bunch of projects from CVS/SVN "Team Project Set" Export Wizard <?xml version="1.0" encoding="UTF-8"?> <psf version="2.0"> <provider id="org.eclipse.team.cvs.core.cvsnature"> <project reference="1.0,:pserver:my.company.repo:/repos,module/project1"/> <project reference="1.0,:pserver:my.company.repo:/repos,module/project1"/>      ... <project reference="1.0,:ext:oss.org:/cvsroot/ns,module/project,v200909160005"/> <project reference="1.0,:ext:oss.org:/cvsroot/ns,module/project,v200904131653"/>      ... </provider> <workingSets ...></workingSets> <psf>
                    Managing Project’s Resources Separate back-end(core), front-end(ui), tests and release stuff Enforce dependencies Separate PHP from Resources <?xml version="1.0" encoding="UTF-8"?> <buildpath>   <buildpathentrykind="src"path="core"/>   <buildpathentrykind="con"path="org.eclipse.php.core.LANGUAGE"/> </buildpath>
Release based on Tags com.project.core=v20091007-1624,:pserver:cvs@cvs.int.net:/.repos,mi.r+qz^,Module/com.project.core/ com.project.ui=v20090819-1600,:pserver:cvs@cvs.int.net:/.repos,mi.r+qz^,Module/com.project.ui/ # PHP Unit phpunit.version=3.3.17 # PHP Documentor phpdoc.version=1.4.2 # Studio Documentation (PDF, EULA) documentaion.tag=HEAD # Zend Framework zf_19.version=1.9.3 # PHP php5.version=5.2.10 php53.version=5.3.0
Streamline Environment Setup  Manual configuration is the source of evil  Can be used later on by release systems Cross-platform scripts to configure workspace <?xml version="1.0" encoding="UTF-8"?> <projectname="Builds all parser classes"default="main">    <targetname="main">       <uptodateproperty=“isUpdated"src=“file1"target=“file2”/> <if> ...  <!– if file was updated -->          <phingcall target=“generateCode"> 	   <propertyname=“prop1"value=“${value1}"/> 	   <propertyname=“prop2"value=“${value2}"/>          <phingcall/>       </if>     </target> </project>
Streamline Environment Setup (2)  Invisible for developers, it just works!
Value #2: Courage
Value #3: Tools Matter
Value #4: Task Focus Programming
Task Management Systems Episodic memory on specific tasks Subset of information that is relevant to specific task Focus on the content that is related to a specific task Task focus interface - Activating a task what you’re working on is very clear, deactivating tasks brings back all content Share context with developers Task Repository viewer and history
Before Information overload Context loss when multi-tasking
After Tasks are integratedSee only what you are working on
[Q&[A]] Eclipse PDT Forum – http://www.eclipse.org/forums/ Zend Studio Forum – http://forums.zend.com/ My email: roy@zend.com @royganor

More Related Content

What's hot

AQA TALKS 4 - AUTOMATION TEST REPORTER
AQA TALKS 4 - AUTOMATION TEST REPORTERAQA TALKS 4 - AUTOMATION TEST REPORTER
AQA TALKS 4 - AUTOMATION TEST REPORTERTaras Lytvyn
 
Tracking and improving software quality with SonarQube
Tracking and improving software quality with SonarQubeTracking and improving software quality with SonarQube
Tracking and improving software quality with SonarQubePatroklos Papapetrou (Pat)
 
Testing with Codeception
Testing with CodeceptionTesting with Codeception
Testing with CodeceptionJeremy Coates
 
PHP 4? OMG! A small vademecum for obsolete software migration.
PHP 4? OMG! A small vademecum for obsolete software migration.PHP 4? OMG! A small vademecum for obsolete software migration.
PHP 4? OMG! A small vademecum for obsolete software migration.Francesco Fullone
 
TestWorks Conf Robot framework - the unsung hero of test automation - Michael...
TestWorks Conf Robot framework - the unsung hero of test automation - Michael...TestWorks Conf Robot framework - the unsung hero of test automation - Michael...
TestWorks Conf Robot framework - the unsung hero of test automation - Michael...Xebia Nederland BV
 
Console Apps: php artisan forthe:win
Console Apps: php artisan forthe:winConsole Apps: php artisan forthe:win
Console Apps: php artisan forthe:winJoe Ferguson
 
How to Upgrade to the Newest Shiniest Django Version
How to Upgrade to the Newest Shiniest Django VersionHow to Upgrade to the Newest Shiniest Django Version
How to Upgrade to the Newest Shiniest Django VersionSusan Tan
 
Magento 2 performance profiling and best practices
Magento 2 performance profiling and best practicesMagento 2 performance profiling and best practices
Magento 2 performance profiling and best practicesJacques Bodin-Hullin
 
Designing Auto Generated Codes
Designing Auto Generated CodesDesigning Auto Generated Codes
Designing Auto Generated CodesHiroshi Kikuchi
 
Introduction to Robot Framework
Introduction to Robot FrameworkIntroduction to Robot Framework
Introduction to Robot FrameworkCarl Su
 
Managing code quality with SonarQube - Radu Vunvulea
Managing code quality with SonarQube - Radu VunvuleaManaging code quality with SonarQube - Radu Vunvulea
Managing code quality with SonarQube - Radu VunvuleaITSpark Community
 
JUnit 5: What's New and What's Coming - Spring I/O 2019
JUnit 5: What's New and What's Coming - Spring I/O 2019JUnit 5: What's New and What's Coming - Spring I/O 2019
JUnit 5: What's New and What's Coming - Spring I/O 2019Sam Brannen
 
Sonar qube to impove code quality
Sonar qube   to impove code qualitySonar qube   to impove code quality
Sonar qube to impove code qualityMani Sarkar
 
A year of SonarQube and TFS/VSTS
A year of SonarQube and TFS/VSTSA year of SonarQube and TFS/VSTS
A year of SonarQube and TFS/VSTSMatteo Emili
 
Robotframework Presentation - Pinoy Python Meetup 2011January12
Robotframework Presentation - Pinoy Python Meetup 2011January12Robotframework Presentation - Pinoy Python Meetup 2011January12
Robotframework Presentation - Pinoy Python Meetup 2011January12Franz Allan See
 

What's hot (20)

AQA TALKS 4 - AUTOMATION TEST REPORTER
AQA TALKS 4 - AUTOMATION TEST REPORTERAQA TALKS 4 - AUTOMATION TEST REPORTER
AQA TALKS 4 - AUTOMATION TEST REPORTER
 
Tracking and improving software quality with SonarQube
Tracking and improving software quality with SonarQubeTracking and improving software quality with SonarQube
Tracking and improving software quality with SonarQube
 
Testing with Codeception
Testing with CodeceptionTesting with Codeception
Testing with Codeception
 
Intro Of Selenium
Intro Of SeleniumIntro Of Selenium
Intro Of Selenium
 
PHP 4? OMG! A small vademecum for obsolete software migration.
PHP 4? OMG! A small vademecum for obsolete software migration.PHP 4? OMG! A small vademecum for obsolete software migration.
PHP 4? OMG! A small vademecum for obsolete software migration.
 
TestWorks Conf Robot framework - the unsung hero of test automation - Michael...
TestWorks Conf Robot framework - the unsung hero of test automation - Michael...TestWorks Conf Robot framework - the unsung hero of test automation - Michael...
TestWorks Conf Robot framework - the unsung hero of test automation - Michael...
 
Console Apps: php artisan forthe:win
Console Apps: php artisan forthe:winConsole Apps: php artisan forthe:win
Console Apps: php artisan forthe:win
 
How to Upgrade to the Newest Shiniest Django Version
How to Upgrade to the Newest Shiniest Django VersionHow to Upgrade to the Newest Shiniest Django Version
How to Upgrade to the Newest Shiniest Django Version
 
Magento 2 performance profiling and best practices
Magento 2 performance profiling and best practicesMagento 2 performance profiling and best practices
Magento 2 performance profiling and best practices
 
Designing Auto Generated Codes
Designing Auto Generated CodesDesigning Auto Generated Codes
Designing Auto Generated Codes
 
Introduction to Robot Framework
Introduction to Robot FrameworkIntroduction to Robot Framework
Introduction to Robot Framework
 
Managing code quality with SonarQube - Radu Vunvulea
Managing code quality with SonarQube - Radu VunvuleaManaging code quality with SonarQube - Radu Vunvulea
Managing code quality with SonarQube - Radu Vunvulea
 
Robot framework
Robot frameworkRobot framework
Robot framework
 
JUnit 5: What's New and What's Coming - Spring I/O 2019
JUnit 5: What's New and What's Coming - Spring I/O 2019JUnit 5: What's New and What's Coming - Spring I/O 2019
JUnit 5: What's New and What's Coming - Spring I/O 2019
 
EFL QA Statistics
EFL QA StatisticsEFL QA Statistics
EFL QA Statistics
 
Sonar qube to impove code quality
Sonar qube   to impove code qualitySonar qube   to impove code quality
Sonar qube to impove code quality
 
A year of SonarQube and TFS/VSTS
A year of SonarQube and TFS/VSTSA year of SonarQube and TFS/VSTS
A year of SonarQube and TFS/VSTS
 
Robotframework Presentation - Pinoy Python Meetup 2011January12
Robotframework Presentation - Pinoy Python Meetup 2011January12Robotframework Presentation - Pinoy Python Meetup 2011January12
Robotframework Presentation - Pinoy Python Meetup 2011January12
 
Sonarqube
SonarqubeSonarqube
Sonarqube
 
Api testing
Api testingApi testing
Api testing
 

Viewers also liked

Zend Studio Tips and Tricks
Zend Studio Tips and TricksZend Studio Tips and Tricks
Zend Studio Tips and TricksRoy Ganor
 
Gimp Eko Ariketak
Gimp Eko AriketakGimp Eko Ariketak
Gimp Eko Ariketaknagore92
 
Kungfurails2009
Kungfurails2009Kungfurails2009
Kungfurails2009Daniel Lv
 
Contributing To Rails By Plugin Gem
Contributing To Rails By Plugin GemContributing To Rails By Plugin Gem
Contributing To Rails By Plugin GemDaniel Lv
 
Zend Studio Tips and Tricks #zendcon 10
Zend Studio Tips and Tricks #zendcon 10Zend Studio Tips and Tricks #zendcon 10
Zend Studio Tips and Tricks #zendcon 10Roy Ganor
 
Tel Aviv Demo Camp
Tel Aviv Demo CampTel Aviv Demo Camp
Tel Aviv Demo CampRoy Ganor
 
Ria Made Easier With Zend
Ria Made Easier With ZendRia Made Easier With Zend
Ria Made Easier With ZendRoy Ganor
 
Better Together - PHP and JavaScript Best Practices with Zend Studio 8
Better Together - PHP and JavaScript Best Practices with Zend Studio 8Better Together - PHP and JavaScript Best Practices with Zend Studio 8
Better Together - PHP and JavaScript Best Practices with Zend Studio 8Roy Ganor
 
Ria Made Easier With Zend
Ria Made Easier With ZendRia Made Easier With Zend
Ria Made Easier With ZendRoy Ganor
 

Viewers also liked (10)

Zend Studio Tips and Tricks
Zend Studio Tips and TricksZend Studio Tips and Tricks
Zend Studio Tips and Tricks
 
Gimp Eko Ariketak
Gimp Eko AriketakGimp Eko Ariketak
Gimp Eko Ariketak
 
F spodcampphilly2010
F spodcampphilly2010F spodcampphilly2010
F spodcampphilly2010
 
Kungfurails2009
Kungfurails2009Kungfurails2009
Kungfurails2009
 
Contributing To Rails By Plugin Gem
Contributing To Rails By Plugin GemContributing To Rails By Plugin Gem
Contributing To Rails By Plugin Gem
 
Zend Studio Tips and Tricks #zendcon 10
Zend Studio Tips and Tricks #zendcon 10Zend Studio Tips and Tricks #zendcon 10
Zend Studio Tips and Tricks #zendcon 10
 
Tel Aviv Demo Camp
Tel Aviv Demo CampTel Aviv Demo Camp
Tel Aviv Demo Camp
 
Ria Made Easier With Zend
Ria Made Easier With ZendRia Made Easier With Zend
Ria Made Easier With Zend
 
Better Together - PHP and JavaScript Best Practices with Zend Studio 8
Better Together - PHP and JavaScript Best Practices with Zend Studio 8Better Together - PHP and JavaScript Best Practices with Zend Studio 8
Better Together - PHP and JavaScript Best Practices with Zend Studio 8
 
Ria Made Easier With Zend
Ria Made Easier With ZendRia Made Easier With Zend
Ria Made Easier With Zend
 

Similar to Develop At The Speed Of Thought

Improving code quality using CI
Improving code quality using CIImproving code quality using CI
Improving code quality using CIMartin de Keijzer
 
Sonar - the ring to rule them all
Sonar - the ring to rule them allSonar - the ring to rule them all
Sonar - the ring to rule them allSebastian Marek
 
Maven 2.0 - Improve your build patterns
Maven 2.0 - Improve your build patternsMaven 2.0 - Improve your build patterns
Maven 2.0 - Improve your build patternselliando dias
 
High Availability in 37 Easy Steps
High Availability in 37 Easy StepsHigh Availability in 37 Easy Steps
High Availability in 37 Easy StepsTim Serong
 
Predicting Defects for Eclipse
Predicting Defects for EclipsePredicting Defects for Eclipse
Predicting Defects for EclipseTim Menzies
 
Leveraging Continuous Integration For Fun And Profit!
Leveraging Continuous Integration For Fun And Profit!Leveraging Continuous Integration For Fun And Profit!
Leveraging Continuous Integration For Fun And Profit!Jess Chadwick
 
Justmeans power point
Justmeans power pointJustmeans power point
Justmeans power pointjustmeanscsr
 
Justmeans power point
Justmeans power pointJustmeans power point
Justmeans power pointjustmeanscsr
 
Justmeans power point
Justmeans power pointJustmeans power point
Justmeans power pointjustmeanscsr
 
Justmeans power point
Justmeans power pointJustmeans power point
Justmeans power pointjustmeanscsr
 
Justmeans power point
Justmeans power pointJustmeans power point
Justmeans power pointjustmeanscsr
 
Justmeans power point
Justmeans power pointJustmeans power point
Justmeans power pointjustmeanscsr
 
Justmeans power point
Justmeans power pointJustmeans power point
Justmeans power pointjustmeanscsr
 
Justmeans power point
Justmeans power pointJustmeans power point
Justmeans power pointjustmeanscsr
 
C:\Users\User\Desktop\Eclipse Infocenter
C:\Users\User\Desktop\Eclipse InfocenterC:\Users\User\Desktop\Eclipse Infocenter
C:\Users\User\Desktop\Eclipse InfocenterSuite Solutions
 
Joomla! Day Chicago 2011 Presentation - Steven Pignataro
Joomla! Day Chicago 2011 Presentation - Steven PignataroJoomla! Day Chicago 2011 Presentation - Steven Pignataro
Joomla! Day Chicago 2011 Presentation - Steven PignataroSteven Pignataro
 

Similar to Develop At The Speed Of Thought (20)

Improving code quality using CI
Improving code quality using CIImproving code quality using CI
Improving code quality using CI
 
Introduction to PHP
Introduction to PHPIntroduction to PHP
Introduction to PHP
 
PHP
PHPPHP
PHP
 
Sonar - the ring to rule them all
Sonar - the ring to rule them allSonar - the ring to rule them all
Sonar - the ring to rule them all
 
Maven 2.0 - Improve your build patterns
Maven 2.0 - Improve your build patternsMaven 2.0 - Improve your build patterns
Maven 2.0 - Improve your build patterns
 
High Availability in 37 Easy Steps
High Availability in 37 Easy StepsHigh Availability in 37 Easy Steps
High Availability in 37 Easy Steps
 
Predicting Defects for Eclipse
Predicting Defects for EclipsePredicting Defects for Eclipse
Predicting Defects for Eclipse
 
Php intro
Php introPhp intro
Php intro
 
Leveraging Continuous Integration For Fun And Profit!
Leveraging Continuous Integration For Fun And Profit!Leveraging Continuous Integration For Fun And Profit!
Leveraging Continuous Integration For Fun And Profit!
 
Justmeans power point
Justmeans power pointJustmeans power point
Justmeans power point
 
Justmeans power point
Justmeans power pointJustmeans power point
Justmeans power point
 
Justmeans power point
Justmeans power pointJustmeans power point
Justmeans power point
 
Justmeans power point
Justmeans power pointJustmeans power point
Justmeans power point
 
Justmeans power point
Justmeans power pointJustmeans power point
Justmeans power point
 
Justmeans power point
Justmeans power pointJustmeans power point
Justmeans power point
 
Justmeans power point
Justmeans power pointJustmeans power point
Justmeans power point
 
Justmeans power point
Justmeans power pointJustmeans power point
Justmeans power point
 
Demystifying Maven
Demystifying MavenDemystifying Maven
Demystifying Maven
 
C:\Users\User\Desktop\Eclipse Infocenter
C:\Users\User\Desktop\Eclipse InfocenterC:\Users\User\Desktop\Eclipse Infocenter
C:\Users\User\Desktop\Eclipse Infocenter
 
Joomla! Day Chicago 2011 Presentation - Steven Pignataro
Joomla! Day Chicago 2011 Presentation - Steven PignataroJoomla! Day Chicago 2011 Presentation - Steven Pignataro
Joomla! Day Chicago 2011 Presentation - Steven Pignataro
 

Develop At The Speed Of Thought

  • 1. Develop at the Speed of Thought By Roy Ganor Eclipse PDT (PHP) & ATF (Ajax) Project Lead Zend Studio Project Lead
  • 2. Production Output = Productivity Production Input
  • 4. The Four Values Value #3: Tools Matter Value #1: Streamline software development life-cycle Value #2: Courage Value #4: Task Focus Programming
  • 5. Value #1: Streamline Software Development Life-Cycle
  • 6.
  • 7. 2 Develop Write and run tests 1 6 Get/Set Goals Set Tasks and Sub tasks Release Engineering Developers Task Repository 3 Continuously commit changes to SCM 5 8 Provide feedback Provide feedback Source Code Management Release Management Settings 4 Poll changes 7 Produce artifact  Testers Release Management System (Continuous) integration Server Production Clone
  • 8. Project Management Setting up a development environment is hard! We have a “monkey” for such kind of jobs Discrepancies between development environment and the final product
  • 9. Project Team Set Quickly import a bunch of projects from CVS/SVN "Team Project Set" Export Wizard <?xml version="1.0" encoding="UTF-8"?> <psf version="2.0"> <provider id="org.eclipse.team.cvs.core.cvsnature"> <project reference="1.0,:pserver:my.company.repo:/repos,module/project1"/> <project reference="1.0,:pserver:my.company.repo:/repos,module/project1"/> ... <project reference="1.0,:ext:oss.org:/cvsroot/ns,module/project,v200909160005"/> <project reference="1.0,:ext:oss.org:/cvsroot/ns,module/project,v200904131653"/> ... </provider> <workingSets ...></workingSets> <psf>
  • 10. Managing Project’s Resources Separate back-end(core), front-end(ui), tests and release stuff Enforce dependencies Separate PHP from Resources <?xml version="1.0" encoding="UTF-8"?> <buildpath> <buildpathentrykind="src"path="core"/> <buildpathentrykind="con"path="org.eclipse.php.core.LANGUAGE"/> </buildpath>
  • 11. Release based on Tags com.project.core=v20091007-1624,:pserver:cvs@cvs.int.net:/.repos,mi.r+qz^,Module/com.project.core/ com.project.ui=v20090819-1600,:pserver:cvs@cvs.int.net:/.repos,mi.r+qz^,Module/com.project.ui/ # PHP Unit phpunit.version=3.3.17 # PHP Documentor phpdoc.version=1.4.2 # Studio Documentation (PDF, EULA) documentaion.tag=HEAD # Zend Framework zf_19.version=1.9.3 # PHP php5.version=5.2.10 php53.version=5.3.0
  • 12. Streamline Environment Setup Manual configuration is the source of evil Can be used later on by release systems Cross-platform scripts to configure workspace <?xml version="1.0" encoding="UTF-8"?> <projectname="Builds all parser classes"default="main"> <targetname="main"> <uptodateproperty=“isUpdated"src=“file1"target=“file2”/> <if> ... <!– if file was updated --> <phingcall target=“generateCode"> <propertyname=“prop1"value=“${value1}"/> <propertyname=“prop2"value=“${value2}"/> <phingcall/> </if> </target> </project>
  • 13. Streamline Environment Setup (2) Invisible for developers, it just works!
  • 15. Value #3: Tools Matter
  • 16. Value #4: Task Focus Programming
  • 17. Task Management Systems Episodic memory on specific tasks Subset of information that is relevant to specific task Focus on the content that is related to a specific task Task focus interface - Activating a task what you’re working on is very clear, deactivating tasks brings back all content Share context with developers Task Repository viewer and history
  • 18. Before Information overload Context loss when multi-tasking
  • 19. After Tasks are integratedSee only what you are working on
  • 20. [Q&[A]] Eclipse PDT Forum – http://www.eclipse.org/forums/ Zend Studio Forum – http://forums.zend.com/ My email: roy@zend.com @royganor