CFUnited Blog

Nat Papovich: Reviving the Lost Craft of Writing Specifications

Nat Papovich, CFUnited topic Reviving the Lost Craft of Writing Specifications

1. Is this your first time speaking at CFUnited?
This will be my first CFUnited presentation, but I've spoken at the old CFUN conferences, the old Fusebox conferences, the more-recent Frameworks conferences and dozens of CFUGs around the country.

2. Why should people attend your session?
Most everyone knows what a spec doc is. Some people may have read one. Some people may have written one. But the fact that so few projects successfully employ spec docs means that, for some reason, we aren't using spec docs to their maximum potential. I'm a big fan of spec docs myself, having written and read many of them over the years. My goal is to encourage people to write and advocate for spec docs by showing them all the benefits they provide during a development project. I'm also going to cover how to write a spec doc step-by-step, since I think that's a tripping point for a lot of people. They have a white page in Word and don't really know how to go about writing one.

3. Will people get a template to help them write spec docs?
I do have a spec doc template that I'll be showing to attendees and which will be available to all conference attendees. Although I'm not an advocate of a one-size-fits-all spec doc template, I think having a starting point of reference is crucial to assisting the spec doc creation process.

4. Will you address concerns that spec docs are a waste of time?
The highlight of my session will be how I systematically debunk every single argument against writing spec docs. No critic will come through unscathed and I'll leave no rock unturned in my attempt to root out the evil of people who insist that spec docs are a waste of time and resources.

You can find more information on Nat Papovich's presentation on his blog http://www.webapper.net/index.cfm/2008/3/12/Building-treehouses-in-code

Speaker Spotlight - Mark Drew topics CFEclipse, ColdSpring, Air

Mark Drew

Mark Drew Mark has been programming Coldfusion since 1996, and even though he has had forays into Perl, ASP and PHP he is still loving every line of code he has crafted with ColdFusion, so much so that he decided to be part of the CFEclipse team and build an even better editor to write CF with. Read more

Topics:


* CFEclipse Reloaded
* Coldspring: Better living through configuration
* Fresh AIR: Getting to grips with Aptana and AIR apps

CFUnited Interview: Peter Bell: Building CFC's, Practical Code Generation, and RAD OO

The following is an interview conducted by Brian Rinaldi, Author of RemoteSynthesis, Adobe Community Expert, and User Group manager of Boston CFUG, regarding Peter Bell's presentation topics for CFUnited 2008.

In this month's installment of my CFUnited interview series, I speak to prominent ColdFusion blogger, author and presenter and good friend, Peter Bell. Peter is well known for his innovative and often controversial ideas about code generation and design patterns. Peter also runs his own business, SystemsForge, based in New York City. Having just returned from a whirlwind series of trips around the world where he both attended and presented at various conferences and, after weeks of harassment from me, Peter has agreed to speak with me.

Brian: So to begin, what sessions are you doing this year at CFUnited?

Peter: I'm presenting three sessions - Building CFC's, Practical Code Generation, and RAD OO.

Hopefully it'll be a nice balance as the first session is for those new to Object Oriented programming and CFC's, the second is an intermediate session and RAD OO is definitely pretty advanced.

Brian: Nice. Can you tell me more about the building CFC's session? Does this deal with code generation at all or just basic CFC development?

Peter: Building CFC's is an introductory session. No code generation or design patterns. It just introduces developers to what CFC's are, why you might want to use them and how to get started with them.

Brian: Does it focus on CFCs related to object-oriented development?

Peter: Yes. In simple web applications, Object-Oriented development isn't very important, but I noticed that as my web applications got bigger, using CFCs to structure my code allowed me to write larger programs that were still maintainable.

So the session will cover the syntax of CFC's but also why you might want to use them. It will offer specific examples of where to get started if you have an existing code base and don't have much time to spend on new ideas.

Brian: Tell me more about the Practical Code Generation session.

Peter: In Practical Code Generation we'll be looking at the ideas you need to start to generate more of your applications. It is relevant both to people working on one large application and for those who develop lots of applications.

We'll start with some key concepts like "Domain Specific Languages" that allow you to do a better job of designing your generators and then we'll work through an example to show how the theory works in practice.

Brian: I know someone who wrote a very practical code generator...will that make it into the presentation? ;)

Peter: The main focus on the session will be on understanding code generators, but naturally I'll be mentioning the most popular ColdFusion based code generators - even those with silly names :D.

Brian: Hmph. I won't take that personally.

So what will be the difference between that session and the RAD OO one?

Peter: Practical Code Generation will be an intermediate session. The main focus will be on code generation and while some Object Oriented experience would help, it will not be essential.

RAD OO is definitely an advanced topic. In RAD OO not only will I be assuming that everyone is familiar with concepts such as Model-View-Controller and frameworks like ColdSpring. I will be showing how breaking all of the standard rules can actually allow you to create mid sized web applications even more quickly while still making them maintainable.

I will be looking at how a deep understanding of OO can allow you to cut certain corners and will be giving away many of the hints and tips that I use to develop 30-40 custom web applications a year while still having time to present at over 10 conferences and run the other aspects of my business.

The goal is that if everyone can take away just one idea from the RAD OO session, it could help them to save a lot of time in the future. But if you don't have experience with frameworks such as Model Glue, Mach-II or ColdSpring, it might be a little too fast paced.

Brian: That sounds like an interesting topic to be sure. I know that you and I have had our fair share of debates on these topics, so you can expect me there to heckle you.

Peter: Hecklers are welcome - I always seem to find one or two :D

Brian: You mentioned all your conference presentations and travel. Many of us have noticed that your once prolific blog has gone quiet. Care to share with readers what you have been up to?

Peter: Sure! In addition to presenting within the ColdFusion community, I also present at a number of other conferences like ooPSLA, the Domain Specific Modeling Forum, Code Generation and the British Computer Society Software Practice Advancement conference. It is interesting presenting to and learning from the top experts in code generation and OO design and then trying to find ways to bring those ideas back to the ColdFusion world while also sharing the ColdFusion love outside of the community!

I'm just back from a two week trip to the UK presenting at CF United Europe and the BCS SPA (which is probably the best conference I've ever attended).

I'm also working hard on upgrading my Software Product Line which I use for generating web applications and am on the program committee for a number of different conferences.

Finally, I ran an ad agency for many years so I'm also getting more involved with presenting at marketing conferences to introduce best development practices for creating robust, marketing focused web apps.

Brian: ...and what do you do in your spare time? ;)

Peter: Well, I'm writing some technical papers on domain specific modeling, learning Flex, getting more comfortable with TDD, Unit testing, Cruise Control and Ant. I'm also considering porting rspec - a BDD framework - to ColdFusion :D

Brian: Jeez, I was kidding.

Well, I can say I am definitely looking forward to your sessions. I know you and I have had interesting debates on some of these very topics and having seen you speak at other conferences, I know it will be well worth attending.

Thanks for taking the time to chat. I look forward to some healthy debate at CFUnited, hopefully over a brew at the hotel pub!

Peter: Thanks! I'm certainly looking forward to your session on RIA and data security on the Friday and I'm sure we'll manage some interesting debates (as always) in the pub.