1 / 31

SharePoint-Powered Project Management

Join Mark E. Vogt from Netrix LLC to learn about SharePoint-powered project management, process modeling, and insights for maximizing ROI. Explore state machine workflows, distributed development, and the role of business in SharePoint.

marcusm
Download Presentation

SharePoint-Powered Project Management

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. CSUG downtown SharePoint-PoweredProject Management event Insights & Innovations on Process Modeling

  2. About Netrix LLC… Netrix provides: • Cage-to-Cloud Infrastructure • Desktop-to-Mobile Applications • Carrier-to-Endpoint Communications • Network-to-Application Security • Tailored/Custom Business Solutions • Engineering Expertise to Design, Deploy and Manage ALL of your needs Why Customers Choose Netrix for SharePoint Solutions: • More than 30 cumulative years of hands-on SharePoint experience • More than 70 cumulative years of IT & Business Solutions experience in leadership • Comprehensive capabilities from analysis through implementation & support • Focus on customer satisfaction and service excellence • The Netrix Guarantee Netrix makes it ALL work together

  3. About the Presenter… • Mark E. Vogt • Principal Architect, SharePoint Practice, Netrix LLC. • Engineering (Aerospace, Robotics) background • BS Aerospace – U of MN IT • MS (ABT) Mechanical Engineering/Robotics – U of MN IT • MS Computer Science & Applied Mathematics (Control Systems) – IIT • Diverse Career Path • Professor • Engineer • Developer/Architect • Manager • Consultant • Inventor • Alternating betwixt consulting & management by fear of boredom • Driven into Project Management by aggravation • Drawn into SharePoint by its revelation, simplicity & power • Inventing & Fly Fishing every other waking minute

  4. Subliminal Messages Imminent…

  5. Subliminal Messages… There is NOSharePoint KILLER APP • There has never been a SharePoint “KILLER APP”… • There will never be a SharePoint “KILLER APP”… There ARESharePoint KILLER PRACTICES • SharePoint-Powered Project Management – by EVERYONE • SharePoint-Powered Process Management – by EVERYONE • Distributed & Delegated Solution Development – by EVERYONE • SharePoint-Powered Task Management – by EVERYONE SharePoint is NOTthe pet of IT SharePointISthe workshopof theBUSINESS YOU DIDN’TSEE THIS SLIDE…

  6. More Subliminal Messages… Embrace The Hoard (your “hidden” IT resource) Official IT… Dark/Rogue/Ninja/Hidden IT… TRIPLE your effective DEV Staff… TEACHthem… they become ALLIES! THINK about THAT… YOU DIDN’T SEE THIS SLIDE EITHER…

  7. More Subliminal Messages… DISTRIBUTE development Official IT… Dark/Rogue/Ninja/Hidden IT… TRIPLE your effective DEV Staff… THINK about THAT… TO LOOK AT THIS MEANS DEATH!...

  8. Session Goals… COVER theory… • Understand that modeling is different from automating • DIFFERENTIATE Process Automation vs Process Management Automation; • UNDERSTAND a bit about “State Machine” Workflows (smWFs) and their value; • UNDERSTAND various metaphors for modeling business processes; EXAMINE practices… • EXPLORE “composite” State Machine Workflows to automate complex processes; • EXPLORE advantages of modeling process-as-content type; • EXAMINE “the Big Picture” - a complex process modeled using the above innovations; • EXPLORE a workaround for scheduled-workflows via built-in timer jobs; IN GENERAL… • SHARE some insights about deriving ROI from SharePoint; • DISCUSS (and Discuss and Discuss…)

  9. Intended Audience… • Power Users • Designers • Developers Dark/Rogue/Ninja/Hidden IT… Official IT…

  10. Situation Overview… 2012: Contracted to work in a challenging environment: Large telecomm company with own standalone consulting firm Massive Program: • $67 M • 2 years • 987 locations • 100+ concurrent projects at any moment • 75-100 regularly-churning project staff • Each project executing numerouscomplex, constantly-changing processes • highly-constrained production environment (sandboxed solutions only) • Complex Business (Technical) Processes needed to be modeled & automated: • Simply – no VS solutions • Adaptively – could change/evolve (typically grow more complex) at any time • Intuitively as possible to participating project teams (“just tell me what to do”) • Inheritably by a client-side staff of SharePoint novices

  11. Fundamentals: Process Automation involves… • Process Modeling • How best to model (metaphor) a given process • What process-centric properties & values to include • What “helper” properties & values to include • Process Automating • How best to automate a given process • Types of Workflows to use (sequential vs state machine) • Where to use workflows • How to use workflows Process Modeling is NOT Process Automating…

  12. INSIGHT: We weren’t automating the processes… BusinessProcess Automation • Genuine automation not always possible – at least not 100% • eg: CREATE document, SURVEY location, ORDER equipment, INSTALL equipment, etc Business Process Management Automation (instructing people what to do) • Always possible – even up to 100% • Often manifests as well-defined tasks sent as emails (simple!) • Oftencompletely achievable with SPD (codeless) Workflows! • Workload can be distributed across even client-side resources (see subliminal messages) Reality: • Most organizations don’twant to replace people performing tasks • Most organizations do want people performing tasks…better • Business Process Management Automation can enable this! • Reduces Process Ambiguity (who does what, when, how) • Increases Process Efficiency (how fast each step occurs) Business Process Management Automation is a powerful enterprise strategy…

  13. Understanding ProcessesvsWorkflows… Process: A collection of related, structured activities or tasks that produce a specific service or product (serve a particular goal) for a particular customer or customers. Workflow:A sequence of connected steps where each step follows without delay or gap and ends just before the subsequent step may begin. It is a depiction of a sequence of operations, declared as work of a person or group. Workflows are (typically) the building blocks of processes…

  14. Understanding “State Machines”… In general, a state machine is any “device” that stores the status of something at a given time and can operate on input to change the status and/or cause an action or output to take place for any given change. In practice state machines are used to develop and describe specific program interactions. To summarize, a state machine is: • An initial state of set of states; • A set of possible input events; • A set of new states that result from the input; • A set of actions or output events that result from a newstate; • A function that maps states and inputs to states & outputs;(called a state transition function) Processes & State Machines have a lot in common…

  15. State Machine-AutomatedProcesses… IMAGINE several smaller “component” Workflows all contribute to become a larger “composite” State Machine model for a key business process: • Simpler for clients (and developers) to understand; • Simpler to code; • Often breaks down into lots of “WHEN <event> DO <response>” coding • Surprisingly easy & intuitive for client-side to staff to share in this type of coding ! • Sets the stage for progressive automated/manual process management ! • Start with very little automated management • Progressively automate more & more of the process management a piece at a time • Re-usable “component” workflows (each involved in NUMEROUS processes) The key lies in figuring out an elegant way to model process states…

  16. INSIGHT: Process-as-Documentisn’t realistic… • Tying the model of the process to a single document isn’t realistic • What if a given process involves multiple documents?  • The Process needs to be SEPARATE from any particular DOCUMENT(S) • Many WF examples (even intuition) repeatedly reinforce WRONG model • The DOCUMENT is NOT The PROCESS • The Process is The Process… and merely involves document(s) • So… what IS a better (best?) metaphor for a Process?

  17. INSIGHT: Process-as-Content Typeis realistic… • Processes are really (often) bundles of properties representing states • “Bundle of Properties” is really just saying Content Type • Content Types can store these process states as columns  • The Process itself becomes an abstraction (template) • Instances of processes can be manifested as individual list items (One does not execute a “process”; one executes an instance of a process) • Each list item (process instance) is always explicitly visible • Entire list of items (process instances) becomes (literally) a dashboard • Large number of states – modeling complex processes - becomes easy! • Each column persists its current state while process is dormant!  • Can readily intermingle manual & automated “state changes” (people can manually override state changes when needed ) process-as-content-type is a superior metaphor for modeling processes…

  18. INSIGHT: Each process has own content type… System Item Title[single line text] ABCItem ABCProjectItem Project Name [single line text] Client [single line text] Practice Area [single line text] ABCProjectSummary ABCProjectGoal ABCProjectProcess Description [multi-line; brief description of specific instance of process…] Priority [A B C] OverallCondition [Green, Yellow, Red] OverallState[Started, Pending, Completed, Deferred, Cancelled] Overall%Complete[0% - 100% in 10% increments] Notes [multi-line; ongoing journal of changes, etc in specific instance of process…] ABCProjectProcess001 Criteria001.01 State [Unmet, Met] Criteria 001.02 State [Unsatisfied, Satisfied] Deliverable 001.01 State [Started, Pending, Completed, Deferred, Cancelled] Deliverable 001.02 State [Started, Pending, Completed, Deferred, Cancelled] Milestone 001.01 State [Unreached, Reached] Milestone 001.02 State[Unreached, Reached] Milestone 001.03 State [Unreached, Reached] ABCProjectProcess002 Criteria 002.01 State [Unmet, Met] Milestone 002.01 State [Unreached, Reached] Deliverable 002.01 State [Started, Pending, Completed, Deferred, Cancelled] … LEGEND: Content Type Column Name Column Value Processes then are sets of properties each of which has a final or “done” state…

  19. MORE INSIGHTS: Process-as-Content Type… • DON’T model process-as-document (or document-as-process) - often leads to constraints! • DO model process-as-content type derived from Item – not Document • Can have multiplestatuses representing stages, conditions, etc for completion • Can have multipledocuments associated with a given process instance • Can include multiplecriteria, component statuses, milestones – whatever defines the process! • Multiple events all over site collection trigger multiple (small) WFs but update single process instance (This is essentially a (composite) State Machine Workflow – the grail thought not possible in SPD!) • Information about each process instance is explicit & visible rather than hidden inside SharePoint • Processes list literally becomes a dashboard into the overall status of the processes • DO create MULTIPLE Process content types – one for every process required by a project! Let’s apply all this to a real-life complex process…

  20. Real-Life: single process – numerous documents… Many of the project processes involving preparing & updating individual portions/sections of many types of deliverable documents as shown here… Some of these documents (spreadsheets) easily contained 15-50 MB of data!... Many documents had their own set of individual preparation workflows, with document-specific statuses representing “phase gates” for that workflow… … but the overall “migration” process wasn’t complete until ALL the documents were completed and reviewed and accepted!... THAT is The Process…

  21. Real-life: Numerous types of statuses… OBSERVATION: Modeling status columns as choice-type or lookup-type doesn’t really matter for overall process modeling & automation…

  22. Real-Life: Migration process instances in a list… <!– DEFINE new styles to append to selected table cells…--> <style media="screen" type="text/css"> .cellRed { background-color: Red;} .cellYellow { background-color: Yellow;} .cellGreen{ background-color: Lime;} </style> <!– REFERENCE jQuery library, either on-premises or via CDN…--> <script type="text/javascript" src=“{URL to CDN}/jquery-1.10.1.min.js"></script> <script type="text/javascript"> $(document).ready(function() { // SELECT all table cells with specific CSS class unique to list items… $('.ms-cellstyle.ms-vb2').each(function() { varcolText = $(this).text(); // TEST actual value in cell, and append colorizing CSS as appropriate… if (colText == 'Green') {$(this).addClass("cellGreen"); } else if (colText == 'Yellow') {$(this).addClass("cellYellow"); } else if (colText == 'Red') {$(this).addClass("cellRed"); } }); }); </script> …with a bit of simple jQuery for styling = DASHBOARD !!!

  23. INSIGHTS: Modeling (real) Business Processes… • Envision your larger processes as being comprised of multiple individual workflows which – for this process – happen to all work in symphony to execute an instance of that process. • Think in terms of smaller, simpler (easier to code & inherit) Workflows • Think in terms of automating the management of the process • Think “tell the right people what to do, how and when” • Think in terms of DEFINING & ASSIGNING TASKS • Make things as simple as sending emailed instructions (from task lists) • Examples:

  24. INSIGHT: Sometimes The Process gets missed… Workers can get lost in the weeds of individual deliverables and the workflow surrounding them that they LOSE sight of the larger, over-arching process itself. SPEND time actually DEFINING The OVERALL Process DIFFERENTIATE the individual composite WFs from The Process !!! What Happened to Us: Design Document Tab1 (there were 26) as process… INCOMPLETE & UNnatural Design Document itself as process… INCOMPLETE & UNnatural Deliverable XYZ as process… INCOMPLETE & UNnatural LocationABCMigration (20+ docs plus actual work) as process… COMPLETE & natural Design Document Prep as WF of Migration Processs… natural & intuitive Deliverable XYZ Prep as WF of Migration Process… natural & intuitive … Actual Equipment Work as WF of Migration Process…natural & intuitive … and all the while every key milestone/critiera/condition is visible in the Process Dashboard IDENTIFY The (actual) Process… and everything starts to come together…

  25. EXAMPLE: A Real-Life Business Process Each “swim lane” represents a separate event-driven Workflow Columns represents different changes (in value) of several process property states (Submittal Status, Deliverable Status, Review Status, Archive Status) Let’s see how to tackle modeling & automating this with our new insights…

  26. INSIGHT: Divide & Conquer… 5 2 1 4 6 Each sub-process becomes its own instruction-sending workflow (simple!) Each component workflow regularly updates a property in the larger process 3 7 8

  27. The Big Picture… Process Workflow(s) Emailed Instructions Emailed Instructions Task Workflows Document Workflows 2 3 4 5 1 6 • Process-as-item metaphor enables “Composite State Machine” Workflow • Projects involving repeated, complex processes can be readily tracked • Complex processes can be automated in smaller, re-usable WFs • Management of complex processes can be partiallyor fullyautomated • Human intervention (“override” of process values) is possible, even natural & trivial ! • Numerous people can “feed” these items (unlike MPP files) concurrently • Numerous documents (deliverables) can be involved in a singlecomplex (realistic) process • Numerous stages can be readily tracked • Numerouscriteria for completion can be readily & intuitively tracked 7 8 • EVENT-driven WF • SCHEDULED WF • Process-as-Content Types looks complex, but is surprisingly INHERITABLE!

  28. Workaround: Scheduled WFs via built-in Timer Jobs… • Process Management Automation typically requires 2 types of workflows: • Event-Triggered – WFs triggered by events occurring on a single item/document: • Item or Document Created • Item or Document (properties or content) Changed • Scheduled – WFs triggered regardless of an event occurred (scheduled tasks) • Typically SPD Workflows (Declarative) can only be triggered when an item is created and/or changed. • Triggering SPD Workflows to run on a scheduled basis requires a custom timer job • CHALLENGE: Sometimes custom timer jobs are NOT always possible • Organization doesn’t have development capability • Organization policy prohibits deployment of custom timer jobs into PROD farm • Useful Workaround: • Leverage the nightly timer job • already built-into the Information • Management Feature! • Create a Retention Stage which • repeats a selected WF daily, startingimmediately after creation  … With both event-triggered and scheduled WFs, much is possible…

  29. INSIGHT: STOP Seeking Perfection… • Seek IMPROVEMENTS in overall efficiencies • Seek EXCELLENCE – this is achievable • DEFINE “Excellent” in terms of SLA metrics on a process • EXPECT BPMA to always be a MIXTURE of manual & automation • STARTS as more manual process… • EVOLVES toward more & more automation… • When you arrive at “Excellent” – STOP – and move on to next process!

  30. Discussion… To schedule this free presentation at your company… • Mark E. Vogt, Principal Architect • business email: SharePoint@NetrixLLC.com • personal email: mark_vogt@hotmail.com • cell: (630)781-9978 • blog: markvogt.vogtland.ws • WATCH for 2 new books by Mark Vogt: • SharePoint-Powered Project Management: A BluePrint & Playbook (available on Amazon.com Summer 2013) • Sayings of The Wise Consultant (available on Amazon.com Summer 2013)

  31. …and lastly... GO BLACKHAWKS !!!

More Related