
1. | Welcome | ToC | FAQ
| Resources | Courses
| Projects | Mail
Lists | Members | Misc |
2. | Participation | Source
of Ideas | Credit/Ownership | MOST SDP | Teams
|
3. | Evolution | Roles | Phases
| Documents |
The MOST SDP describes specific roles within the project team and specifies the areas of responsibility and authority exercized within a project team by the indidual assigned to each role. These roles are generic in nature, and may not map exactly to the formal roles held by individuals in software development organizations or on informal teams. Instead, they serve as a way to subdivide the tasks performed in the development process into distinct areas that require specific skill sets, and to assign those tasks explicitly to responsible and qualified individuals. Teams will frequently assign many of these roles to a single individual. This is appropriate since many of these roles require similar and/or overlapping skill sets.
This entire MOST SDP is in the first stage of its evolution, but there is enough in place to get the idea across and to serve as a structure around which to organize the initial MOST Devlopment Projects teams. All project teams are reminded that the information contained on this page is only a series of suggestions and that the team may choose to forego assigning any of the specific roles mentioned herein that do not apply to their project.
In general, as the old saying goes, too many chefs DO spoil the broth. Project teams are encouraged to keep their worker/leader ratio as high as possible. It may be good for the egos of the participants to have everyone on the team in a position of leadership, but each time that an additional decision maker is added to the team, the chances for miscommunication rise.
Teams are encouraged to appoint a minimal number of individuals to the decision making roles and to try to assign multiple leadership roles to single individuals wherever possible. Required skills should limit the assignment of ALL roles to too few individuals, but beyond that requirement the project will flow most smoothly if there are minimal numbers of individuals trying to communicate their needs to each other for implementation within each of the separate areas of responsibility (coding, UI, testing, documentation, etc.).
The Product Manager either IS the customer, or represents the customer for general distribution applications. The Product Manager (ProdM) is the final authority for all decisions of the project team which relate to WHAT will be implemented.
The ProdM sponsors or performs any market studies to determine need/specs for the product, selects the Project Manager, defines the requirements, approves (but does NOT design) the UI, participates in (but does NOT manage) product testing, and approves the final product as 'shippable' or accepts it for use.
The Product Manager must understand the needs of the intended user(s) of the application and be able to communicate that information effectively to the rest of the team.
The Project Manager (PM) is the final authority for all decisions of the project team which relate to HOW the project will be implemented. The PM assigns the individuals to the other roles, manages their interaction, and makes all high level implementation decisions.
The PM must have good management, organizational, and interpersonal skills. This is not necessarily a detailed technical position, but a solid technical background is necessary to accomplish the initial feasability study, to select the correct technical members of the staff, and to properly evaluate the technical advice provided by the staff at team decision points.
Determines the overall technical approach to be used by the team, including selecting the tools, languages, utilities, and other technical resources that the team will use. Produces the architectural overview of the project and is directly responsible for final integration of the project components, including the creation and implementation of the integration test plan.
A thorough understanding of the Mac OS development environment and technologies, including the Mac OS and Toolbox, all available tools, utilities, development environments, applications, and languages and a sound understand of general programming practices are all important to be completely succesful in this role. In real world applications, the person with the broadest technical knowledge on the team is best suited for this role.
The User Interface Designer (UIM) etablishes the look, sound, and feel of the application under the final approval of the Product Manager. The UIM determines the appearance of all screens, menus, dialog boxes in accordance with the project's requirements and according to the design contained in the project architecture. The UIM co-ordinates the creation and integration of all graphics, movies and sounds used by the application.
A general understanding of Human Interface issues is very helpful, but as our focus is on the development of Mac OS applications, in general a thorough understanding of the Mac HI Guidelines and a good sense of aesthetics (a VERY subjective area) is sufficient to be the UIM for most teams. However, this is not meant to trivialize the importance of an understanding of usability issues to the overall quality of an application. When a project team decides upon an application that will break new ground in user interface, the UIM should be selected for her/his understanding of the Human Factors field. If the team is attempting to market an application to a very narrow audience, an understanding of the preferences of that audience may be the best qualification for the role.
Ensure that the finished product conforms to the requirements and operates without errors on the full range of target machines. Designs the functionality and regression testing strategies for the product.
Understanding of the technical aspects of Mac OS Development and the creation of appropriate verification strategies.
Ensure that the finished product has an intuitive and user-friendly interfaces and operates in a way that is most convenient for its intended users. Designs the usability testing strategy for the product.
Understanding of human factors issues and the creation of appropriate usbility testing strategies.
The Project Architect will divide the project into independent subsets for implementation. Each subset will be the responsibility of the Development Lead assigned to implement it. This responsibility will include the management of the creation of the low level design, test strategy, and actual code for that subset. The development lead will ensure that appropriate code reviews are performed, and will implement a component testing plan when the chosen development environment facilitates component testing. He/she will also track the followup for all bugs reported against that specific subset of the project.
A decent understanding of the overall Mac OS and Toolbox and a deeper understanding of the specific technologies used in the particular subset of the project is needed to effectively design each subset. Understanding of appropriate test tools, the development environment, and the other tools used by the team is also necessary.
The Documentation Lead will manage the creation of appropriate documentation for the products. This may include installation guides, user manuals, references guides, and/or tutorials at the discretion of the team.
Access to and familiarity with appropriate documentation tools, an understanding of the production of effective instructional materials, excellent editorial skills, and an actual understanding of the product being documented are all necessry to be most effective in this role.
When a team decides to provide for localization of its application, specific requirements must be met in the design and implementation of the app. The Localization Manager (LM) is responsible to communicate the requirements to the design team and to assist in implementing localization technologies during coding. The LM manages the creation, collection, and integration of localized versions of the application's resources and arranges for translations of other project documentation when appropriate.
A detailed technical understanding of Mac OS localization issues.
Working within the guidelines established by the UIM, the Graphic Designer supervises the creation of a coherent visual appearance for the ICONs, graphics, and movies used by the application.
Graphic Design skills. I'll let the critics decide who is and isn't one.
Each Development Lead will work with a team of coders to produce and verify the components for their individual subset of the project. Project Coders will implement the actual code used int he finished product and will perform the testing and debugging exercizes necessary to certify its quality.
Understanding of general programming and testing/debugging practices and a general familiarity with Mac OS technologies and the selected development tools are needed to perform in this role.
Translates materials into a target language to allow localization of the application.
Command of the target language and knowledge of the appropriate Mac utilities (such as Res Edit)
A variety of testing is performed as the project proceeds. The Testing Coordinator(s) implement the test startegies defined by the QA Engineer, Development Leads, and Usability Engineers. In this capacity they schedule and monitor independent testing activities, verify coverage, and report results to the team.
Good organizational skills and attention to detail are the most important skills for this role.
Project Testers will implement any test plans developed by members of the team.
The ability to follow written instructions, access to a Mac OS based computer, familiarity with the use of mac OS aplications, and a desire to help ensure the final quality of the application are the only requirements for this role.
Project Artists will implement the overall design created by the Graphic Designer. This will include the actual creation of the product's ICON's, splash screen, visuals for otehr windows, and illustrations for the documentation.
Access to and familiarity with appropriate graphics applications and tools, a creative flair, and the ability to work within established graphic design guidelines are the most important qualifications for this role.
Project Documenters will produce the actual documentation that will accompany the application.
Access to and familiarity with appropriate documentation tools, effective writing skills, understanding of the product, and the ability to work within established presentation guidelines are the most important qualifications for this role.
Copyright
© 1996, 1997, 1998. Last Update to This Page:
1998/04/29
This Page Maintained by: radar
pangaean * * * Original Author: radar
pangaean
The MOST web site is built and maintained
by the voluntary efforts/donations of our members.