DIGG IT!
6
Comments
Published
Thursday, July 16, 2009
at
2:54 PM
.
When I write an application i tend to develop it in parts or units. At first I will focus on getting one part working and make sure to clearly understand its behavior, inputs, usability, and outputs. I will then move to assembling these units together into a larger application. In many ways it is very similar to Chafic's concept of Application Components where a larger application is technically made of many subcomponents that contain larger sets of working parts. 
Ted on Twitter - @__ted__
Ted on Adobe Groups
Ted on LinkedIn
Ted on Facebook
Ted at Adobe
Your development practice sounds a lot like basic, good problem solving techniques. i.e. Breaking problems into smaller, more manageable pieces.
I don't work with a team so I have more freedom in how I architect my code. I do code similarly to you though so for example I write my database read/write/update code into PHP classes first and then write the Flex UI which hooks into the backend I just wrote.
I plan things top-bottom, from big picture to small details, but I execute them in the other direction - bottom-top, from small working pieces of code (components) to big solutions of whole problem
basic divide and conquer
It's easy and it works in most of the cases.
I also end up with well-defined units, but take a markedly different approach to arrive there. I construct a "walking skeleton":
http://alistair.cockburn.us/Walking+skeleton
I also sometimes call it "embryonic development." Been meaning to blog about it some time.
Also, I use test-driven development to stress the design. I find the tests pull the software into shapes that are more optimal than I could plan.
Thats exactly I tend to tackle most or my apps, including twitcher. Its much quicker and easier to write an app that creates a new tooltip class (for example) in isolation; its quicker to build, debug and test. Then when its working, its componentised enough to slot into somewhere else.
I wish the Flex modules would make 'development unit by unit' easier... Now they're like an afterthought...