Hello! I'm starting a medium sized project of reimplementing my coldFusion store using only java frameworks. My store is: www.capoeiragear.com I'm trying to select a development process that will work well for a solo developer working from home during the evenings and weekends. I may not even need a process for this kind of thing, but it would be nice to have a structured approch for analysis, design, development, testing, deployment, etc.. So my question is does anyone have any suggestions of a process that would be a good fit for a solo developer with no interaction between teams, or have any ideas of how to adapt an existing process to fit my needs? What if any process do you use when you work on solo projects from home? I'd love to hear any ideas. Thanks!
You might want to consider starting by writing automated tests against the existing application -- something that navigates your store over HTTP and verifies that things work as expected -- and then start to migrate functionality piece-by-piece over to Java, or just build the Java version of the application next to the old one and use your test script to guide you through missing features. That way, you make sure that what worked in the ColdFusion version, works in the Java version as well.
Assuming you are your own customer for the project, I suspect you don't really need a "process" as much as you need a smart set of practices. My stab at a list you might benefit from would be: 1) Write automated tests 2) Have a continuous integration system run all your tests all the time, while you're focused on a specific task and run only those few tests while developing 3) Take small steps and refactor often
I like those ideas. I'd add frequent backups and/or a real version control system. Test first is the coolest new idea I've run into in a long time. It's darned hard to get used to but really pays off. And in addition to being a nice coding technique, it has the most wonderful influence on design.
A good question is never answered. It is not a bolt to be tightened into place but a seed to be planted and to bear more seed toward the hope of greening the landscape of the idea. John Ciardi
I would also be rather draconic about implementing features in order of value - that is, split features into parts of more and less importance and defer the latter part until late in the project (when you know how much time is left).
The soul is dyed the color of its thoughts. Think only on those things that are in line with your principles and can bear the light of day. The content of your character is your choice. Day by day, what you do is who you become. Your integrity is your destiny - it is the light that guides your way. - Heraclitus
subject: Process recommendations for a solo developer working from home