Introduction - conservation GIS, Geonet, conservation ...



Roadmap for Small GIS ProjectsIntroductionThis whitepaper provides a roadmap for implementing small GIS projects that support conservation organizations and other NGOs engaged in citizen science projects. Typical implementations of such GIS projects include the increasingly common web mapping applications many conservation organization use to provide data discovery services and mapping tools to geographically visualize a wide variety of environmental data. By their very nature, these applications support diverse user communities and may need to be stood up or adapted rapidly based on changing needs. The practical guidelines and examples in this project implementation road map are intended to help managers of small GIS projects strike the right balance between management and technical tasks, so a project team can deliver effective and timely solutions with a planned level of effort of 250 hours or less.To illustrate how GIS project implementation principles can be successfully applied to these types of projects, The Trust for Public Land’s (TPLs) Conservation Almanac – a recently released web mapping application, will be used as an example.How to use this GIS Project RoadmapAs a practical guide for project managers of small GIS implementation, this GIS Implementation Roadmap has two parts:Project Management and GIS Implementation Concepts. This section reviews basic project management concepts and the primary stages of the project management and system development lifecycles. Managers should read this section to refresh their understanding of some fundamental project implementation principles and to understand the basic theoretical concepts behind the guidelines in the project walkthrough that comprises the remainder of this whitepaper.Walking Through the Implementation of a Small GIS Project: A Web Mapping Example from the Trust for Public Land. This section steps through each of the primary project stages – from initiation through deployment with practical guidelines and examples. Managers should use this section for step-by-step instructions on how to complete essential project activities for a small GIS or web mapping project.Project Management and GIS Implementation ConceptsThe Triple Constraint of Scope, Schedule, and BudgetAll projects are constrained by their scope, timeline, and budget. As shown in Figure 1, this “Triple Constraint” defines the “Qualities” of the final products that are delivered as part of the project. If one of the quantities in the triple constraint changes, it will affect the others. For example, changes to the scope will result in changes to project costs and schedule; or changes to the schedule will affect project scope or cost. Managing the Triple Constraint is one of the primary responsibilities a project manager has during a project. Techniques at the project manager’s disposal include feature prioritization, phased deliveries, designing to schedule or designing to cost, and change management.Figure 1: The Triple ConstraintGIS Project Team Roles and ResponsibilitiesFor a typical GIS implementation, key project roles include a project manager, software developer(s), and other technical staff with specific GIS domain expertise, for example, geographic database design, GIS architecture design, or how to use GIS and maps in business workflows. GIS projects are usually staffed with a “core team”, consisting of a project manager an s technical staff member (usually a software developer or technical lead with GIS domain expertise) that provides technical leadership. The two leadership roles share management and technical implementation responsibilities as shown in Figure 5. Depending on the structure of an organization, this core team may staff a separate release management role that assumes the responsibilities of testing, deployment, and documentation. Figure 5 Key GIS Project Roles and ResponsibilitiesFor the smallest GIS projects, it is possible for one person to assume both the management and technical roles, provided the team member has the right skills to fulfill both functions. In most circumstances, even small GIS projects will require at least a project manager and a technical lead to effectively complete the project. For large GIS projects, additional resources will be needed to support the core project team, for example developers, testers, and a system architect. , If a team member assumes multiple roles on a project, it is important to take this into account during project scheduling, so project staff is not overcommitted. Project Management and System Development LifecyclesRegardless of their size, implementing GIS projects involves stepping through two distinct implementation lifecycles: a Project Management Lifecycle and a System Development Lifecycle (SDLC). These two lifecycles are complementary in nature, and occur in parallel to one another, as shown in Figure 2.Figure 2: Relationship between Project Management and System Development LifecyclesThe Project Management Lifecycle is a combination of processes that aid the project manager in correctly managing a project. These processes focus on initiation, planning, execution, control, and closeout of the project. Initiation. This stage is used to define the business need, evaluate feasibility, define initial requirements, and establish priorities. The primary deliverable is the project charter. On small projects, project initiation and planning may be combined and typically consume approximately 5% of the project budget. Planning. During this stage, the project manager plans the project, including detailed definition of the scope, schedule, and budget. The primary planning stage deliverable is the project plan Combined with project initiation; approximately 5% of the project budget should be allocated to planning. Execution and Control. During this stage the project manager manages the execution of technical work, and monitors project progress. Key deliverables include status reports status meetings, and schedule updates. For small projects, approximately 10% of the effort should be allocated for project management. Closeout. Project closeout includes a project retrospective or lessons learned session. The primary deliverable from this stage is a project review meeting. Typically, closeout consumes no more than a few hours of time.The GIS project implementation lifecycle is a System Development Lifecycle (SDLC) with a set of processes that are executed mainly by the technical staff on the project. The SDLC focuses on the technical GIS implementation steps of, design, development, deployment, and support of the GIS implementation. Initiation. This stage is equivalent to the initiation stage of the project management lifecycle. Design. During this stage the technical team validates the requirements and defines the specifics of how the requirements will be implemented, including user interface specifications, system architecture, and database design. The key deliverables from this stage include detailed requirements and design specifications. For small projects, approximately 10% of the effort should be budgeted for design. Development & Test. During this stage the technical team builds and tests the application code, data, and any other system components that are part of the implementation. Primary deliverables include a test plan, code and executables, databases, or other technical artifacts that are part of the system. This stage consumes the largest part of the project budget, typically up to 55%. Deployment. This involves installation of the system in the production environment, performance tuning and final testing, and completion of system documentation. Primary deliverables from this stage include the final software installed in the production environment, and an installation and user guide. Deployment activities can be complex and comparatively time consuming even for small projects, and should be budgeted at approximately 15% of the effort. Support. This stage includes technology transfer and training, post deployment resolution of software issues, system tuning, and collection of post-deployment feedback for future releases. Typical deliverables include user training and feedback sessions. For a small system support activities should be budgeted at approximately 5% of the effort. During any GIS project implementation, project managers should expect the majority of the effort to be expended during project execution when the project team completes the technical tasks that are part of the SDLC – in particular development and testing. The monitoring, and reporting activities carried out by the project manager during project execution and control are used to track the status of the project, making sure technical steps are completed based on the plan, or taking corrective actions if issues arise.Project Work Plan, Schedule, and Resource EstimatesEach project phase, whether project management or SDLC related, includes specific tasks and deliverables. The details are defined during the project planning phase, and are documented as a project plan including a work plan (or scope of work), a schedule, and resource estimates.Work Plan. The work plan describes the structure and sequencing of all tasks and the deliverables resulting from each task. A project work plan is usually organized around a standard work breakdown structure (WBS), which provides a hierarchical view of all project activities, showing the relationship between high level tasks (e.g. planning, design, development) and the detailed activities and deliverables that comprise the task. Most GIS projects, irrespective of size have work plans that closely follow the project stages in the SDLC. However, the details of each task and the associated deliverables vary depending on the size and complexity of the project. Larger projects demand greater formality and include more deliverables. Smaller projects use a more streamlined approach. The recommended deliverables for a small GIS project are illustrated in Figure 3.Figure 3: Tasks and Deliverables for Small GIS Application ProjectsSchedule. The schedule defines the timeline for each task, task dependencies, the resources that will complete the work, and deliverable milestones. The schedule s needs to include all planned activities and should match to the tasks in the work plan.Resource Estimates. These estimates define a “budget” in the form of costs, level of effort, or staffing needs. A typical level of effort for a small project could be approximately 250 hours over a 3 month timeline as shown in Figure 4.Figure 4: High-Level Timeline and Resource Estimates for a Small GIS ProjectSystem Development Lifecycle ModelsSystem Development Lifecycle Models establish the order in which a project’s technical steps are completed, the criteria that are used to proceed from one step to the next, and whether or not the GIS implementation will be deployed in one or several releases. The type of lifecycle model to choose should be made during the initiation and planning stages of a project, and needs to take into account the size and complexity of the project, as well as project team capabilities. Among many possible options, GIS implementations benefit from models that promote iterative development cycles (e.g. evolutionary delivery, spiral development) as shown in Figure 5. These models encourage interaction with users and stakeholders during an implementation and provide users with hands-on demonstrations and reviews during design and development. This is important for GIS and mapping applications, because they are highly visual and workflow-driven. Iterative models also allow an experienced project team to apply agile development techniques. However, a more traditional (or modified) Waterfall-based model may also be suitable, particularly for small, short duration projects with well-understood requirements. Irrespective of the lifecycle model used, all GIS project implementations will involve elements of planning, requirements, design, development, testing, and deployment. Figure 5: Common Lifecycle Models and How to apply them to ProjectsWalking Through the Implementation of a Small GIS Project: Conservation Almanac Web Mapping Tools: An Example from the Trust for Public LandIn this section we use the Trust for Public Land (TPL) Conservation Almanac Web Mapping Tools as a project example of how project implementation principles can be practically applied to small GIS projects. Our project walkthrough defines the participants, detailed activities, sequencing of events, and the typical level of effort for each primary project implementation step:InitiationPlanningExecution & ControlDesignDevelopment & TestingDeploymentSupportSamples and templates used to highlight details of each implementation step are based on the work plan and deliverables for TPL Conservation Almanac web mapping tools.The TPL Conservation Almanac web site is published at . As a GIS implementation with a budget of approximately 240 hours and a schedule of 3 months, this project fits the type of small GIS project that is the scope of this white paper.The TPL Conservation Almanac provides information about land conservation activity across the United States. It allows the media, elected officials, foundations, and the public to better understand the context of land conservation investments in time and space. To support these objectives, the TPL incorporated Map, Search, and Reporting tools into the main Conservation Almanac website. The tools allow users of the site to search for and map individual conservation parcels, visualize summary statics about conservation parcels through graphs and tables, and print simple maps and reports showing conservation activity based on a number of parameters. To provide these capabilities, TPL is developing an ever increasing inventory of conservation parcels on a state-by-state basis and is making it accessible to the public using on line services from Google Maps and ArcGIS Online.Figure 6: Conservation Almanac Web Mapping ToolsInitiationThe objectives of the project initiation stage are to define business need for the project and set the overall framework for the project including goals and objectives, priorities, estimates on cost and resource needs, timeline, milestones, and assumptions. Key players involved during this stage include the project manager and the sponsor (e.g. the individual(s) who provide the budget). The primary deliverable from this phase is a project charter or similar “governance document” which authorizes the project team and succinctly summarizes what will be accomplished as part of the project. Who is Responsible for What during Initiation?During initiation the project team shares responsibilities as follows:The project manager develops the project charter and leads a project kick-off meeting with the technical team.The project sponsor reviews and approves the project charterInitiation StepsDuring initiation the project team needs to complete the following key activities:Reviews and refine the business need and project goals and draft a project charter.Establish business requirements.Hold the project kick-off meeting with the team to review, discuss, and finalize the charter.Obtain approval for the charter from the project sponsor.How to Create an Effective Project CharterDeveloping a project charter is a very useful document even for small projects. It is an essential input to planning and will keep the project team focused on the essential priorities throughout the project. Developing an effective charter involves the following:Use a simple charter template such as the one shown in the example to make sure all essential charter topics are addressed. An example is shown in Figure 7.Engage with the project sponsor and key stakeholders to develop the charterKeep the project charter short (around 2 pages). Use the kick-off meeting to discuss and finalize the draft charter. Includes key objectives and success criteria for the project in the project charterGet final agreement on the charter from the sponsor.How much Time should be spent on Initiation?Project initiation does not consume a large amount of time or resources. The typical level of effort to complete this stage is less than 5% of the planned level of effort. For the TPL Conservation Almanac Web Mapping tools, initiation and planning combined consumed approximately 10 hours.Example—Project Charter for TPL Conservation Almanac Web Mapping ToolsFigure 7 shows a sample charter for the TPL Conservation Almanac Web Mapping Tools. The charter summarizes the key project objectives as providing on-line mapping tools to analyze land conservation investments with some key capabilities for interactive visualization of conservation parcel data. Note that the charter content for this simple web mapping application can be formulated on a single page.Figure 7. Sample Project Charter for the TPL Conservation Mapping ProjectPlanningEven for a small project, the project manager should spend time to define a work plan and a schedule that defines the detail of how and when the project will be completed. The plan should include all the activities that are needed to meet the objectives of the project. At a minimum, the project plan should address the “Triple Constraint Items” – The scope of work, the schedule, and the budget that is available.Who is Responsible for What during Planning?During planning the project team shares responsibilities as follows:The project manager develops the draft work plan, schedule, and budget to implement the project, and finalizes the plan based on input from the technical lead and project sponsorThe technical lead reviews the plan to make sure technical development work is correctly scoped and estimated in terms of level of effort, timelines, constraints, and assumptions.The project sponsor provides final approval of the project plan.Planning StepsDuring planning, the project team needs to accomplish the following essential activities:Review the charter and develop a detailed scope of work that identifies all project tasks and deliverables. Use the detailed tasks to develop a schedule that includes timelines, deliverables, milestones, and dependenciesWork with the technical team to define the level of effort for each task.Identify assumptions and constraintsCompile the resulting Work Plan, Schedule, and Budget into a single project planHow to Effectively Plan a ProjectThe project plan provides the blueprint for the execution and tracking of project work. The following are essential for the project plan to fulfill this function.Use tools such as MS Project or a simple document template (e.g. MS Word or Excel) to document your project plan. An example is shown in Figure 8.When establishing scope and priorities, assume approximately half of your budget available for pure development hours. The remainder should be allocated to planning, design, deployment, support, and project management.Plan all work tasks to a high level of granularity, with individual tasks not exceeding 40-80 hours in duration.Always develop a complete deliverables list that is itemized by task or activity. An example is shown in Figure 9.Make sure the contents of your plan align with your project charterDevelop a detailed schedule to show all activities that must be completed for each major task and their dependencies.Include critical dependencies in your schedule, especially external ones. (E.g. the release schedule of your Internet Service Provider (ISP) if you are using a third party for hosting)Allocate time in your schedule for reviews, testing, and bug fixingValidate all estimates for development work with the technical lead.How much Time should be spent on Planning?For a small project, the typical level of effort to complete this stage is less than 5% of the planned project budget. For the TPL Conservation Almanac Web Mapping tools, initiation and planning combined consumed approximately 10 hours.Example—TPL Conservation Almanac Work Plan and ScheduleFigure 8 shows the milestone schedule as it applied to the TPL Conservation Almanac Web Mapping application and excerpts from the detailed work plan. The example relates the major milestone schedule and tasks to the detailed scheduled activities for that task. Figure 9 shows the list of deliverables for each major task in the schedule. This deliverables list is a major element to track project status during Execution and Control. The complete schedule and work plan and schedule are included in the additional resources section of this white paper. Applicable excerpts from the detailed schedule will be revisited to provide context for each of the examples that are provided in the discussion of upcoming project implementation steps. For example, as shown below, the planning activities for the TPL Conservation Almanac Web Mapping Tools project, involves a start up meeting and the finalization the project work plan and schedule:Initiation and Planning Activities for the TPL Conservation Almanac Web Mapping ToolsFigure 8: Milestones, Work Plan, Schedule, and Deliverables for the TPL Conservation Almanac WebsiteFigure 9: TPL Conservation Almanac Deliverables ListProject Execution and ControlDuring project execution and control, the project team will implement the project based on the specifics of the plan. Project execution and control occur in parallel. During this phase, the project manager’s primary responsibilities are to make sure the technical team follows the plan, to monitor the project, report progress, and to resolve issues if they arise. Since execution typically consumes most of the budget and resources allocated to the project, it is important for the project manager to be informed of project status at all times and be prepared to take corrective actions or escalate problems to senior management if needed.Who is Responsible for What during Execution and Control?During project execution and control project team members share responsibilities as follows:The project manager manages and tracks the overall project, collects status information, reports project progress, and resolves issues.The technical lead develops software and technical work components, reports to the project manager on development status, and coordinates other technical resources that participate in the project.Project Execution and Control StepsProject execution and control involves the following essential steps:Develop a standard status report template that includes the key indicators to report against. An example is shown in Figure 10.Schedule a brief recurring meeting with the team to be apprised of project status. Frequency will vary, but should occur at least weekly, and on a daily basis during development and pile status information and track/update the schedule and status of deliverables based on meeting results.Schedule a regular recurring meeting (at least weekly) with the customer project manager to discuss the status report and any issues and action items.Manage and resolve action items and issue based on status meeting decisions.How to Effectively Execute and Control a ProjectThe primary purpose of project management is to make sure a project remains aligned with its goals and can be completed within the planned time line and budget. To do this effectively, the following are essentialUse a standard progress report template that identifies the essential project indicators to monitor. These include scope, schedule, budget, deliverables, action items, issues. Use standard meeting agendas that identify objectives, discussion items, and decisions expected from the meeting.Use frequent status meetings to collect status information from the technical team. For example, a daily SCRUM meeting to understand development status, or a weekly status meeting to review key project performance indicators with your customer.Track the status of development work against the detailed work plan and schedule to identify deviations or issues in a timely manner.When deviations occur discuss changes with the team and the customer, including adaptations to the plan (e.g. revisions to the scope to adapt priorities, technical approach etc.).Make sure you keep both the project team as well as senior management and stakeholders apprised of progress on a regular basis.Have at least one development review or demonstration with the customer or key stakeholders to collect feedback prior to delivering software or other system components for installation and deployment.How much Time should be spent on Execution and Control?The relative level of effort involved in execution and control depends considerably on the size and complexity of the project. Larger projects or projects with many members or dispersed team require a greater level of formality and control than small efforts with few, collocated team members. For a small effort, 5-10% of the project budget is usually adequate to coordinate the project. For the TPL Conservation Almanac, project execution and control consumed 20 Hours of the project budget, or approximately 8%. Example—Status Reporting for the TPL Conservation Almanac Web Mapping ProjectFigure 10 shows a typical status report template to use for a GIS project such as the TPL Conservation Almanac Web Mapping tools. This template takes a dashboard approach to report recent accomplishments, upcoming activities, key action items, and the current schedule and status of deliverables. The status report should typically provide the key talking points to address during status meetings with the project team and with senior management.Figure 10: Sample Status ReportDesignThe purpose of the design phase is to refine requirements and specify how they will be implemented. The key deliverables from this phase are detailed requirements and design specifications. For small web mapping applications, such specifications usually include a list of requirements together with mockups of the user interface (including the layout of the screens and a storyboard). The design specification should also itemize the specifics of the deployment environment, for example the hosting infrastructure that will be used for the application.For GIS applications requirements analysis and design works best in an interactive environment where users have an opportunity to walk through scenarios and story boards and see alternatives of how to interact with maps and GIS tools. For web mapping applications in particular a key focus of analysis and design is the development of the Graphical User Interface (GUI) design. This includes individual screens, look and feel of the map, and a GUI storyboard. During this phase the project team should also validate any quality of service requirements (e.g. performance), and confirm the planned system environment can meet them.Detailed requirements and design specifications should be finalized and agreed to before proceeding with development. Even for Agile implementations there should be a fundamental agreement on the content of each individual development iteration. However, the project team should be prepared for some modifications to look and feel of the application as might arise during user demonstrations and development reviews. Who is Responsible for What during Design?During the design stage, the project team shares responsibilities as follows:The technical lead holds workshops with key stakeholders to review and validate requirements, design a Graphical User Interface (GUI) design and storyboard, and develops requirements and design specifications.The project manager coordinates design activities with the technical lead to make sure they proceed as planned, interfaces with the customer on workshop logistics, and reviews design specifications prior to finalization.Design StepsDuring the design stage the project team needs to complete the following primary activities:Hold workshops with key stakeholders to refine requirements, confirm environment/IT specifications, identify workflows, and develop a GUI concept and accompanying storyboard.Develop specifications, including detailed requirements and GUI mockups based on workshop resultsCreate a traceability matrix to relate design components to requirements, and detail requirements to objectives or capabilities from your project charterReview and finalize specifications with stakeholders before proceeding with development.How to Conduct DesignThe design will set expectations with end users on the look and feel of the final application, and provides the blueprint the technical team will use to develop the application. This means specifications will have to be both “user oriented”, yet detailed enough for the technical team to understand what needs to be built. To accomplish this, the following is essential:Include a cross section of representative users in design workshops in finalizing requirements and developing the GUI storyboardUse hands-on approach to workshops to walk users through requirements and how specific application workflows or GUI Storyboards will meet themUse visual aids to develop the story board. Examples include screen mockups, simple application prototypes, existing application samplesPlan for providing GUI and workflow alternatives for users to choose fromDiscuss design concepts and implementation approaches around the capabilities of existing COTS products or infrastructureUse a design tool (e.g. Sparx System Enterprise Architect) or a standard template to document and manage requirements and design specificationsHold at least one design review with your stakeholders before finalizing specifications Get approval on the design from the customer project manager before proceeding with development and testingHow much Time should be spent on Design?Design for a simple web mapping application typically absorbs about 10% of the project budget. For the TPL Conservation Almanac Web Mapping tools Design activities consumed 25 hours out of the 240 hours budgeted for the project, or about 10%.Example – Requirements Definition and GUI Development for the TPL Conservation Almanac Web Mapping ToolsThe following Figures illustrate how desired capabilities of the Conservation Almanac Web Mapping tools can be translated into concrete (detailed) requirements, and how GUI mockups can be used to convey the look and feel and flow of the application from a design perspective. The basic work plan for these types of activities (shown below) as used for the TPL Conservation Almanac included a stakeholder workshop, development of GUI mockups with alternate scenarios, and review to approve the GUI design.Sample Requirements Analysis and Design Schedule for TPL Conservation Almanac Web Mapping ToolsFigure 11: Refining RequirementsFigure 12: Laying out the Graphical User Interface and GUI StoryboardDevelopment and TestingDuring the development and testing stage the project team will translate the requirements and design into a functioning GIS application. Key deliverables from this phase include application code and data, and interim development demonstrations and reviews.Configuration and development of web-based GIS applications is usually structured into multiple Tiers: The client tier (APIs, browsers), the web services tier (presentation and services layers), and the GIS Services tier (business and data layers). There are many possibilities on how to configure these tiers. When planning the development effort, it is important to select development components that are compatible with one another and allow the team to leverage COTS capabilities of software. This will decrease the development effort and improve the maintainability of the applicationFor a small to medium size project, coding and testing usually consume more than half of the budget allocated to a project, sometimes over a short time period. This necessitates close monitoring of the status of development activities to make sure code is developed and progress is made as planned. This can be accomplished with agile project management techniques or through detailed work item management. With either approach the project team should plan on one or several interim reviews to demonstrate the application to stakeholders for feedback and to confirm its look and feel remains aligned with the design.Who is Responsible for What during Development and TestingDuring development and testing the project team shares responsibilities as follows:The technical lead configures the development and testing infrastructure, and develops the code, databases, and other technical artifacts that comprise the application or system. The project manager tracks development work, coordinates demonstrations and reviews with the customer, develops a test plan, and conducts testing.Depending on the size of the project or available resources, environment configuration and testing responsibilities may be assumed by an independent release or test manager.Development and Testing StepsDuring development and testing, the project team needs to complete the following activities:Setup development and test environments, including source control, defect tracking, and an independent build/test environmentInstall and configure COTS components of the systemDevelop a test planDevelop custom code and databasesTest custom code and databasesPackage and deliver completed system components for installation, final testing, and deploymentTrack development progressHow to Effectively Develop and TestDevelopment and testing often involves multiple team members and many moving parts. Also, during this stage the majority of the budget is expended, often over a short period of time. Under these conditions the following are essential to maintain control of all activities and deliver quality products at the end:Configure your development and test environment to be compatible with the planned production environmentAlways develop a simple plan that defines how the application will be tested and released prior to going live.Especially for web viewers, take advantage of the many online resources (APIs, code samples, data) that are available to facilitate development Whenever possible use COTS capabilities and configuration rather than custom development when implementing requirements. Even if the project is small, use source code control and an automated build process to manage your software development environment, especially if frequent releases are expectedEven with a short development timeframe, hold at least one review with your stakeholders to demonstrate the look and feel of the application.Hold frequent status meetings with the development team to track development work and make sure it remains aligned with the design.How much Time should be spent on Development and Testing?Development and testing typically uses the bulk of a projects budget. The TPL Conservation Almanac used 135 hours for development and testing which amounts to approximately 55% of the total project budget. Usually, 15-20% of the development and testing hours should be dedicated to review and testing.Example—Development activities for the Conservation AlmanacFigure 13 below shows the logical architecture of the Conservation Almanac Web Mapping application and the key development steps. Development began with the setup of the Google Maps JavaScript API and the configuration of Google and ArcGIS Online web services to stand up a basic web mapping environment. This was followed with the implementation of the custom map and legend functions and finally with the development of search, query, and reporting functions, which are typically the most involved development activities. The basic work plan for these types of activities (shown below) shows the sequence of development activities including setup and configuration of the environment, the modules to be configured or developed, and any critical review and testing activities. Sample Development Schedule for TPL Conservation Almanac Web Mapping ToolsFigure 13: TPL Conservation Almanac Web Mapping Tools Development Work FlowDeploymentThe deployment phase involves creation of release package(s) (e.g. executables and other files that make up an installation package), and the delivery and installation of the release into the environment(s) the application(s) will ultimately live in. Key deliverables from this phase include the final release packages for the application and related installation documentation.Deployment often involves several individuals and many “moving parts”. Specific activities themselves may not be complex, but the order in which they need to be completed is critical and requires careful coordination. The degree of rigor to employ during deployment depends on application size and complexity, and also on the frequency of new releases. How to create and deploy software releases depends on the type of application (e.g. desktop versus web) and the development environment (e.g. Java script, Java, .NET, Flex). Also, if application hosting is provided by a third party, the services provider may have specific requirements with respect to timing, packaging, and delivery of the application.For small web mapping applications, deployment involves the transfer of scripts and related files and directories to the hosting environment for staging and testing, and ultimately for production. The project team may also need to support data refreshes at regular intervals. To allow for a smooth deployment for these types of applications, the project team should at a minimum create a deployment and installation checklist so release packages can be created reliably. In addition to that, the creation of an install file (using a tool such Install Shield or Wise) is highly recommended, especially if frequent releases are anticipated. Who is Responsible for What during Deployment?During deployment the project team shares responsibilities as follows:The technical lead creates the installation package, installs the applications in the customer environment, performs final testing and tuning, and provides end user training and technology transfer.The project manager coordinates deployment with the customer, develops end user documentation, and facilitates end user training and technology transferDeployment StepsDuring deployment the project team needs to complete the following activities:Develop a deployment checklistBuild the installation package and associated instructions. The content of an installation packages depends on the type of application and the platform.Transfer the installation package to the hosting environmentInstall and configure the application in the hosting environmentPerform final testing and tuningDevelop end user documentation, including and installation and user guide.How to Deploy an ApplicationDeployment can be complex and time consuming even for small projects. To make sure activities are sequenced correctly and do not adversely affect any other systems that might be in operation, the following are essential:Create a deployment checklist that itemizes all activities to complete during the deploymentCreate an install file, especially if you anticipate frequent releasesTest all system components, including your installation package prior to deploymentMake sure your deployment schedule is aligned with that of your Internet Services Provider (ISP), if you are outsourcing the hostingMake sure customer IT staff are available during deployment for hands-on training and technology transferProvide detailed instructions for deployment (including necessary configurations), especially if the technical team has no direct access to the production environment (i.e. as is the case in an outsourced hosting environment).Create an install verification checklist for a walk-through to confirm the installation is operationalIf possible, deploy the application into a staging environment for final testing and tuning, prior to moving to productionUse tools such as Fiddler or JMeter to monitor the health of the application post-deploymentHow much Time should be spent on Deployment?Deployment can absorb a significant amount of time, because it is often coupled with the final testing and tuning of an application in the production environment, technology transfer, hands-on training, and the creation of end user documentation. For the TPL Conservation Almanac, deployment consumed 35 hours of the project budget, or about 15%.Example—Deployment of the TPL Conservation Almanac Web Mapping ToolsFigures 14 and 15 below show the typical deployment artifacts and the sequencing of deployment activities for a JavaScript application such as the TPL Conservation Almanac Web Mapping tools. Artifacts include a deployment checklist, description of typical web mapping configuration parameters that must be set during deployment, and a table of contents for an installation and administration guide. These types of artifacts are useful even for small application, because they can be used as technology transfer tools to train IT staff on how to administer the application in the future. A typical deployment sequence for a JavaScript application includes environment configuration, installation and configuration of the application (including data refreshes) to a staging environment, performance and final functional testing, and ultimately switching the application over to the live production environment. The basic work plan for these activities is shown below. Sample Deployment and Support Schedule for the TPL Conservation Almanac Web Mapping Tools ProjectFigure 14: Deployment ArtifactsFigure 15: Deployment WorkflowSupport (User Documentation, Training, Technology Transfer)The support stage needs to be closely coordinated with deployment and involves training and technology transfer and any related documentation, and monitoring and tuning of the application. Key deliverables from this phase include end user documentation, end user training, and if needed, ongoing monitoring and tuning of the application. Who is Responsible for What during Support?During the support stage, the project team shares responsibilities as follows:The technical lead performs system tuning, technology transfer, and resolves post deployment software issues.The project manager coordinates support activities and provides training.How to Provide SupportProviding effective post deployment support for web mapping applications entails the following:Develop a simple plan on how to handle support requests, and provide a single point of contact to coordinate themFor documentation, focus on providing guidance with a simple (online) application walkthrough, “Frequently asked questions” section, tips, and perhaps a “support alias” to direct users. (most web map viewers are designed for use by the public, and typically do not depend on extensive user documentation)Deliver training “Just in Time” (immediately before the application goes live). This will allow staff to apply immediately what they have learned and will facilitate transitioning of the application.Use performance monitoring tools to evaluate system performance over timePlan on a quarterly review meeting (post deployment) to review system health and collect feedback for future application releases.How much Time should be spent on Support?A typical support budget should allocate 5-10% of the overall budget for post deployment support. For the TPL Conservation Almanac support was budgeted at 10 hours, or just about 5%.Example—User Documentation for the TPL Conservation Almanac Web Mapping ToolsFigure 15 illustrates how to provide simple, effective guidance on the use of the Conservation Almanac Web Mapping tools to end users of the application (the Public). The on-line user documentation includes a simple description of the key capabilities that is accessible from the front page, an About tab with Frequently Asked Questions (FAQs), and a more complete description of how to use the application, and a brief tutorial that describes each menu screen.The basic maintenance and support tasks for the TPL Conservation Almanac Web Mapping tools are shown below.Sample Deployment and Support Schedule for the TPL Conservation Almanac Web Mapping Tools ProjectFigure 16: Developing Effective User Guidance for Simple Web Mapping ApplicationsProject CloseoutThe project closeout phase is an opportunity to have a project retrospective and lessons learned session with the project team. A project lessons learned session should be scheduled with the project team soon after the project is complete, when memories are fresh. The focus of the meeting is to assess the project, determine if success criteria were met. Results from the meeting should be shared with senior management, and should be used for future improvements. Who is Responsible for What during Closeout?Project closeout is primarily the responsibility of the Project ManagerThe project manager schedules a “lessons learned meeting”, or conducts a brief survey with the project team, compiles results, and briefs management on successes as well as suggestions for improvement.The project team contributes their project experiences based on key project indicatorsProject Closeout StepsProject closeout steps are as follows:Use a standard questionnaire or survey for project team members to complete. An example is included in the additional resources section of this paper.Schedule a lessons learned session to discuss the questionnaire with the project teamAnalyze results to identify areas of success as well as improvementBrief senior management and close the projectHow much Time should be spent on Closeout?Project closeout activities do not consume significant resource. For a small project they should be budgeted at 2-4 hours.SummaryThis white paper discussed a Roadmap for the implementation of small GIS projects using the TPL Conservation Almanac Web Mapping Tools project as an example. The following summarizes the primary implementation steps and level of effort that should be budgeted for this type of implementation:Implementation StageLed ByKey DeliverablesLevel of EffortInitiationProject ManagerCharterPlanningProject ManagerProject Plan10 Hours5% (Combined with Initiation)DesignTechnical LeadRequirements and Design Specifications25 Hours10%Development & TestTechnical LeadTest Plan, Code, Executables, Databases135 Hours55%DeploymentTechnical LeadFinal ApplicationsUser Documentation35 Hours15%SupportProject ManagerTraining10 Hours5%Execution & ControlProject ManagerCurrent Schedule, Status Reports, Status Meetings25 Hours10%Total240 HoursProject Implementation ResourcesI would like to include the actual templates we used in the walkthrough. These still need to be spruced up a bit in a usable document format (i.e. not just as images as they are in the Figures right now)AcknowledgementsBreece Robertson from TPL who provided the project as an exampleLarry Orman from GreenInfo Network who provided the project work plan ................
................

In order to avoid copyright disputes, this page is only a partial summary.

Google Online Preview   Download