Page 1 of 1

Development & architecture best practice for Revolution

Posted: Sat Jul 17, 2010 7:07 pm
by Clarkey
Hi folks,
Can anyone suggest simple, pragmatic tools and techniques that I can apply - as a single developer and maybe later in a small team - to:
a) The development process: For example, is anyone applying lightweight Agile and/or SCRUM techniques to their Revolution projects?
b) Application architecture: Especially when thinking about web, rather than desktop deployment? Is GLX an option here when targeting web clients?
c) Tools: I have learned a bit about tRev - are there other extensions to Revolution that I should consider to help manage my workflow, versioning, snippets, (and any other areas that I don't even know yet that I will need to worry about!)?

BTW I'm a new developer, but used to structures, frameworks and methodologies from other area of IT consultancy, business analysis and project management.
Any ideas gratefully received.
Best,
Keith..

Re: Development & architecture best practice for Revolution

Posted: Tue Jul 20, 2010 4:17 pm
by FourthWorld
Interesting topics, Keith:
Clarkey wrote:a) The development process: For example, is anyone applying lightweight Agile and/or SCRUM techniques to their Revolution projects?
"Agile" covers such a broad spectrum that it's hard to say specifically. I became one of the hundreds of signatories at agilemanifesto.org back in March after doing a lot of reading on Agile methods over the winter break. Good stuff, though some of it seems what used to be simply called "best practices".

Here I've adopted weekly builds, more iterative workflows (a natural fit for a tool like Rev where you can do wireframes, prototyping, and final delivery all in one tool), more frequent use of unit testing, and other general practices, but have yet to consider more formal methods like Scrum or even AUP.

While much of the Agile Manifesto may be just "best practices", I find the conciseness of their terms helpful in clafifying common goals among stakeholders. The transitional process has been so rewarding that it has me considering PMP certification for when I get some time freed up to pursue it.

What aspects of Agile seem most attractive and/or unclear as to how you would use them with Rev-based teams?
b) Application architecture: Especially when thinking about web, rather than desktop deployment? Is GLX an option here when targeting web clients?
For the web I tend to make public sites, so I have use ony things the user already has installed like JavaScript/CSS/HTML with LAMP+Rev on the server (though lately I've been exploring some of the NoSQL data stores like Mongo and Couch for the backend).

For intranets/extranets I find I can build things so much faster in Rev that I tend to use standalones with web-deployed stacks for those instead of the browser plugin. Roughly the same download size as the plugin, but with a standalone I get all the benefits of a browser without the limitations, and a MUCH simpler workflow. Extra bonus points that with a standalone I can also deploy to Linux, while there's still no RevWeb plugin for that platform.

c) Tools: I have learned a bit about tRev - are there other extensions to Revolution that I should consider to help manage my workflow, versioning, snippets, (and any other areas that I don't even know yet that I will need to worry about!)?
Scripter's Scrapbook was recently added to RevSelect and is well worth considering IMO.

For team-based workflows there's not much out there right now, but most of the projects I've done over the last 10 years have had teams of between three and five developers so I've been collecting parts and pieces to help those along. With the projects here increasing in both number and complexity I've had to spend a little time refining those tools, and it recently occurred to me that they'd probably be useful for others too, so later this summer I'll be releasing them as RevCloud, available for free through RevNet. More on that as they come together….
BTW I'm a new developer, but used to structures, frameworks and methodologies from other area of IT consultancy, business analysis and project management.
Too bad you're not in LA: I'm a member of a local group that meets monthly to discuss business analytics. Tomorrow night's meeting is a presentation on R. It's a new group and relatively small, but sounds like something you'd enjoy. If you pass through LA toward to the middle of the month sometime let me know and I'll send you meeting details if you like.

Re: Development & architecture best practice for Revolution

Posted: Tue Jul 20, 2010 11:49 pm
by mwieder
Scrum really works best in teams of five to seven developers (and then you need the overhead of a Scrum master, etc) so for single developers it really doesn't make that much sense. But, as Richard pointed out, many of the Agile processes are just best practice issues, so it makes sense to adopt them if appropriate. I've been trying to prioritize and break down tasks into shorter sprints lately, setting one- or two- week goals, putting undone tasks back into the backlog, rinse and repeat. I've tried to apply some TDD to rev, but in most cases I'm finding I don't really get much return for it: one of the joys of working with xtalk is that by the time I've pseudocoded something, it's mostly working code. So the problems that most Agile processes were developed to solve by and large don't exist in a single-developer rev environment. Some of the things that *do* make a lot of sense here: pair programming (in the sense of having other developers to bounce ideas off); unit testing; involving the client at all stages of the development process; constantly refocussing, re-engineering, re-evaluating; staying within the scope of the project; setting realizable milestones and moving on to the next...

Re: Development & architecture best practice for Revolution

Posted: Wed Jul 21, 2010 11:55 am
by Clarkey
Thanks for the insightful responses.

I see now that I probably asked too many big questions in one thread - I guess it proves that you don't know what you don't know! :?

Some more specific questions/topics now emerge and it's probably better to start new threads. However, thanks for the insights on Agile as best practice, its overheads making it best for teams and the bits to pick out, the thinking behind on net-savvy standalone vs. pure browser-based architecture and the tip on Scripter's Scrapbook.

This thread was triggered by the need for some lightweight 'scaffolding' to place around my app (hence GLX), project (Agile, SDLC best practice) and design/build activities (architecture and tools).

I believe I work in a fairly disciplined, iterative way but with no formal development background, I lack the experience and 'personal tool-belt' of templates, checklists, cheat-sheets, code snippets - similar to those I have derived from various methods for systems analysis, business analysis, project management, change management, enterprise architecture, etc. I guess I'm looking for a (Rev) developer's equivalent of the IIBA's Business Analysis Body of Knowledge http://www.theiiba.org/AM/Template.cfm? ... _Knowledge, from which I can create a few personal tools. Maybe there is a 'Rev/xtalk for Dummies' that goes beyond the 'How to script...' and addresses some of the 'What to script... where... what to include... and why?'