Simon Brown looks at Enerjy offerings

The company Enerjy is, I believe, an off-shoot of the well-known Domino development tools specialist, Teamstudio. Teamstudio’s stuff is of a high quality, so I was interested to see what Simon Brown had to say in his post, JSIG (which stands for Java Special Interest Group). The group was looking at a couple of profiling tools that Enerjy offer. I was particularly struck by this quote from Simon:

The presentation started with a look at why many software projects fail and the key factor that came out here was poor code quality. Again, this is one contributing factor, but (IMHO) there are other bigger factors such as a lack of process, failing to manage client expectations, failing to manage changing requirements, etc. One good point made was that code reviews are not typically estimated and planned for. I agree with this.

And I thought it was just us…!

But seriously, code reviews are so crucial to projects, I’m still amazed they don’t happen more often. The J2EE project I just completed — my first big one — had a smashing review at the end, courtesy of one of m’learned colleagues, and that gave me plenty to chew on. I could effect a number of changes within hours of completing the review, and the rest didn’t take much longer. We also caught one massive (potential) show-stopper. So, if you ain’t reviewing, do it!


  1. Code Review ? Absolutely agree.

    However, out here in customerland, some of the clients I've seen in the last 12 months dont even implement a change control process, letting developers hack code in live environments. Not even a template check-in check-out process.

    Oh. Because its "too difficult". Yeah.

    Sad, isnt it ?

    ---* BillWild Bill#
  2. If Code Reviews are good, Pair Programming is great. I did a project last year with PP and it was unbelievable how refined the code was. It's much tougher to get used to, sharing a keyboard/screen every day but the product quality can't be matched.Jamie McIlroy#
  3. Change management ain't all it's cracked up to be. Oh, it's necessary, alright, but in and of itself it's pretty much useless. My current gig averages about a 50-50 split between "work" and "process", and the process consists largely of duplicating existing paperwork. There is a requirement for acceptance testing by the application owner(s), but end-user testing is definitely not an acceptable replacement for architectural and code review, unit testing, proper test case generation, formal functional testing, and so forth.

    Every application I've touched has been poorly architected and coded, and it's obvious that the coder (and the development here is ALWAYS solo, since there's a biling taboo that prevent actual collaboration) has painted himself/herself into a corner and slapped the majority together, regardless of the consequences, in an effort to meet the Holy Delivery Date. This isn't just "didn't know better" stuff. You know how you can get about halfway through an application and suddenly realise that your base structures are entirely inadequate? The smart move is to throw away what you've got and start over, but the tendancy is to plug on regardless. The project still slips, but now you've got a poorly-performing application that is difficult to restructure after it has accumulated data in production.

    There are "development standards", but they amount to the sort of things that can be filtered with, say, TeamStudio Analyzer or similar tools. They're great for picking out hard-coded server names or envirinment settings coded into a class rather than a .properties, .cfg or .ini file, but they can't ask you what you were smoking when you opened every document in a view to get values that were displayed in the columns of same, or why you fetched the same table entire table again and again every time you used the data in a dozen or so rows.

    Without genuine code review and proper testing, change management is nothing but paperwork.

    BTW -- PP is a Good Thing,even in something as "trivial" as Notes.Stan Rogers#

Comments on this post are now closed.


I’m a software architect / developer / general IT wrangler specialising in web, mobile web and middleware using things like node.js, Java, C#, PHP, HTML5 and more.

Best described as a simpleton, but kindly. You can read more here.