Commentary: This is a series of posts that will follow highlights of an ongoing project I am currently engaging. The project is the development of a turnkey thematic shopping cart. My charter as the project manager is to develop the prototype site, establish baseline performance metrics or reasonable sales, and turnover the prototype deliverables. I am not at liberty of discussing client specifics but will provide general highlights of the project in a series of sporadic posts.
Business Rules
Success of a project from the PMI perspective is dependent upon the management of the scope, schedule, quality, cost, and achievement of the project objectives. From a purely pragmatic, get-the-job done, operational perspective this is sufficient. However, effectiveness and operational efficiency is not always considered. Sometimes businesses bring in lean experts afterwards or fine tune PMI styled projects using Six Sigma continuous improvement project methods later. Taking into consideration leaning the process early on in a PMI styled project may save money, efforts, and strengthen project effectiveness.
During the thematic shopping cart project, I have held such a focus. One of the concerns is the timing of the business rule execution. The error and format checking can be processed either client side or server side. If all the users hitting the site are processed on the server side this requires additional processors and RAM to handle the loading. So I decided to process basic error and format checking on the client side. By distributing this processing, I am able to achieve faster posts and reduce computational requirements at the hosting site saving cost as some hosting sites will charge extra for high load sites.
In achieving this goal, I decided to use client side JavaScript and Document Object Module, DOM, methodologies. Regular expressions, logical vetting, and format comparisons were used to vet the business rules ensuring the data is properly formatted, does not contain invalid characters, or is not blank. I also provided messaging and stop light indicators to aid users in identifying issues. The following function is an example of the simple javascript that can vet characters in a password string as they are entered on the form. When the string length is long enough the stoplight bulb turns green. If any invalid characters are entered then a message appears informing the user.
<script>
function ComparePword(){
var BaseLine = document.getElementById("CreateForm").elements[1].value;
var BaseLineLen = BaseLine.length;
var CharChk = BaseLine.match(/[!^%$#]$/g); /* ------ Regular Expression */
/* ---------------------------- Check for Invalid Characters */
if(CharChk == "#" || CharChk == "$" || CharChk == "%" || CharChk == "^" || CharChk == "!" ){
var MSG1 = CharChk + " is a prohibited character";
document.getElementById("MSG").value = MSG1; }
else{
var MSG1 = "";
document.getElementById("MSG").value = MSG1; }
/* ---------------------------- Check for required length */
if( BaseLineLen > 5 ){
document.getElementById("status1a").src="images/GRN-BALL.GIF";}
else{
document.getElementById("status1a").src="images/RED-BALL.GIF"; }
return;
}
</script>
<script>
function ComparePword(){
var BaseLine = document.getElementById("CreateForm").elements[1].value;
var BaseLineLen = BaseLine.length;
var CharChk = BaseLine.match(/[!^%$#]$/g); /* ------ Regular Expression */
/* ---------------------------- Check for Invalid Characters */
if(CharChk == "#" || CharChk == "$" || CharChk == "%" || CharChk == "^" || CharChk == "!" ){
var MSG1 = CharChk + " is a prohibited character";
document.getElementById("MSG").value = MSG1; }
else{
var MSG1 = "";
document.getElementById("MSG").value = MSG1; }
/* ---------------------------- Check for required length */
if( BaseLineLen > 5 ){
document.getElementById("status1a").src="images/GRN-BALL.GIF";}
else{
document.getElementById("status1a").src="images/RED-BALL.GIF"; }
return;
}
</script>
You can observe the code in action at Sample Code. I simplified the script for demonstration purposes. The actual scripts are much more involved.
The overall take away is that when business rules are evaluated early and on client machines, computational requirements can be reduced and application performance can be enhanced. The overall outcome is that not only is the project a success based on scope, cost, schedules, quality and objectives but it also becomes a broader success because simple technical considerations normally overlooked were handled effectively.
Commentary: In my next post, I want to return to operational project management processes from these tactical considerations that enhance project success. I want to discuss the SDLC processes on this project. The next post is not scheduled so please monitor for it. Please review my other postings. Feel free to email me at james.bogden@gmail.com or post a comment. Thanks for reading!
Project Posts:
1. Ongoing Project: Combining Project Management with Hands On Skills
2. Project Management: Unique Skills Beyond Paper Documents
3. OnGoing Project Manages Business Rules
No comments:
Post a Comment