Difference between revisions of "Modules:ProjectManager"
| Line 104: | Line 104: | ||
| − | {{Header| | + | {{Header|Add New|BackgroundColor=3d78b4|FontColor=ffffff}} |
| − | |||
'''Only Team Members have access to Add New'''. | '''Only Team Members have access to Add New'''. | ||
| Line 118: | Line 117: | ||
| − | {{Header| | + | {{Header|Special Row Colors|BackgroundColor=3d78b4|FontColor=ffffff}} |
| − | |||
Referring back to the image for Details, there are 2 options that require explanation. | Referring back to the image for Details, there are 2 options that require explanation. | ||
'''Depends On''': This checkbox let's us know this module "depends" on another. | '''Depends On''': This checkbox let's us know this module "depends" on another. | ||
| Line 140: | Line 138: | ||
| − | {{Header| | + | {{Header|Conclusion|BackgroundColor=3d78b4|FontColor=ffffff}} |
| − | |||
The Project Management Portal Module is a tool for all parts of our project; Project Leader/Manager, Developers, Content Teams, Beta Testers and even just a curious community member. | The Project Management Portal Module is a tool for all parts of our project; Project Leader/Manager, Developers, Content Teams, Beta Testers and even just a curious community member. | ||
Latest revision as of 14:16, 3 August 2015
Developers - Project Management Portal Module
Return to: Developers | Tutorials | Portal | Forum | Project Manager | Bug Tracker
This is a custom module written by John Adams to help track all aspects of the project being worked on, what their status is and help testers identify which systems are complete (enough) to begin testing. This article will describe many of the search options available to find the data you are looking for, because there are literally thousands of statuses - so looking at the list line by line can be overwhelming.
First, a quick glossary of terms used here:
Category: This is the MAJOR category a status belongs to, be it Server Core, Content, or LUA Scripting. System: This is the MAJOR component within the category, such as Combat, Spells, Zones, etc. Subsystem: This is the MINOR component within the system of it's category, such as Aggro for NPC Combat. Stage: This field tells you what stage of development the status entry is at. Assignee: Who is working on the module. Target Version: What version this module is expected to be completed in before it's release. % Complete: How far along in development is the module. Priority: What priority the module is considered in respect to how quickly it becomes developed Search Text: An adhoc query that searches many status fields for the keyword entered here.
When you first open the Project Manager script, you will be shown a list of search criteria (combo boxes and input fields), and the ability to Search on any criteria you set. The script remembers the settings you picked, so if you leave the page and come back your criteria should still be set. There is a Clear button to clear any settings in case you want to start over.
This list is huge, so it is recommended you apply some Filters.
A "System" is considered a major component of EQ2Emulator. For example, Character Development, Spells, Combat, etc. You can pull down the combo box and see the various Systems found in our database. More are added all the time as we discover new systems to integrate, so check this list often.
To filter by System, pick the system you wish to review from the list and click Search. The script will show you only project status entries relating to that System.
"Assignee's" are the team members of the project that are currently assigned the task in question. In our example, Jabantiz is assigned to work on many of the subsystems within the system "Character Development", in the "Server Core" category.
Filtering by the "Assignee" will show you only project status entries that the chosen name is assigned to work on.
Many of our statuses share the same System as a name, but are a completely different component of the project. For example, the System "Spawns" could mean Server Core functionlity, how Spawns work. Or, it could mean Content design; the placement of spawns in the world. Or it could mean LUA scripts that Spawns use to interact within the world.
Here you can see Spawns is selected, and there are status entries for both Server Core as well as LUA.
This is a quick way to get an overview of all things "Spawns" (in this example).
As the team enters more statuses to the list, the Target Version combo box will gain options. Currently, we are only prioritizing tasks to be completed by 0.7.1 and 0.7.2 for Server Core tasks, and Milestone 2 for Content (DB) tasks. But down the road, you may find tasks allocated to be worked on in much later branches of the code (such as 0.8.3, or 0.9.9, etc).
To see status entries for Milestone 2, select it from Target Version and click Search.
Each module being worked on has a Percent Complete value, or it has not yet been started. The public (non-team members) do not see 0% completed statuses, because there are far too many already designated. When a team member is assigned a task, it is their responsibility to come to Project Management and update their status % Complete, so others know where they are in the process.
To find status entries between 25% and 50% done, enter those values in From/To and click Search.
In this example, the System "Zones" has 3 categories it belongs to; Server Core (C++ code), Content (zone building) and LUA (ZoneScripts). If you picked just Zones from the System list and clicked Search, you would find hundreds of records, because all of EQ2's zones are listed in our Project Status module - because someday we hope to have them all done.
In order to not see such a daunting list, or if you didn't care about Content - Zones status entries, pick Server Core as a category to add an additional filter to the data set.
Now you see only Zones entries related to the C++ Server Core effort.
Same goes for Content, if you only wanted to see a status of all zones, pick Content in Category.
Now you see only Zones entries related to the Content Development effort.
And finally, LUA entries for ZoneScript work.
Only Team Members have access to Details.
Team Members use the Details button to access a page where the entries details can be edited. This is where they go to update their statuses. Find the status entry in the grid, then click Details on the right.
Here you can change any aspect of the data, including Delete the record! Careful, there is no Are You Sure?.
See the Special Row Colors section for additional information on Depends On and Needs Work.
Only Team Members have access to Add New.
Team members can use the Add New to add an entirely new module to the project. To do so, simply click Add New. You are taken to a blank form where you must pick a category, system, subsystem, and stage before you can save the new entry.
Note that Category cannot be modified, only selected. Systems and SubSystems can be picked from the list, or a new one typed in to the right of the combo boxes.
Try and be as accurate as possible when adding new statuses. Ie., systems and subsystems are not already used, or logically worded to fit their purpose, and for god sakes, spell it right!
Referring back to the image for Details, there are 2 options that require explanation.
Depends On: This checkbox let's us know this module "depends" on another.
Needs Work: This checkbox let's the project planners know a module may have been done before,
but once again needs work due to Live game changes or some other reason.
When these checkboxes are set, the row colors in the main results page are different than normal. This is to catch the attention of the project team members that something important is required.
To set these values, in the Details page of the status entry, check the Depends On option to let others know this module is on hold, due to another module that needs attention.
An alternate option is to set the link_to_id by picking the System the module is dependent on. This tells the developers that further work cannot be done on the current module until work on it's counterpart module is completed or further along.
You can also set the checkbox for Needs Work if the module in question requires a developer to revisit the module. Cases for this may be that character Persona screen was working fine before DoV, but since then SOE changed some things around so our Persona screen no longer works for DoV+ clients. Needs Work will tell the project team to revisit this module.
Another use case might be that changing other parts of the code might have affected this module in some way (changing player Spell code could have changed how NPCs cast their own spells for instance).
The Project Management Portal Module is a tool for all parts of our project; Project Leader/Manager, Developers, Content Teams, Beta Testers and even just a curious community member.