Professional Documents
Culture Documents
Information Systems
Fluttert, Pamela E 2/29/2012
Page | 2
What is a Methodology?
A methodology is a collection of processes, methods, and tools for accomplishing an objective. It provides a checklist of key deliverables and activities to avoid missing key tasks. A Project Management Methodology is a roadmap for managing projects (the project life cycle). A Systems Development Life Cycle (SDLC) methodology is a roadmap for managing the life cycle of an IS implementation/upgrade (the product life cycle).
How does the Systems Development Life Cycle (SDLC) Relate to the PM Life Cycle?
The SDLC is a product (information systems) life cycle that defines phases and specific activities to deliver the product. Project life cycles occur in one or more phases of a product life cycle (SDLC). Alternatively, one project life cycle may encompass multiple product life cycles. An example would be a major systems application, hardware and infrastructure upgrade that also includes an implementation of new functionality. Within the phases of this SDLC, there could be multiple projects: one for the hardware team, one for the infrastructure team and there could be separate ones for the upgrade and the new functionality. Alternatively, instead of multiple projects these could also be identified phases of one overall project with separate SDLCs to account for the new functionality and the upgrade. Care should always be taken to distinguish the project life cycle from the product life cycle (SDLC) and to manage the integration between the two.
A Guide to the Project Management Body of Knowledge (PMBOK Guide), published by the Project Management Institute
Page | 3
Large C
low
Small A Small B
1-2 (months)
2-6
6-12
12-18
> 2yrs
TIME
As projects become more complex and span longer than 6 months, heavier methodology is warranted.
Page | 5
Page | 6
Information Systems Methodologies for Project Management Life Cycle (PM) & Systems Development Life Cycle (SDLC)
P M
Approved Charter
Project Initiation
Project Closure
P R O C E S S E S
POSSIBLE DELIVERABLES: q Feasibility Study q Business Case q Project Charter q Project Governance
POSSIBLE DELIVERABLES: q Project Kick-Off Meeting q Project Schedule q Risk Register/Chart q Implementation Plan
POSSIBLE DELIVERABLES: q Logged issues/requests and changes q Updated Project Management Plan q Updated Project Schedule q Status Reporting and Project Review q Training q Communications q Risk assessments and responses
POSSIBLE DELIVERABLES: q Client Sign-off q Post-Project Review q Maintenance plan q Satisfaction Assessment
The project (PM) life cycle manages one or more product (SDLC) cycles
Test
Implementation
POSSIBLE DELIVERABLES: q Cutover Plan/Schedule q Contingency Plan q User Documentation q New business processes (documentation, flow diagrams, etc) q Training documentation q Quality Assurance and migration of development q Go Live Readiness Risk Assessment q System/Software
Maintenance
P H A S E S
POSSIBLE DELIVERABLES: q Test Strategy q Test Scripts/Plans/Scenarios and Sign Offs q User Acceptance Testing (Integration Testing) scripts and sign offs
POSSIBLE DELIVERABLES: q Standards/procedures for reporting/tracking issues and changes q Support Strategy q Fixes and enhancements
Page | 7
Init iati on
Project Charter
Template available
Page | 8
Feasibility Study
Guidelines: 1. The charter should clearly identify a technical or business problem/need for the project 2. Is the timeline reasonable? Are the milestone dates reasonable? 3. Ensure the risk, assumptions and constraints are complete with what is known at the current time 4. Inputs for the charter can include: statement of work, business case, feasibility study, contract, enterprise environmental factors, and organizational project assets 5. Have business impacts to other departments been identified and their roles included? 6. Ensure you have identified all stakeholders (external and internal) before completing the charter and their wants/needs are clearly understood 7. IS has made the decision that formal signatures will not be required on charters. However, approval of the charter should be clearly documented and referred to within the approval section. 8. High level requirements (identify in simple terms what is needed) are usually available when the charter is created Created by: Reviewed by: Approved by: Requirement: Template Project Manager and/or Business Analyst Sponsor Only required if Available Business Analyst Project Lead (possibly) assessing the Subject Matter Expert (possibly) cost vs value of proposed
Page | 9
Business Case
Created by: Reviewed by: Project Manager and/or Business Analyst Business Analyst Project Lead (possibly) Subject Matter Expert (possibly)
Template Available
Project Governance
Page | 10
Guidelines: 1. Project governance provides a comprehensive, consistent method of controlling the project and ensuring its success (PMBOK) 2. Governance must include decisions on who will be involved (who are the members of the project team), what resources are necessary (roles and responsibilities) and the general approach to completing the work. 3. Governance should provide structure around how often project team meets, who chairs the meetings, the purpose of the regular meetings. The same should be established for any other teams required for the project (management/steering committees, focus groups, etc). 4. Governance should include how communications are handled amongst team members 5. Procedures to be followed amongst team members (eg. How change requests are documented, migration of development projects to production, how testing is documented, how sign offs are recorded, etc) 6. Any templates that are used for the project should be identified within the project governance 7. Where project information and documentation will be stored and how it will be communicated beyond the project team and to who 8. If the project is to be broken into phases, the phase structure should be documented and how each phase will be reviewed and signed off Created by: Reviewed by: Approved by: Requirement: Template Project Manager Business Analyst Sponsor For larger, more Available Project Lead (possibly) complex Subject Matter Expert (possibly) projects this document is a requirement, although some of the sections may not be applicable. Guidelines:
Page | 11
Page | 12
Outline of Process: 1. The RFP should be reviewed and approved by both the projects Management/Steering Committee, and Procurement 2. Procurement will then assume ownership of the process and will post the RFP for responses. All responses will be collected by Procurement 3. An Evaluation Committee will be struck. It will be comprised of individuals responsible for evaluating responses according to the specified criteria in the RFP. Each member will be responsible for filling out a scoresheet, signing the scoresheet and returning it to Procurement. 4. Short list the vendors based on their evaluations. Procurement will contact these vendors and invite them for a demo 5. Choose the vendor. Procurement will notify the selected bidder, and the ones who are not selected. Guidelines for Contracts: 1. Look for escrow clauses to ensure that the source code is available to the University if the vendor should become bankrupt, etc. 2. Ensure there is a clause indicating that the vendor cant hire University project staff during or for a duration following the project, and vice versa 3. Ensure there are clauses for how the agreement can be terminated, if required 4. For consulting agreements, the University does not pay for services that have not been performed so ensure the payment schedule reflects this. 5. Look at what was stated in the RFP and ensure it is included in the contract 6. If the vendor must spend time on site, reference to the Universitys travel guidelines/policies should be included in the contract 7. Negotiation on any caps on fee increases at the expiration of the contract if there is potential renewal is recommended 8. If a hosted solution is within the contract, there should be a statement about vendors disaster recovery and business continuity plans in the case of a disaster or pandemic. Recovery time objectives (RTO) and recovery point objectives (RPO) should also be included 9. There should be wording for any conditions or warranties, if applicable, and what happens if not met 10. Wording concerning breach of contract should be included Created by: Reviewed by: Approved by: Requirement: Template
Guidelines: 1. An initial schedule should be stored as a baseline and should not change for the duration of the project. For larger projects, this could be included in the Project Management Plan. 2. Many different tools have been used to create schedules (MS Project, Excel, etc) 3. The schedule will change through the duration of the project and must be kept up to date (changes can be due to resources, risk triggers, scope changes, etc) 4. The tool and schedule must account for: a. Resource availability on the project b. Task dependencies c. Non-flexible, fixed dates d. Clearly identified milestones e. Clearly identified critical path (the longest chain of tasks based upon task dependencies) f. Realistic dates g. Priority of tasks in relation to other tasks h. Optimization around the least available resources i. Eliminate concurrent multi-tasking as much as possible for maximum resource productivity (ie: allow the resources to finish one task before starting another as much as possible). j. Use caution when padding task durations this increases overall project lead times and when tasks do finish early, subsequent tasks dont always benefit. Parkinsons Law advises resources be
Post-Project Review
Page | 17
Guidelines:
Satisfaction Assessment
A Maintenance Plan should: 1. Define the support environment infrastructure 2. Define the support environment roles & responsibilities, and maintenance activities 3. Describe how the system will be monitored for performance and how modifications will be made 4. Identify the support environment development & migration procedures 5. Identify any standards that are to be followed Created by: Reviewed by: Approved by: Requirement: No templates Project Manager Project Lead Sponsor Not required since this can Business Analyst but take different Subject Matter Expert recommended formats Developer (possibly) for highly visible (feedback from projects focus groups, surveys, etc.)
Page | 18
Requirements Document
Template available
Guidelines: 1. Requirements can stem from market demands, business needs, customer requests, technological advances, legal/regulatory changes and social needs 2. Detailed requirements remove uncertainty as to how the system will accomplish the task 3. Proper requirements are: Cohesive (specifies only one thing at a time) Complete (self-contained, defining all situations that can be encountered and the appropriate response for each) Consistent (should not contradict other requirements and should not be repeated elsewhere Correct (mistakes in a requirement definition will result in a defective solution) Feasible (must be possible given system and project constraints) Mandatory (although requirements can have relative priority, they must all be required) Modifiable (if a change to a requirement is necessary, it should be expressed such that it is traceable) Unambiguous (avoid words like more, less, fast, slow) Testable (should be possible to design a test to determine if requirement has been met) 4. Types of requirements include: Business requirements (high level, measurable statements of goals, objectives or needs of the University) Stakeholder requirements (statements of the needs or particular stakeholder or class of stakeholders Solution Requirements (describe characteristics of a solution) i. Functional Requirements (describe behavior and information the solution will manage) ii. Non-Functional Requirements (describe environmental conditions under which the solution must remain effective or qualities system must have speed, security, availability, etc) Transition requirements (capabilities to facilitate transition from current state to the desired Page | 20
Fit/Gap
Page | 21
Development This is not a document deliverable, but the development and sign off is a deliverable of the product life cycle. All and development development should be thoroughly tested by developers before migrating it to a test database for functional testing sign offs users to test. Some projects use task tracking such as ACE Project to record sign offs with status updates. Examples of project development testing guidelines and use of software to track status and sign offs: HRMS development testing guidelines and HRMS ACE Project process flow Created by: Reviewed by: Approved by: Requirement: Examples: Project Lead and/or Business Analyst No formal Highly HRMS Project Business Analyst Subject Matter Expert (possibly) approvals recommended and HRMS required upgrade
Test
Page | 22
Reviewed by: Business Analyst Project Lead Subject Matter Expert (possibly)
Cutover Created by: (Implementation) Project Lead or Project Plan/Schedule Manager Implementation
Reviewed by: Business Analyst Subject Matter Expert (possibly) Developer (possibly) Sponsor (possibly) This may involve other groups such as Application Administrators, Database Administrators, Network Administrators, Hardware Administrators, and Security Administrators
Page | 23
User Documentation
Created by: Business Analyst Subject Matter Expert (possibly) Project Lead (possibly)
System documentation (Entity Relationship Diagrams (see Appendix A: PM & SDLC Tool Kit), for example) could also be created by Developer See Current Business Processes Section under Analysis & Requirements phase.
Training Documentation
Requirement: Yes for any large implementation that will be used by multiple people
Page | 24
System/ Software
Reviewed by: Business Analyst Subject Matter Expert (possibly) Developer (possibly)
Requirement: Yes for any large implementation that will be used by multiple people
Examples: HRMS Project SISP Change Request Template Available for a Change Request Examples: Support & Relationship Governance with Pension vendor
Maintenance
Support Strategy
Reviewed by: Business Analyst Subject Matter Expert (possibly) Developer (possibly)
Requirement: Yes for any large implementation that will be used by multiple people
Page | 25
In addition to the modeling techniques listed in the chart, this appendix also includes additional tools that can be used by the Project Manager.
Affinity Chart
An Affinity Chart/Diagram helps to synthesize large amounts of data by finding relationships between ideas. The information is structured from the bottom up into meaningful groups. They can be used to draw out common themes from a large amount of information, discover previously unseen connections between various ideas or information, or to brainstorm root causes and solutions to a problem. The power of the affinity chart/diagram is its ability to find common threads that link groups of ideas together. Steps to create an Affinity Chart/Diagram: 1. 2. 3. 4. 5. 6. Post issue or scenario in the room Brainstorm Post output for all to see Group ideas into natural groupings Label each group Document finished chart/diagram
Page | 26
Typical steps in a RACI (RASCI) process include: 1. Identify all of the processes/activities involved and list them down the left side of the chart 2. Identify all the roles and list them along the top of the chart 3. Complete the intersections of the chart by identifying what roles have the R, A, (S), C, and I for each process 4. Every process should have one and only one R as a general principle. A gap occurs when a process exists with no R, an overlap occurs when multiple roles exist that have an R for a given process 5. Resolve overlaps: in the case of multiple R for a process, zoom in and further detail the sub processes associated to separate the role responsibilities 6. Resolve gaps: the individual with the authority for role definition must determine which existing role is responsible or what new role is required A sample RACI chart:
Page | 27
A sample WBS:
Page | 28
Prioritization Techniques
For most projects, prioritization will have to be done to determine which requirements will be implemented within the time available. It balances time and budget constraints against scope. The information included in the Change Request template should be used to determine priorities, when available. If a Change Request is not filled out, refer to it for the questions that should be asked when prioritizing. Prioritization should include Project Managers and Business Analysts. Developers, Subject Matter Experts, and Sponsors may also be included. MoSCoW Analysis This analysis divides requirements into four categories: Must, Should, Could, and Wont. To categorize at the most basic level, impact and effort should be analyzed. Priority Scale Very similar to MoSCoW analysis, but the priorities are categorized according to a scale of High (the user needs the capability and/or there are regulatory/legal obligations), medium (the requirement is important but not urgent), and low (the user can live without the capability). Voting Participants who set priorities can be put into a room together to vote on the priorities. The most effective voting technique is to have everybody show their vote at once so that nobody succumbs to peer pressure. This can be done with tokens, or it can be done by everyone displaying a number
Page | 29
Context Diagram
Context diagrams show the interactions between a system and other actors (external factors) with which the system is designed to interface. System context diagrams can be helpful in understanding the context which the system will be part of. They are used early in a project to get agreement on the scope and can be included in a requirements document. A context diagram shows the entire system as a single process. Steps: 1. 2. 3. 4. Label the system/process in the centre name of system/process usually contains a verb Identify entities that interact directly with the system/process entities are usually a noun Group like entities Identify major flows of data between the entity and system/process
Notation:
Systems/Processes are shown as squares with rounded corners External entities are shown as squares data stores are shown as elongated, flat rectangles
Page | 30
Use Cases
Use Cases are another tool for capturing functional requirements of the system. They define a goaloriented set of interactions between external actors (parties outside of the system that interact with the system) and the system. A use case is initiated by the user, with a particular goal in mind, and completes successfully when that goal is satisfied. The system itself is treated as a black box and the interactions with the system are perceived as being outside the system to allow the use case to capture who does what with the system and for what goal without dealing with system internals. A complete set of use cases defines the behavior required of the system (bounding the scope) by specifying all the ways to use the system. To create a use case: 1. Identify all the different users of the system 2. Create a user profile for each category of user (including all the roles the users play that are relevant to the system) 3. For each role, identify the significant goals the users have that the system will support Create a use case for each goal. Steps in higher level use cases may be treated as goals for lower level sub-use cases where more detail is collected
Page | 31
Fishbone Diagrams
A fishbone diagram illustrates the cause of a specific event, typically used for quality control. The causes are typically grouped into the following categories: people, methods, machines, materials, measurements and environment. These categories can vary, depending on what the fishbone is being used for. A fishbone diagram looks like the following:
Page | 32
Activity Diagram
A process model is a formal way of representing how a business operates. An activity diagram is one method of representing a process model. It describes the behavior of a system by depicting the sequencing of events through workflow. They illustrate what happens in workflow, what activities can be done in parallel and whether there are alternative paths through the workflow. Before drawing an activity diagram, the following elements should be identified:
The advantage of activity diagrams over some of the other diagram tools is that they can be used to capture flow from one system to another and include capabilities such as branding, parallel flow and guards (conditions that must be true). These diagrams are high level and model the activities (business requirements) so they are beneficial towards understanding the business but not necessarily implementation details. The notation can be found on the web for an activity diagram. The symbols include initial node, final node, activity, note, decision, merge, guard, fork, join and repeated activity. A sample activity diagram:
Page | 33
Activity: a step in the process Decision: where there are 2 or more options Flow: direction of the steps Terminator: beginning and end of process
Page | 34
A cross functional process flow diagram emphasizes handoffs and links between steps in the process:
Page | 35
A function or process is a circle External entities are shown as squares Inputs/outputs are a rectangle data flows are shown as arrows data store/files/databases are double lines
Page | 36
State Diagram
State diagrams describe the different statuses that an object moves through or provide an abstract description of the behavior of a system. They can be used to cross reference business rules to ensure consistency and identify gaps, detect gaps in use cases and process flows, and find requirements on how states of an object change. The elements of a state diagram include:
State (wait state, ongoing state, finite state) Transition (what causes movement to the next state) Activities (process that occurs when an object is in a certain state) Composite states (contains more than one sub-state) Concurrent states (can be in more than one state at the same time)
Page | 37
Data Model
A data model shows the clients information needs and business processes through entities, relationships and data required within the system. It complements the data flow diagram which shows how the data is processed. Data models can be conceptual (high level entities and relationships to document business concepts or high level requirements), logical (more detailed information on entities, attributes and relationships by often expanding the conceptual model to include attributes, columns, fields and keys) or physical (how data is stored and managed in an application). Data models are diagrams supported by textual descriptions. They can include people, places, things, concepts, attributes and relationships. Textual descriptions are usually included in a data dictionary. Examples of data models are Entity Relationship Diagrams (ERD) and Class Diagrams. Entity Relationship Diagram (ERD) The ERD is a data model diagram that includes entities (a noun, event or concept that describes an important concept to the business that can be uniquely identified), relationships (associations between entities, usually a verb) and attributes (information about the entities that typically end up as data fields in the database). The diagram is an abstract, conceptual representation of data. Cardinality within an ERD refers to the maximum number of times an instance in one entity can be associated with instances in the related entity. Modality refers to the minimum number of times an instance in one entity can be associated with an instance in the related entity. zero or more Page | 38 1 and only 1 (exactly 1)
1 or more
zero or more
zero or more
A sample ERD:
Class Diagram A class diagram describes the structure of a system by showing the systems classes (represent main objects and/or interactions in the application), their attributes, operations (methods), and the relationships (include association, inheritance and aggregation) among the classes. These diagrams are mainly used for object oriented modeling. A sample class diagram:
Page | 39
Data Dictionary
A data dictionary is often referred to as a metadata repository. It is a repository of information about the data included in the system. This information includes meaning, relationships to other data, origin, usage and format. It can also include characteristics such as edits and defaults. The data dictionary defines the basic organization of the database.
Page | 40
Page | 41
Page | 46