Notes Developers Making Changes to Production Apps
Bookmark :
Why are Lotus Notes developers allowed to make
This is an honest question, I don't understand why this sort of unprofessional behavior is tolerated? It's not tolerated in any other technology, so why do Notes shops act this way?

Comments
Do you only mean code changes? Or are data changes also part of your question?
I can see many reasons that data might need to be updated in production as part of operational support. And I can see where developers would be given that access.
Of course, if you are writing a private agent to do complex data updates, it should still go through a governance process.
But the question isn't why developers have this access -- it is more a question of where you draw the line between a change that requires governance vs. not.
We've talked about drawing that line with the Designer client -- if the change could be done by a power user without the designer client, it is probably OK to let a developer do it, too, as part of production support.
Posted by Dave At 03:26:57 PM On 11/05/2007 | - Website - |
That being said, I can imagine situations where it could happen relatively easily. Given: Notes being used in a prototyping, RAD environment with daily or hourly application changes; A lack of understanding that Notes applications are, in fact, real applications, fostered by the creation of many, many document libraries; and The very fuzzy line between when a Notes database is small and simple and used by 3 people in one department to when it becomes large and complex and used by hundreds of people across the company.
As I said, I don't condone it, I don't agree with it, and in my shops I don't allow it. But I can see how it happens sometimes.
Posted by Rob McDonagh At 04:07:32 PM On 11/05/2007 | - Website - |
Posted by Craig Schumann At 04:41:35 PM On 11/05/2007 | - Website - |
So let's say you need some backend data from an application, to show a colleague. On a .NET/SQL application, you just query your SQL backend. On Notes, you create a shared view - thus changing the design.
Posted by Pedro Quaresma At 04:13:35 AM On 11/06/2007 | - Website - |
That being said I think there are two reasons that this goes on. One is historical and the other is practical.
If you look at Notes' history going back to R3 days it was an egalitarian platform where many applications were developed by power users including sales people and administrative assistants. This was one of the great things about Notes at a time before the Internet. Unfortunately as Notes grew out of being a workgroup tool for ad-hoc collaboration to being an enterprise application server many of the habits of the old world died hard in some organizations. Not to mention some of the horrible applications that were developed and in some cases that live on.
The other reason this goes on is because it can and most of the time it seems like a great thing...there is a limitation or problem in the application and it is fixed or improved immediately. We all know that for every 10 changes that are innocuous there is one that is tragic which is remembered long after the ones that went by unnoticed have been forgotten.
The key is to structure the security on the applications in production so that there is no temptation to tamper with the production app because it isn't possible.
Regards,
Rob
Posted by rob axelrod At 11:46:16 AM On 11/06/2007 | - Website - |
Changing production design/code on the fly is what gives us a bad name.
Posted by Tom At 09:18:07 AM On 11/07/2007 | - Website - |
Posted by Craig Schumann At 11:00:49 AM On 11/07/2007 | - Website - |
Because some of us perform tests on the development side rather than on the admin side.
I'm all for staging systems, but how often do you USE them? (Okay, you might, but I know plenty of people who have them and don't)
The value of well-governed change management systems is to MONITOR THE EFFECT OF PROPOSED CHANGES. If you separate dev from test from production, and you force developers to put stuff into test -- who authorizes the move from test to production? And what standard do they use for that decision?
That's not a Notes thing. That's an organizational governance thing.
There's no point to architectural separate unless you also have process independence. And there are a lot of organizations for whom the benefit doesn't outweigh the cost.
If your developers are fast enough at debugging problems, then SOMETIMES it makes more sense to deploy immediately, and endure some percentage of bugs and subsequent fixes, because it means for the X number of changes that DON'T break, your business value of those changes is realized much faster.
Posted by Nathan T. Freeman At 02:57:11 PM On 11/07/2007 | - Website - |
Of course it's not a one size fits all from an organization's perspective (which is why we called this *Just Enough* Governance for Notes), but I think there should be a minimum. Like you mentioned, it's the process that is the key. Maybe dev can move it to test *and* production. I would rather have a rudimentary smoke test in a controlled environment before my users have to experience some oversight I've made.... or worse, some agent that is now running amok because I didn't try it first. I think Bill and Paul have shown us plenty of the consequences of bad practices and untested code.
Posted by Craig Schumann At 05:02:23 PM On 11/07/2007 | - Website - |
"Just because it doesn't work for you doesn't mean it can't work for me."
Posted by Nathan T. Freeman At 02:53:21 PM On 11/09/2007 | - Website - |
1) Lotus Notes is not the only technology this is done in. Database and web development in production are also both very common. The truth is the only environments you rarely see dev in prod is when you are dealing with code that has to be compiled before it can go live. While Notes is often the CIO whipping child in this arena its far from the only offender.
2) In small growing companies the Lotus Notes developer is the administrator in many cases. While they should use a dev environment, what can you say, absolute ACL power corrupts absolutely.
3) Often the speed of development (likely in production) is why Notes is chosen for grass roots projects. Everyone enjoys quick fixes till years later the application becomes mission critical and an edit in production finally creates havoc.
4) Even in controlled environments you can see a developer enter production under a "Break the Envelope" scenario.
Posted by Brian Vincent At 07:25:05 PM On 11/29/2007 | - Website - |
I don't think you points have changed my mind... in fact, they have only strengthened my argument....
1) This doesn't make it acceptable. If Timmy jumped off the bridge would you do it too? I would be surprised to believe that ebay or Amazon tolerates developers making changes to live code...
2) If you know that there is temptation, why isn't the IT staff being managed better? Might sound harsh to say, but staying with the ebay example, this dev/admin you refer to could cost the company millions of dollars. Plus you knew it would happen.
3) I think your statement says everything. You are basically saying that you know you are going to get burned, but did nothing to protect against it.... very unprofessional!
4) This doesn't have to be the case. Proper testing and a control release process does not have to be a reason that you can't also do things fast. If there is a huge reason to fix a bug, maybe you should be reverting the production app back to the working copy and then fix the bug. Hopefully next time, you'll be more careful.
The whole thing can be summed up with "just because you can doesn't mean you should!" I still think Tom said it all in #6 above - all of these things just give Notes and everyone who loves it a bad name. The CIO is treating Notes as the whipping boy is directly related to ever point you made. If you want more respect from the CIO, it is going to ave to start with your practices.
Posted by Craig Schumann At 08:28:23 AM On 11/30/2007 | - Website - |
This is the environment I have been in for the past 10 years. I haven't worked at a company with more than one developer (me) since the mid-90's. I have done consulting for larger companies with dedicated project managers, and I have done staged deployments. My day jobs have always been with smaller companies, though, and I prefer to keep it that way.
I used a test server for a while but it only confused my users. They would get frustrated when the workspace icon for App/Test no longer worked. They didn't care that there were multiple servers, they just want to click the icon and get to the application.
So, I meet my users needs by developing on the production server. They would rather not have to deal with a staged rollout, and I believe my job is to meet their expectations rather than tell them they're wrong. Just because you don't think this is a good idea doesn't mean it's not valid. I understand the risks and my users understand the risks, and I won't apologize for that.
Posted by Charles Robinson At 10:12:10 PM On 12/02/2007 | - Website - |
The size of the business shouldn't have anything to do with how IT is managed or the risks that the IT department takes. Developing in production equates to an increased risk to the business the IT department is serving. It's up to you as the defacto IT Director to make sure the business owner truly understands the consequences of you, the developer, making a mistake. So I think it *IS* your job to make sure things are done in as risk free a process as possible. When something does go wrong, it's going to be you that takes the heat, not the users.
Posted by Craig Schumann At 09:11:32 AM On 12/03/2007 | - Website - |
Posted by Charles Robinson At 09:01:00 PM On 12/04/2007 | - Website - |
I also didn't imply that deploying directly to production was the problem. The post was referring to practice of *developing* in production.
Posted by Craig Schumann At 10:22:52 PM On 12/04/2007 | - Website - |
I will concede that I collapsed the concepts of developing and deploying to production as having the same connotation. It seemed to me that others were using the concepts interchangeably and I went along. I probably misunderstood the intent.
Posted by Charles Robinson At 10:05:49 AM On 12/05/2007 | - Website - |
I'm not saying I advocate any of the points I've given. But what I am saying is I understand how businesses have ended up with wild overgrown notes envinorments. Often the choices were not even made by the developer but the business needs themselves. Sometimes the advantage of speedy deployment and instand updates outweigh any desire for supportablility when it comes to certain business needs. Some small businesses cannot afford separate developers and admins and more than a single server.
What I am saying is you cant just say Lotus Notes as a product is the problem, or developers themselves are always the problem. Each problem is specific to the business and choices the business made. I've known few devleopers unwilling to do what they are told when the business gives a directive.
Posted by Brian Vincent At 03:05:58 PM On 12/07/2007 | - Website - |
I also don't think this requires separate admins or developers. It makes a lot of things easier, but you can do all this with the same stuff you have today. Move development into templates that are kept in a subdirectory on the development server. This doesn't change anything except *where* the changes are made, which makes all the difference. Your test application can be in a test directory and have the ACL setup so that only you have access to it. You need to have "Just Enough" for your situation.
I'm nt trying to blame anyone, but I want someone to take responsibility. I have seen so many companies where Notes is treated like an outcast, that is dead or on the way out. When you talk with the admins and developers, everyone points the finger at management, but when you actually look around at the state of the apps and the servers, I would probably recommend the same thing. Management is always going to ask for the world, it's up to us to make it happen, and make it maintainable. Management doesn't know any better. We should.
Posted by Craig Schumann At 05:25:13 PM On 12/13/2007 | - Website - |
Posted by Brian Vincent At 07:48:39 PM On 12/17/2007 | - Website - |