• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
How your business can benefit from Symfony2 / PHPDay 2011 in Verona

How your business can benefit from Symfony2 / PHPDay 2011 in Verona



2011 will see the first stable release of Symfony2. It's development has drawn much attention already in the community and many of its protagonists have moved on from symfony 1 to Symfony 2.

2011 will see the first stable release of Symfony2. It's development has drawn much attention already in the community and many of its protagonists have moved on from symfony 1 to Symfony 2.
When speaking about this new framework all discussions immediately get technical. You will hear about performance, caching, security and many more topics.
However from a business point of view you have to ask yourself if the move is really paying off.

* What are the costs of moving to Symfony 2?
* What can you achieve with it that you could not achieve before?
* How will the use of it enhance your production process?

Being amazed by technological progress is one thing but in the end you have to earn money for a living. This session will try to help you answering the question if switching to Symfony 2 is a good decision for your situation.



Total Views
Views on SlideShare
Embed Views



7 Embeds 1,147

http://www.symfony.es 1113
http://www.techgig.com 25 3
http://twitter.com 2
http://symfony.es 2
http://webcache.googleusercontent.com 1
http://www.sfexception.com 1



Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

CC Attribution-NonCommercial-ShareAlike LicenseCC Attribution-NonCommercial-ShareAlike LicenseCC Attribution-NonCommercial-ShareAlike License

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
Post Comment
Edit your comment

    How your business can benefit from Symfony2 / PHPDay 2011 in Verona How your business can benefit from Symfony2 / PHPDay 2011 in Verona Presentation Transcript

    • how your business can benefit from Symfony2 an attempt to understand the business value of using the Symfony2 framework
    • about.me
      • Christian Schaefer a.k.a. caefer
      • read me http://test.ical.ly
      • follow me http://www.twitter.com/caefer
      • fork me http://github.com/caefer
      • stalk me http://about.me/caefer
      • web developer for over 11 years (mainly PHP)
      • Symfony experience of over 4 years
      • new media advisor in the publishing industry
      • working with several teams all over Europe
    • the business perspective
      • the bigger a company – the less technological knowhow will be present amongst those who have to make business decisions.
        • „ every new project is an investment with an estimated cost and an expected result “
      • when technology and development play a vital part in a new project you have to investigate whether the estimated cost is complete (hidden costs, unconsidered cost developments, ..) and the expected result is realistic (risks, unknown details, ..).
    • it projects in a nutshell
      • the essence of any project
        • „ a client pays a price for some resources within a timeframe to produce a result “
      • how can this be improved?
      • you can
      • .. make the client happy and possibly come back
      • .. lower the price
      • .. reduce the number of resources needed
      • .. shorten the timeframe
      • .. improve the result
    • the happier client Some rights reserved by zubrow http://flic.kr/p/9pmsyM
    • the happier client
      • .. can be achieved by
      • .. realizing his requirements in scope, in budget and in time (obviously)
      • .. making him happy with the result ( usability )
      • .. making him happy with the result even months later ( reliability )
      • .. enabling him to extend a successful product ( extendability )
      • .. preparing his product for success ( scalability and performance )
      • a happy client will come back eventually and might attract other clients.
      • Lets assume your client has a new business idea and you create the website for it.
      • If his idea becomes a success he will have a lot of things to do to leverage that momentum. if the website even under heavy load performs well and can easily scale to more servers or into the cloud, if new features can easily be added and improvements can be made then your client will be happy.
    • the lower costs Some rights reserved by zubrow http://flic.kr/p/9pmsyM
    • the lower costs
      • .. can be achieved by
      • .. saving of time and resources (obviously)
      • .. reusing already available parts ( reusability )
      • .. being prepared for change during development ( extendability )
      • .. by reducing the number of bugs ( stability )
      • .. developing for success ( scalability and performance )
      • .. allowing easy installation in the clients environments ( compatibility )
      • Hidden cost such as bugfixing, scaling, performance enhancements or installation in the productive environment will either be paid for by the client or the supplier or both depending on your contract. in any case they will not be fun.
      • When adding features later on costs can grow significantly when the previous development does not allow for change.
      • of course the costs can be reduced more efficiently by working on the time and resources issues but we‘ll come to that in a moment.
    • the reduced number of resources Some rights reserved by Stewf http://flic.kr/p/AMuDH
    • the reduced number of resources
      • .. can be achieved by
      • .. making them achieve more ( productivity )
      • .. not spending them on reccuring tasks ( reusability )
      • .. reducing the number of problem fields ( simplicity )
      • .. reducing proprietary knowledge ( openness )
      • Multiple resources (developers) will have to be used when different skill sets are required. The less problem fields your project has the less ninjas do you need.
      • Often you find single developers a must have in all project as they are Mr. Knowitall. By spreading knwoledge evenly you can get rid of this dependency (clever developers will thank you for that).
      • A lot of stuff can also be done outside your company. Leverage communities!
      • Of course more resources are used to do stuff in parallel this is dealt with next.
    • the shorter timeframe Some rights reserved by brianconnolly http://flic.kr/p/6txd42
    • the shorter timeframe
      • .. can be achieved by
      • .. utilising effective tools ( productivity )
      • .. not reinventing the wheel ( reusability )
      • .. making it easy to understand the next mans code ( simplicity )
      • .. not introducing bugs and side effects with each change ( stability )
      • .. not keeping devs busy replicating the project locally ( compatibility )
      • .. pushing devs into a vibrant and helpful environment ( support )
      • The majority of a projects time should be spent on things important for the client such as his desired functionality, usability and design. By using effective tools and reusing components you can save a lot of time.
      • Complicated environments, undocumented and complicated code and the unavailability of a codes creator can cost a lot of hours.
    • the improved result Some rights reserved by The Slushey One http://flic.kr/p/7EfiBk
    • the improved result
      • .. can be achieved by
      • .. well crafted functionalities and clear design ( usability )
      • .. reducing the number of bugs and side effects ( reliability )
      • .. making it fun to work with ( performance )
      • .. making it long lasting ( scalability )
      • .. enable it to be easily extended ( extendability )
      • Any product that will „just about do it“ can easily begin to hiccup in real life when data load becomes a lot, traffic rises or more hardware needs to be used.
      • Don‘t make your client come back for problems with the product.
      • Make him come back because he loves your work!
    • put order to the buzz words Some rights reserved by Attila con la cámara http://flic.kr/p/8FbVSr
    • put order to the buzz words reliability extendability scalablity performance usability compatibility stability simplicity productivity support reusability simplicity productivity openness reusability reliability extendability scalablity performance compatibility stability reliability extendability scalablity performance usability save time better result save resources lower price happier client
    • any decent open source framework Some rights reserved by erix! http://flic.kr/p/5DPwNq
    • any decent open source framework
      • .. will provide you with
      • basic website functionality
      • by being able to reuse existing components i.e. orm, routing, templating, authentication, etc.. you can save resources and time
      • a structure to work in
      • makes your code much simpler and more compatible , enhances communication and therefore improves productivity to save time
      • good documentation and training materials
      • supports your productivity speed and saves time
      • upgrades with bug and security fixes and enhancements
      • each reliable fix and enhancements that you can reuse but did not have to do yourself will save resources and time
    • any decent open source framework
      • .. will also provide you with
      • a community of knowledgable people
      • they can provide support to you or even be hired as your system of choice is compatible to theirs. they can help you to save time
      • tons of open source extensions
      • which you can reuse and not develop yourself to save resources and time
      • some development tools
      • i.e. logging or meaningful error messages can greatly enhance your productivity and save time
      • control
      • at least that‘s what a framework should do. maintaining the control of your project and not having to bow down to a software lets you focus on usability more to make the client happier
    • Symfony2 Some rights reserved by JF Sebastian http://flic.kr/p/6fm5jb
    • Symfony2
      • „ so is Symfony2 some kind of special? ”
      • the short answer is yes
    • Symfony2 Symfony2 is really fast! Symfony2 uses very little memory! Symfony2 adds very little overhead to your code. helping you build much better products ! so. there you go. use Symfony2. thanks for listening!
    • Symfony2
      • Symfony2 already gained a good reputation within the PHP community
      • the Symfony community is one of the biggest PHP communities and probably the most active (more than 180 contributors at the moment)
      • there are many people with in depth knowledge able and quick response to bug reports to support you save time
      • the documentation is awesome, getting better on a daily basis and is already one of the best and most complete documentations in the PHP world
      • so there is a lot of information out there supporting you to save time
      • Symfony2 applies learnings from more than five years of community feedback
      • making the framework more reliable and stable again to save time , to make the client happier and to lower the price
      • Symfony2 applies best practices from various other technologies from the PHP world to Perl and Ruby and a lot from Java (Spring)
      • making it even more reliable and stable to save time
    • Symfony2
      • there already is a huge number of bundles (Symfony2 term for plugins)
      • enabling you to reuse rather than to reinvent and save time and resources
      • classnames in Symfony2 follow approved naming conventions
      • making your code more compatible with other to eventually save time
      • Symfony2 code comes with the MIT licence so you can use it commercially.
      • in contrast to i.e. GPL licensed this is a key requirement for commercial work!
      • with Sensio exists a dedicated company driving the future of Symfony2
      • although not strictly necessary this backing will make clients happier
      • Sensio also organises Symfony2 conferences and talks to grow the community and also provides official trainings
      • with OpenSky, KnpLabs and others there are even more companies actively supporting Symfony2!
      • companies trust other companies more than individuals so this makes clients happier
    • Symfony2
      • „ wait a minute that’s not special -
      • that’s marketing! ”
      • ok, there‘s more..
    • Symfony2
      • Symfony2 is fully unit tested !
      • enhancing reliability and stability a lot to save time and resources and lower the price and making the client happier
      • Symfony2 is fully interoperable !
      • and can integrate non-Symfony2 code easily like other libraries or your own code to lower the price, save time and resources
      • there has been a security audit on Symfony2 funded by the community!
      • enhanced security makes your application more stable and also makes the client happier and saves time and resources
      • Symfony2 uses de-facto standard software such as PHPUnit
      • so the tools used in Symfony2 are probably known to your developers which saves time
      • included in Symfony2 is the form framework !
      • easing one of the most time consuming tasks will save time
    • Symfony2
      • Symfony2 gives you the web profiler !
      • this tool is one of the most advanced debugging tools around and can definitely save time
      • everything (!) in Symfony2 is completely decoupled
      • this enables you to exchange every single part or switch those off that you don‘t need to make it faster so you can build a better result and make the client happy
      • the structure of Symfony2 encourages to write framework independent
      • so you can easily reuse your old legacy code but you can also easily reuse your new code in other even non-Symfony2 projects which will make your application more reliable in the future and will eventually lower the price and make the client happier
    • Symfony2
      • a special feature deserves a dedicated slide.
      • Symfony2 respects, follows and fully supports the HTTP protocol
      • this may sound geeky and appears to be only a technical detail but it enhances the developers understanding of his application across the multiple tiers from the browser to the server.
      • Symfony2 authentication and authorization follow the HTTP specification
      • this makes such important topics easy to understand and saves time and creates a better result
      • Symfony2 comes with an amazing caching feature !
      • this feature is a PHP implementation of a reverse proxy or gateway cache that operates on standard HTTP protocol headers produced by the framework. it even supprts edge side includes (ESI) and can be replaced for production by Akamai, Varnish or Squid which will make a better result and make the client happier
    • Symfony2
      • and another special feature deserves another dedicated slide.
      • Symfony2 comes with Twig for your templating as default
      • not many PHP frameworks use templating engines these days but Twig is just the perfect match. It is dead simple and it is stand alone.
      • web designers can easily work with Twig templates right away before any business logic s actually programmed or even started. It is very easy to create dummy contents that can later be replaced by the web programmers.
      • so you can show the website to the client very early on in the process while still changing to the requirements and making the client happier
      • this way you will make the requirements more stable before spending too much time on impleming them which saves time and resources
      • design work and programmer work is in fact so decoupled that you can do the work in parallel without side effects and save more time
      • Twig already takes care about output escaping so using Twig greatly enhances the security of your app and making the client happy
    • Symfony2
      • „ ooh wow! ”
      • wait. there‘s more
    • Symfony2
      • and then here is some good stuff to use for your own marketing
      • Symfony2 comes with a Long Term Support of 3 years
      • during which time there will be fixes and enhancements making the framework more reliable which lowers the price and makes the client happier
      • Symfony2 guarantees a stable API for all minor versions!
      • so unless upgrading to Symfony3 at some point you can be sure that all framework methods that you use and that are indicated as being covered by this warranty (with the @api annotation) will still reliably work so you save time, lower the price and make the client happier
      • Symfony2 development is spread across many communities!
      • Doctrine as the default ORM is used outside Symfony2 as well and has ist own community pushing it further. the same goes for Twig, SwiftMailer and the Symfony Components so there is no development bottleneck but high reliability which makes the client happier
    • anything else?
      • if Symfony2 is not an option for you –
      • you can still consider using it.
      • consider to use the HTTP cache on ist own wrapping your application
      • consider to use Silex for small, special functionalities (i.e. Ajax responses)
      • consider to introduce Symfony Components in your applications
      • consider to use any of the stand alone libraries Doctrine, SwiftMailer, Twig, ..
    • pitfalls to look out for Some rights reserved by H G M http://flic.kr/p/8opqaQ
    • pitfalls to look out for
      • currently Symfony2 is in beta state –
      • it‘s fairly stable but not yet finished
      • this means
      • .. the documentation is growing still and might not yet cover everything
      • .. there are no best practices on how to work with Symfony2 just yet
      • .. code generation is not yet fully available which was a blast in symfony 1.4
      • .. Symfony2 still has some edges to take care of that can be quite complex
    • links to further reading Some rights reserved by H G M http://flic.kr/p/8opqaQ
    • links to further reading
      • http://www.symfony.com/what-is-symfony , What is Symfony
      • http://symfony.com/contributors , Top Symfony2 contributors (all time)
      • https://github.com/fabpot/Silex , Silex micro framework
      • http://components.symfony-project.org/ , Symfony Components
    • questions? Some rights reserved by dsb nola http://flic.kr/p/5DeuzB
      • please rate my talk and leave feedback
      • http://joind.in/2994
      • read me http://test.ical.ly
      • follow me http://www.twitter.com/caefer
      • fork me http://github.com/caefer
      • stalk me http://about.me/caefer
      thank you!