Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
SlideShare a Scribd company logo
Develop at the Speed of ThoughtBy Roy GanorEclipse PDT (PHP) & ATF (Ajax) Project LeadZend Studio Project Lead
Production Output=ProductivityProduction Input
Productivity=OutputInput   X
The Four ValuesValue #3: Tools MatterValue #1:Streamline software development life-cycleValue #2: CourageValue #4:Task Focus Programming
Value #1: Streamline Software Development Life-Cycle
Develop At The Speed Of Thought
2DevelopWrite and run tests16Get/Set GoalsSet Tasks and Sub tasksRelease EngineeringDevelopersTask Repository3Continuously commit changes to SCM58Provide feedbackProvide feedbackSource Code ManagementRelease ManagementSettings4Poll changes7Produceartifact TestersRelease ManagementSystem(Continuous) integration ServerProduction 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 SetQuickly 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 ResourcesSeparate back-end(core), front-end(ui), tests and release stuffEnforce dependenciesSeparate 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 Tagscom.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 Unitphpunit.version=3.3.17# PHP Documentorphpdoc.version=1.4.2# Studio Documentation (PDF, EULA)documentaion.tag=HEAD# Zend Frameworkzf_19.version=1.9.3# PHPphp5.version=5.2.10php53.version=5.3.0
Streamline Environment Setup Manual configuration is the source of evil Can be used later on by release systemsCross-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 SystemsEpisodic memory on specific tasksSubset of information that is relevant to specific taskFocus on the content that is related to a specific taskTask focus interface - Activating a task what you’re working on is very clear, deactivating tasks brings back all contentShare context with developersTask Repository viewer and history
BeforeInformation overloadContext loss when multi-tasking
AfterTasks 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

Develop At The Speed Of Thought

  • 1. Develop at the Speed of ThoughtBy Roy GanorEclipse PDT (PHP) & ATF (Ajax) Project LeadZend Studio Project Lead
  • 4. The Four ValuesValue #3: Tools MatterValue #1:Streamline software development life-cycleValue #2: CourageValue #4:Task Focus Programming
  • 5. Value #1: Streamline Software Development Life-Cycle
  • 7. 2DevelopWrite and run tests16Get/Set GoalsSet Tasks and Sub tasksRelease EngineeringDevelopersTask Repository3Continuously commit changes to SCM58Provide feedbackProvide feedbackSource Code ManagementRelease ManagementSettings4Poll changes7Produceartifact TestersRelease ManagementSystem(Continuous) integration ServerProduction 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 SetQuickly 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 ResourcesSeparate back-end(core), front-end(ui), tests and release stuffEnforce dependenciesSeparate 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 Tagscom.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 Unitphpunit.version=3.3.17# PHP Documentorphpdoc.version=1.4.2# Studio Documentation (PDF, EULA)documentaion.tag=HEAD# Zend Frameworkzf_19.version=1.9.3# PHPphp5.version=5.2.10php53.version=5.3.0
  • 12. Streamline Environment Setup Manual configuration is the source of evil Can be used later on by release systemsCross-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!
  • 16. Value #4: Task Focus Programming
  • 17. Task Management SystemsEpisodic memory on specific tasksSubset of information that is relevant to specific taskFocus on the content that is related to a specific taskTask focus interface - Activating a task what you’re working on is very clear, deactivating tasks brings back all contentShare context with developersTask Repository viewer and history
  • 19. AfterTasks 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