3.2 Project Charter Part 2
Join over 3 million cybersecurity professionals advancing their career
Sign up with
Required fields are marked with an *
Already have an account? Sign In »
6 hours 23 minutes
hello and welcome back to the second generation of our project Charter Practical exercise.
This is cane, and this is the Enterprise Project management course.
So let's get right to it. We talked about the first section in the previous video, and we're gonna go ahead and move into the progressive elaboration of the performance requirements. And again because my driver is performance, I want to make sure that within my charter,
I properly gather exactly what the expectations of the customer are.
In this case, the customer is fairly technical again. We're a software company, so it would make sense that our customers are fairly technical. And so what we want to do is de compile their strategic objective of having this maze game into smaller, digestible chunks that I can then take back to the programming team
and actually get it built
and meet the requirements from the performance
So I talk a little bit here about some development methodology, but all it's really saying here is that within this project charter,
you're going to see exactly how I planned at a high level to do the business process analysis in the development methodology to support the requirements,
and that's really a serious of flow charts, which will go into more detail here, as as we progress through the charter.
But it's saying, you know that in this this phase we're generating maps and flow diagrams, and it may not be in the charter all the time. It really just depends on the organization, or they may be,
and we'll do a lot more in depth business process analysis later on. But this is a good little intro to kind of see how it's done.
So once we have the high level process maps, then we hope we generate drill down process maps, and those I won't should show you today. But that's too much detail. But basically that's like yours here, pseudo code or other types of process maps that you shouldn't have detailed enough
to hand to a programmer with the minimum of explanation and have a reasonably good expectation that they're going to be able to deliver that program.
So, using certain higher level programming tools like like fourth gen languages, it may be more general because again, you don't necessarily care exactly how the details are. And if it's a more technical type project than you may have more details there.
the main thing that I would put in the charter here is again once the client approves that high level process map,
then we start working on the sections that we just make sure that at that point we want to minimize or eliminate changes to the process map.
at the longer you wait to make your changes. Of course, the more expensive and time consuming those changes are. I have a really good friend of mine who is a construction project manager, And, uh,
one of the funny things that he told me was he would tell clients often that basically, if I have to break out the concrete saw for your change, it's going to be very expensive. And I think we can all visualize that and realize that, yes, if you're breaking concrete on an existing building that you've already built and poured the concrete on that, that's gonna get pricey.
So it's kind of the same mind. Yet the longer we wait
to make our change, the more expensive it's gonna be.
the more up front you can be with this type of information,
the better off you're gonna be on the project manager.
So then we talk about some team assignments, and in this case, you know, I've got
a core group of folks that are developing the overall game
playing. I've got a core group of folks that are gonna be developing the Windows loader, the window shell that this game is gonna live in. And then I've got a group of developers that are going to be developing the graphics model. So I'm just showing here at a high level who the players are and
that way when it's approved and signed by
the Project sponsor,
I've got implicit by in that these folks will be able to come and work on the project, and we'll talk about organizational structure and later course, which will have a great impact on exactly how much
quote unquote force of law this type of thing has. But it's a good idea to put it in your charter, if you can.
In the next section, we talk about deliver bulls and
a lot of folks in project management try to manage toward the work.
The schedule and my head is scheduled. My behind Treadwell those are all good things and you have to know what those things are.
It doesn't matter if you don't deliver the things that you're supposed to deliver to the customer or to the user.
So there's a whole school of thought on delivery Bols based Project Management, which is basically the idea that I really don't care how you do it as long as you deliver me these things.
And I don't necessarily recommend that as a strategy for enterprise project management.
But it's something to think about that you've got requirements, delivery, bols tasks,
these air, just units of work
and how you want to measure your project. Progress is gonna be dependent upon
what units of work are important to you. So a lot of folks that outsource projects to external vendors,
they tend to focus more on the delivery bols model because they don't necessarily care how many hours it took. I agree to pay you x number of dollars for this delivery ble. So here we've got a project charter and a signature block for that.
The program models Signature block for that, the U I sample beta sample and in the final program
At this point,
I would want to get, if at all possible, the project sponsored to go ahead and sign and approved. The project that may or may not be possible depends again on how much detail
the project sponsor wants to see. And then the project manager would sign the charter as well, making it a political, legally binding contract. It's not really, but just kind of pretend
some of some of them are, but they're actually called contracts.
okay, so I've got this kind of high level idea
of what the
Project Charter is going to talk about.
But because my driver is my performance constraints, I want to get into a little bit more detail on exactly how this process is going to work.
So I've made some process diagrams, and you can look at the use in more detail
on your own. But basically it shows from, you know, top left to bottom, right? What's gonna happen in the main section of the program?
So I've got to create the window, load the graphics load the maps,
create the lookup tables for the trigonometry that's going to determine based on where they move, what they see,
I have to be able to play a game.
I have to initiate a network socket, shut down a network socket.
I need to be able to initiate a drawing environment.
Initiate the mouse operations, actually have the different drawing events take place.
start the background music and be able to stop the background music parts, the commands
and look for specific command line parameters and then write stuff to log files. That's just building
the shell or the outer layer of this maze game.
And then I'm gonna get into the actual game play and you'll see here Same thing top left to bottom, right? Once they start playing a game, I'm going to start the game timer. I'm gonna do a Ray cast, which is just gonna paint the screen with both the user sees.
I'm gonna read whatever their mouths movement is or keyboard movement based on what that movement is. I'm gonna move the player
If they decided to shoot an energy blast. I'm gonna do the energy blast
that I'm going to load the screen with the new image.
I gotta be ableto receive and send that message is here. Send beeps
and so on. So this is again just showing
the structure of the maze game and how I'm going to build these modules of code.
This is different than a true process model, which I'm gonna skip the Windows one because I'm running short on time and go straight to the gameplay. So the idea is,
I have built a process model that is supposed to inform both the user of how the game is going to be played, or the customer as well as in for my programmers on how they actually have to build the game.
So you will see here a couple of, if then loops kind of thing. So I start my game timer
is the game over? If not, I'm gonna cast a new ray.
If it is over, I'm gonna split the screen
and show them that their game is over.
Once I cast that array, it shows him that image I'm gonna process there either the keys, stroke or their mouth stroke
any network images or messages rather than get sent during the intermediary time. I'm gonna process those as well if they have. If the keyboard stroke initiates the energy blast, I'm gonna an animate the interview blast.
And if not, I'm not. And I'm gonna go right back up here to the top and continue down that road.
And then if you see here
in that key value and mouse value and get message value, which were all these high level ones right here,
I then drill down further.
So once I processed a keystroke, I make sure it's valid. If not, I send a beep.
If it is valid, is it movement?
If it's movement, I get the direction and go ahead and process the movement in distance. If it's not a movement, is it a blast? If it is, I run a blast in command.
It's not a movement or a blast, is it? Eh?
Net message. If it is, I send it to the other user.
So we're just decomp piling in layers to get to the point where I can give this to a technical professional and have them understand how to actually write the program code. Based on these continually, these continual layers I'm getting Maur and more detail as each layer progresses.
And then finally, I've got a U I sample cause, remember, that's one of my deliverables. So I've developed this little you. I sample this is gonna go to the customer along with everything else, and hopefully they'll look at it and say Yes, this all makes sense. I agree that this is the best way to go about solving this business problem.
And then, of course, it talks about screen controls and stuff at the end.
But the basic premise here is to understand that
I've got to get my customer or my user enough details to make a decision on whether or not this project is a good investment.
Not necessarily that I need to give this, as is to the programmers.
But if you're requester is technical in your
users or technical your project manager or your project charter is gonna be more technical if they're more financial,
the same charter would look a lot different. It would be more about profits and losses and our lives and everything else because they're more financially minded. So it just really depends on what the customers looking for. But that's a relatively good sample of a
project charter that'll give you at least an opportunity. Look at one if you have not done so before.
So, in summary over these last two videos,
we've focused on the tail end of the initiation part of the Project Life cycle. And we've looked at a project charter in detail.
Thank you very much for your time. And I hope you'll join me for the next lesson.