Develop At The Speed Of Thought

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    2 Favorites

    Develop At The Speed Of Thought - Presentation Transcript

    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
    3. Productivity
      =
      Output
      Input X
    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. 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
    7. 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
    8. 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>
    9. 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>
    10. 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
    11. 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>
    12. Streamline Environment Setup (2)
      Invisible for developers, it just works!
    13. Value #2: Courage
    14. Value #3: Tools Matter
    15. Value #4: Task Focus Programming
    16. 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
    17. Before
      Information overload
      Context loss when multi-tasking
    18. After
      Tasks are integratedSee only what you are working on
    19. [Q&[A]]
      Eclipse PDT Forum – http://www.eclipse.org/forums/
      Zend Studio Forum – http://forums.zend.com/
      My email: roy@zend.com
      @royganor
    SlideShare Zeitgeist 2009

    + Roy GanorRoy Ganor Nominate

    custom

    475 views, 2 favs, 0 embeds more stats

    Develop At The Speed Of Thought

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 475
      • 475 on SlideShare
      • 0 from embeds
    • Comments 0
    • Favorites 2
    • Downloads 57
    Most viewed embeds

    more

    All embeds

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?