Getting Real symfony

Recently I wrote a review of Getting Real , the book by the guys from 37signals. But how, if at all, does this apply to, for instance, symfony ? Let's take some points from the book and see how symfony does...

Ignore details early on
In this essay, the main point made is to try and not pay attention to details early on in the project. Focus on the main functionality before diving into details. In symfony, this is easily achieved by using a basic CRUD interface first (removing the functionality you don't need, or adding specific functionality you want). Sure, it's a basic functionality, but it works. Another very powerful option is using the admin generator, which already contains quite a few more bells and whistles out of the box. It takes very little time (as little as a few seconds for the most basic screens) to set it up, and as you really need to start paying attention to details, you'll be able to much easier and with more time left in your planning. You'll be able to experience the big picture before actually thinking about the details.

Race to running software
This essay really builds on top of the previously mentioned Ignore details early on. In it, 37signals tells us to get something up and running quickly. Not until it is running will the project be alive, and will people actually feel part of it. And here again, the CRUD generator and the admin generator will be able to help. With them, in literally only a few seconds, you can set up your basic functionality. People can click through it, do everything, and experience it first-hand. And then, you can work out those things missing, or remove those things that you don't want in there.

Hire less and hire later
Why hire lots of people and think big, when a few people can do an excellent job? Symfony really supports this vision by enabling one or to developers, maybe grouped together with a designer, to deliver a basic working version of an application in a short time. Especially by using plugins that offer specific functionality ready-made, a small team can get things up and running quickly.

Actions, not words
In this essay 37signals says to look at prospective new employees not just from an interview, but also focus on what work he/she has done in the open source community. Because symfony is an open source project, it is easy to see who contributed what. An excellent way to see if your potential new employee is indeed as good as he/she says he/she is.

Interface first
Of course, symfony will have nothing to do with the basic HTML mockups Getting Real says to make first. But for a new application, applying the mockup you already made is easy. Using an empty module (or even an admin-generated or CRUD-generated module), you can easily apply your basic HTML look and feel to your project, simply be editing a single stylesheet (main.css) and a single layout file (layout.php). Thanks to the decorator pattern that symfony implements, this layout is immediately applied to all modules in your application, immediately giving you a good feeling about your application. It also removes the need for basic black-on-white proofs of concept and prototypes to show your customers. Little work has a big effect. And you can always worry about the details later.

One interface
Sure, many people split up the frontend from the backend and the symfony documentation also mentions this approach. But it's not a requirement, it's a way to do it. In this essay, 37signals speak about using a single interface both for frontend and backend actions, and just let the credentials of a user decide what a user can see. Symfony easily supports this, either completely custom-built or by a combination of admin-generated and custom-built code. Just as easy. And the symfony security model makes it easy to control the credentials of users and control what they can and can't see.

Less software
Less software means your software is easier to maintain, and has less bugs. This is one of the essences of symfony. Ensure that the lines of code a developer writes is kept to a minimum to save on cost (both development and maintainance) and also on complexity. The framework is already built and tested, so a developer does not need to focus on that. This keeps the actual code to write simple.

Open Doors
Open up your application by providing feeds and APIs, is the message of this essay. Well, feeds are only a few lines of code with the sfFeed2Plugin. OK, APIs are a bit more work, but due to the way symfony is set up, it is very easy to extend the basic behaviour of symfony to support for instance the setup of a SOAP or XML-RPC server. And if you just extend the basic symfony functionality, you only have to write that which isn't in symfony itself.

So...
As you can see, symfony can fit perfectly into a project that is Getting Real. I am not saying however that symfony is the only framework that will fit into the Getting Real vision. A lot will. 37signals is, after all, the company behind Ruby on Rails. And many other frameworks will allow developers to minimize the code they have to write themselves and save time. Symfony will just do this as well, and in my humble opinion, in an excellent way. It supports agility in all its glory.
Add comment

Comments

gravatar Craigslist Maryland apts: This is very informative post regarding software and their usage. It helps us a lot to get info about different programs and their applications. thanks for providing this informative post
June 11, 2011
gravatar Birthday Greetings: Intimately, the post is actually the best on this laudable topic. I harmonized with your conclusion and eagerly look forward to your future updates.
August 15, 2011
gravatar Fresno cars for sale: interesting post.i like to read informative blogs and this blog is also so good and helpful.
thanks for taking time to discus this topic..
September 10, 2011
gravatar Trucks: Success is neither magical nor mysterious. Success is the natural consequence of consistently applying the basic fundamentals.
September 20, 2011
gravatar Plastic Surgery article: your review on getting real is so good.you discus some good software in this post.thanks for sharing with us.
September 29, 2011
gravatar hrt for men: I thought the review was so good. There was so much that you can get from this. I see a great future from this.
October 28, 2011
gravatar Used cars in Lahore: The following article actually established my very own little brown eyes towards the several merchants which usually organizations currently have by means of internet marketing.i like to read informative blogs and this blog is also so good and helpful.thanks for taking time to discus this topic..
December 27, 2011
gravatar All Time LockSmith: Thanks for taking the time to discuss this, I feel strongly about it and love learning more on this topic. If possible, as you gain expertise, would you mind updating your blog with more information? It is extremely helpful for me.

January 3, 2012
gravatar Jorge castillo Home interior Designer: Your website is excellent , i have been looking for this information everywhere.

January 4, 2012
gravatar wmhenderson.com: This is a great blog posting and very useful. I really appreciate the research you put into it...

January 4, 2012
gravatar jetsettravel.ca: Fine information, thanks to the author. This work is really useful and significant.

January 4, 2012
gravatar Dentistas: Your website is excellent , i have been looking for this information everywhere.

January 4, 2012
gravatar Pivot Shower Door: This is a really good read for me, Must admit that you are one of the best bloggers I have read. Thanks for posting this informative article.

January 4, 2012
gravatar Golf Las Vegas: Just read your post and would like to thank you for maintaining such a cool blog.

January 4, 2012
gravatar Solenoid Valve from Discount Furnace Filter: You have a very good site, well constructed and very interesting i have bookmarked you hopefully you keep posting new stuff.

January 4, 2012
gravatar valentine messages: What I need to live has been given to me by the terrain. Why I need to live has been given to me by you.
January 31, 2012
gravatar London Escorts: Its the best open source option
February 5, 2012

Php5_zce_logo

Upcoming events

I will be speaking 17-02-2012: Techademy Trainingday February
I will be speaking 23-02-2012: Zend Webinar: Git for Subversion Users

Tags

1337 2008 2010 2011 4developers access modifiers accessibility AdaLovelaceDay09 advent agavi agile alfred amsterdam apache api apple article articles atk atkMetaNode audioscrobbler automation azure backwards compatibility barcelona barcodes bash bbc bbq beatstad belgium best practices bittorrent blogging blogs boards of canada book books bughuntday bundle caching cake cal evans calendar career cat cerf certificate cfp clear cms cologne common sense communities community components conference conferences contest continuous integration contribute contribution crisis css custom d-day datetime DbFinderPlugin decorator decorators deployment devdays development directoryindex docblox doctrine documentation download dpc dpc09 dpc10 dpc11 DPC2008 dreamhost drupal dv7 eclipse ed editors efficiency enterprise errors event events expertise ezcomponents facebook finland flickr fork framework frameworks freelance freeze frontend fun game games geoip germany getting real git github gnome-do google google calendar googletalk graceful degradation hack hackers hidden gem hiphop howto hp HR html http i386 ibuildings icann ide ideasofmarch idm imovie indy ingewikkeld integration international php conference internet interview ipad IPC ipc ipc08 ipc10 ipc11se iterm2 javascript jenkins jenkins-php job job openings jobeet john peel joomla joomladays kiva kubuntu launcher launchy left on the web libraries library lighttpd lime linktuesday linux live london loudblog m2ts mac magazines malware mambo marjolein mediterra meeting meme meta methodology micro-financing microframework microsoft migration movie music mysql namespace namespaces netbeans netherlands newsfire nllgg nos odmarco open source opinion ORM osx paradiso paris partnership pavilion pear pecl performance personal pfc10 pfc11 pfcongres pfcongrez pfz photo php php5.3 phpabstract phpazure phpBB phpbb phpbelgium phpbenelux phpbnl10 phpday phpdoc phpdocumentor phpgg phpitalia phpnw phpnw08 phpnw11 phpstorm phptek phptek09 phpuk2009 phpUnderControl phpunit php|architect php|tek podcast politics portability postcrossing presentation presentations private projects protected prototype PSR-0 public python qa qr codes re2c recruiting refactoring review rewrite ruby on rails san francisco schedule scifi script security sensio seven things sfdaycgn sflive2011 shell scripting silex simplexml slides smfony software sogeti solar sound speakers spl ssh standard standards star trek static steer strings stylesheets subversion symfony symfony live Symfony2 symfonycamp symfonyday symfonylive symfonyUnderControlPlugin talk talks techademy technology techportal tek09 telecommuting terratec terrorism testfest testing textmate textpattern the right tool timeout tips tld todo tomas tools training twig uncon unet usability usergroup validation vhost video vim vinyl virus warp webinar weblogging webservices wiki windows winphp women wordpress work workshop world world of warcraft wpi writing wunderlist xml xpath xsd yara year youtube zc11 ZCE zemanta zend zend framework zend server zend studio zendcon Zend_Form zite
© 2004 - 2012 Stefan Koopmanschap + Powered by Symfony, photos powered by Flickr, links powered by Delicious, Shanghai smilies by Iconbuffet. Feeds: rss / atom. Left on the Web v4.4.0.1