Developers, like lawyers, should not ask questions they do not know the answer to
I recently inherited responsibility for
maintaining some applications. At the same time, we happen to be
decommissioning a server, so I needed to change the Server to Run On for
the agents. And, for some reason, I had to ask: "What does this
agent do, anyway?"
Turns out, this was the agent that runs once a week against all documents in the database. Well, first of all, it doesn't *really* run against all documents in the database. I don't think it matters much, but target of your agents should be set properly.
Second, this agent looks up the market segment of a customer in another database. Remember, this runs every week. It would seem that, if this information is required, it should be flagged as a required field on entry. In theory, at the end of the run, every document should have a proper value. So why are there over 1,200 documents being processed every week? The agent doesn't care if it finds a value or not. So it runs over the same documents every week (just in case).
It is also does the look up using a view that has all documents in the other database, even though there are way fewer documents of the type that have the information we are looking for. This is a symptom of. "It works in development with a couple hundred documents, so why should I care how it works with a hundred thousand documents?" Using a better view could probably reduce the run time.
So why are we running this agent anyway? This is where a good change management application would come in handy. And who uses this information? Let's go to the change request... Oops! There isn't one. So let's just ask all the users. Apparently, this information isn't actually used because the one view that categorizes this field has the familiar '(Not Categorized)' category. This agent doesn't even solve a problem completely, so it's not much of a solution.
What's the big deal? The agent runs on weekends and only takes 12 seconds. But multiply this agent by all the useless agents and databases and servers and pretty soon you see why users (and management) think Notes sucks.
I think I'm just going to disable this agent and see if anyone complains.
By the way, I think it makes sense to switch up ownership of applications every once in a while, just so someone can ask those stupid questions. You might also see someone else's clever solution to a problem you've wrestled with before.
That said, I'm happy to volunteer to look at one of your applications if you like. Any takers?
Turns out, this was the agent that runs once a week against all documents in the database. Well, first of all, it doesn't *really* run against all documents in the database. I don't think it matters much, but target of your agents should be set properly.
Second, this agent looks up the market segment of a customer in another database. Remember, this runs every week. It would seem that, if this information is required, it should be flagged as a required field on entry. In theory, at the end of the run, every document should have a proper value. So why are there over 1,200 documents being processed every week? The agent doesn't care if it finds a value or not. So it runs over the same documents every week (just in case).
It is also does the look up using a view that has all documents in the other database, even though there are way fewer documents of the type that have the information we are looking for. This is a symptom of. "It works in development with a couple hundred documents, so why should I care how it works with a hundred thousand documents?" Using a better view could probably reduce the run time.
So why are we running this agent anyway? This is where a good change management application would come in handy. And who uses this information? Let's go to the change request... Oops! There isn't one. So let's just ask all the users. Apparently, this information isn't actually used because the one view that categorizes this field has the familiar '(Not Categorized)' category. This agent doesn't even solve a problem completely, so it's not much of a solution.
What's the big deal? The agent runs on weekends and only takes 12 seconds. But multiply this agent by all the useless agents and databases and servers and pretty soon you see why users (and management) think Notes sucks.
I think I'm just going to disable this agent and see if anyone complains.
By the way, I think it makes sense to switch up ownership of applications every once in a while, just so someone can ask those stupid questions. You might also see someone else's clever solution to a problem you've wrestled with before.
That said, I'm happy to volunteer to look at one of your applications if you like. Any takers?
Category
Comments
Posted by ugg boots sale uk At 07:32:59 PM On 12/25/2011 | - Website - |
Posted by At 08:35:47 PM On 12/25/2011 | - Website - |
{ Link }
Posted by Jennifer Wiss At 06:14:16 AM On 01/10/2012 | - Website - |
Posted by Remixes-list-2011 At 06:05:10 AM On 01/18/2012 | - Website - |