Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Streamlining Project Management with Mura CMS Using Mura’s Built-in tools and custom code to build an Intranet Application designed to promote efficiency in the workplace - public or private sector. About ● ● ● ● ● Proud ColdFusion “5-Tagger” since 1997 (Allaire) Mura CMS since Sava CFUG Mgr, PMI, Agile Government Leadership Spare Time: Ironman 70.3 World Champion Qualifier Retirement Plan: Parlay 20 years of material in State Government to launch new career producing cartoon copy... Agenda ● Defining our Unique Problem(s) with how the State of Illinois does business, current office project management tools and techniques (Time: 10 Minutes) ● Overview of the Solution - Systems Request Tracker (SRT) ○ Original Solution - Class Extensions/Subtypes Infrastructure ■ Creating Class Extensions ■ Managing Projects on the Back End ■ Displaying Projects on the Front End ○ Paradigm Shift - M7 Solution - Full Application Infrastructure ■ Mura Display Objects ■ Mura ORM Project Management Problems And How to Take Corrective Measures Using Mura CMS The Systemic Document Management Problem ● Entire department that essentially handles paperwork. ● Even with Sharepoint and other document asset management capabilities, still need connect people to project documentation. Document Management Issues Project Management Issues Introducing The Project Methodology AKA “The 12 Steps of Misery” All the things that programmers love... ● ● ● Process driven Strict Controls Documentation heavy ○ Waterfall (- The 12 Steps) i. ii. iii. iv. v. vi. vii. viii. ix. x. Systems Request Form (Shared Drive/Paper) 1. Obtainable from: Sharepoint, Intranet, Shared drive, Email, local system Organize/Schedule a Meeting (Outlook) Write a Functional Overview Write a Technical based on Functional Document Approval Develop System Test User test Deploy etc... It’s not the process that’s the problem, but rather the execution. 12 Steps Poorly Executed Leads To: ● ● ● ● Scattered Documentation No Audit Trail Poor Security Information Silos Problem: Scattered Documentation Documentation hard to find; version control a problem. ● Shared drives ● Emails ● File cabinets Solution: Mura CMS tracks paperwork for through structure and search capabilities. Turned this... … into This Audit Trail/File Sharing Concerns Mura’s built in backups and audit trail using its History tab. Problem: Security Complications Files stored and shared via network drives and emails create mistakes and cause control issues. Control and organize project workflow through Windows Authentication using the Mura User Bridge. Problem: Lack of information sharing Information Silos create unnecessary barriers. The silo mentality is really an organizational way of thinking. It occurs when departments or management groups do not share information, goals, tools, priorities and processes with other departments. Not necessarily willful, but rather procedural or organizational information silos can occur even within IT departments. Since we’re all on Mura, we can set up permissions at a very granular level. Mura CMS allows for team-building collaboration exposure across departments. Issues Exacerbated by Governmental Red Tape American Government started using the word Red Tape as a derogatory term for the excessive bureaucracy linked to the difficulty of gaining access to Civil War veterans records. It was used by H.W. Longfellow in his journals of 1869. However, this word actually came from British English literature around 1736. Simply put, once government creates a way of doing something it is very hard to change. Problem: Unwillingness to Change Many people in an organization accept the current mediocre state of affairs because it’s they way they’ve always done it. In addition, governmental organizations are slow to accept new technologies. These hurdles and others make it much easier for people to continue doing business as they’ve always done. Solution: Mura as a Change Agent A change agent is a person piece of technology from inside or outside the organization that helps an organization transform itself by focusing on such matters as organizational effectiveness, improvement, and development. Addressing the Concerns of Waterfall, Agile, and Everything in Between Agile Concerns “No structure.” You can have structure with Class Extensions “No audit trail.” You can provide audit trails and artifacts through file management Shotgun Waterfall Concerns “Lack of team involvement.” You can foster active user involvement and team collaboration between devs, designers, and management. “Lack of predictability.” You can make sound predictions and estimates by addressing management concerns through visibility Getting Started > Effective Intranet Planning Slide Deck Solution Criteria Solution must provide product owners, users, auditors the easy access to status of any given project, so whatever direction we went, we had to: ● Filter by program, department, or programmer ● Keyword searching or sorting options ● A way to do all of this without spending $$$ per user Solution Criteria, Continued ● ● ● ● Consolidate and secure project documentation; Maintain backups/version control; Associate project updates with individuals, and Track the status of each project including the number of days in each phase to detect potential bottlenecks Architecting the Solution: State of Illinois’ Project Management System Tracking Three Key Factors: Documents, Dates, and Teams A look at the Systems Request Tracker (SRT) SRT Implementation: Creating Class Extensions* To Capture Project Documentation, Dates and Teams *And their Extended Attributes I remember the day a light bulb went off in my head about class extensions... Defining and Creating Class Extensions for the SRT Class Sub-class Creating the Project Class Extension We need the class extension to contain the following details: ● Project Description ● Project Team ● Project Dates Project Class Extension Breakdown A one-time setup of the extension, via XML Or Admin ● Select Base Type: User, Address, Page, Folder, File, Calendar, Site, Component, and more. ● The variables you are presented depend on the class you extend Edit Project Class Extension Extended Attribute Sets Breaking the class extension down into logical sets for management. Show Extended Attribute Sets Attributes Set: Project Dates ● Order the project dates logically to make it intuitive for data entry (UX). ● Calculating number of days between two dates allows you to ○ Address bottlenecks, employment augmentation requirements, etc. ○ Astound your managers with colorful graphs, charts and statistics. ● Determine average time to production for Minimum Viable Products compared to final versions, etc. Attributes Set: Team Members ● Easily provide managers with development team info/makeup to determine current asset allocation. ● Compare dev teams with project status to assess who will be available soon for next project/phase. ● Track projects per product owners/director needs/requests to determine which departments need most support. Extended Attribute Options Collect data via various form field types (dropdowns, radio buttons). Validate data using regex, date, color, etc. Populate/prepopulate form fields with various options/default values. Class Extension Heirarchy - Documents within Projects Repeat process for each Class Extension to create artificial relationships. Entering Projects into the SRT Using Site Manager or From Front End Toolbar Entering a Project into Mura from the Admin Entering a Project from the Mura Front End Toolbar ● ● Adding Project via Admin Toolbar (Screencast Demo) Adding Design Document to Project (Screencast Demo) Displaying Projects to the Team Solutions: M6: Class Extensions (Version 1) M7: Application (Version 2) Talking to Mura: Using the Mura Scope getBean(‘feed’) & feed.getIterator() to display project status, team and dates Systems Request Tracker > Main Page Here, “item” holds the next feedIterator object, and SystemsRequestNumber is the name of an Extended Attribute in our Class extension. Systems Request Tracker > Detail Page, Part 1. Displaying Attributes m.content - Most common way to display Extended Attributes - pull content bean and ask for attribute Systems Request Tracker > Detail Page Part 2. “Summary Information” m.content(‘assignedTo’) m.content(‘submittedBy’) m.content(‘SAPAssigned’) Systems Request Tracker > Detail Page, Part 3. “Documentation” Looping Project’s Iterator To Display Project Forms Using getKidsIterator() to pull children from conttent bean. Looping through Project Documentation - Creating arrays for multiple docs Looping through Documentation to Identify Type of Doc by its Class Extension Populating Array with Document Data Displaying Content Step 4 - Outputting data Displaying Content - Searching and Filtering What’s Next for SRT: M7 Leveraging M7’s Custom Display Objects and Mura ORM for more granular control to create project communication tools, approval workflows, and deploy as a plugin Application Development Mura 7 Adding SRT display_object to Mura Page Application Development Mura 7 ● Class Extensions are great for what they are, but they have limitations. ● Greater control of the data entry environment, layout and workflow. ● Improved UX Mura ORM - Creating the Table Mura ORM /model/beans/srt.cfc Creating our own custom objects to access and set properties, and create relationships. ● Project name, number, and other attributes that you’ve seen as Extended Attributes. ● Project has relationships that can be established with the documents ○ Zero or more Test Scripts. ○ Zero or more Migration Forms. ○ etc. Mura ORM Database Creation of Projects Table Saving Data - Still no SQL Displaying Data using the Feed Bean API Next Steps / Features Raining Emojis DataTables, JSON, ORM Approval Chains Canned and Custom Analytics Chat/Communication using APIs ○ Slack API ○ Axosoft API ○ Asana API ● Uploading/Editing from the Front End ● ● ● ● ● Roll Credits Thank You! To collaborate on GitHub for the SRT, contact [email protected]