m Project Tools & Documentation
Key Points
References
Key Concepts
Strategies for Project Success
Well managed projects are always driven by:
key roles ( sponsors, beneficiaries, users etc ), clear use cases, clear objectives, scope, resourcing, system boundaries, stakeholder management and dependency management across all 3 domains: business, project and technical.
In addtion to the listed PM concepts to manage Agile projects:
It's important to understand all stakeholders views on the current solution and their roles and views on the new solution to manage expectations effectively throughout the project.
Prepare for success following the VCRS method ( Value, Costs, Right, Success ) for all stakeholder groups
The common PM concepts all make sense to manage Agile projects:
- to embrace change in a controlled manner in projects
- increase learning across teams
- provide good collaboration opportunities
- use the sprints as improvement opportunities with plan, deliver, review and retrospective steps
Other considerations to deliver a quality solution:
A few key business solution architecture concepts that apply to the project scope should be reviewed for the key use cases in scope:
- NFR - what are the key non-functional requirements for the project / solution?
- RAS - who do you define specific test cases for reliability, service, availability?
- KPIs - what are the key performance indicators in scope for operations & support of the production solution?
- tools - does the target production environment provide the right observability, management tools to operate effectively?
- what is the ongoing change management model for the solution including learning and onboarding new resources?
- Failure and integration scenarios: ask the right questions on potential failure scenarios and their criticality, frequence using any good data
Project Management Assumptions
Project Delivery Plan based on 2 week Sprints
Project Reporting follows Sprint cycle, Monthly, Quarterly
Project needs clarification on roles, responsibilities, deliverables, documentation,
Project Deliverables
Business Context
Strategic Plan Template
Tactical Plan Template
Some project phases may overlap on timelines which can be fine as long as dependencies are managed well.
For example, implementation planning and preparation can occur in parallel to delivery in many cases
Basic Project Documents Checklist - Simple SDP - Supports BWIM
This SDP ( Solution Delivery Process ) is based on Barry Wright Investment Managment Method
Solution Roles
- Customer = Customer sponsor, solution users
- Provider = solution provider role ( internal or external ), multiple resources
- Consumers = Solution users
- Solution Community = Users, Members, Partners, Providers
- Community Manager - ensures community definition, value focus for solution as a net value add
- Product Manager - plans and manages solution, design, sprints
- Project Manager - manages project, may also be scrum master
The Basic Project model here has proven to be a useful SDP for a wide range of project deliveries from simple to complex.
For simple projects, using the templates makes quick work of most of the required documents here
For complex projects, the governance controls and processes defined handle multiple stakeholders, risk management, delivery execution, multiple workstreams & milestones to coordinate ( eg SAFE model etc )
Larger projects may require more roles, staffing
The model for this SDP process goes beyond normal Enterprise Project Management Methods
It's based on the BWIM - Barry Wright Investment Management Model that's defined here
The BWIM method is aligned with some principles
- Value Chain Engineering for sustaiable value for stakeholder groups in Value Chain Economies
- Solution Engineering focused on executable use case models to drive value chain maps, solution strategies, capabilites, products & services
Customize the recommended document list below to fit your specific project, scope, use cases
- The document list below is a reference model that works well for a wide span of project deliveries.
- More complex projects need more governance, document controls than this set.
- Smaller projects can reference the doc set here and incorporate concepts into a smaller doc set that fits that project
Project Document Control List | |||
Phase | Document | Purpose | Owner |
Discovery | Project Charter | Define roles, VCRS, project initialization steps | Sponsor, PM |
Discovery | Project Definition | What, for who, why, When, How, Stakeholder views << Domain, Goals, Use Cases, Roles, Scope, Key Deliverables, Key Milestones, Resources | Customer |
Discovery | Current State Analysis | Analyze current state, solutions, stakeholders, value streams, context, governance, regulations, documents VCE parties, roles, economic models, systems, data, governance, trusts Business Models: roles & responsibilities, life cycles, interfaces ( consume, produce ), systems, data models, technologies Metrics: OKRs, KPIs, SLAs, SLO, SLI, Events, << VCRS summary, FACTUR3DT.i ( input ) | All |
Assessment | GAPS report | GAPS goals, assumptions, problems, steps. << given the use cases and stakeholders in scope, GAPS defines what parties agree on for the solution & approach | All |
Assessment | RACI report | Responsible, Accountable, Consulted, Informed people involved in the project | All |
Assessment | Requirements | What we deliver, scope, roles < executable model. << get client signoff | Provider |
Assessment | RAID2 Log | RAID2 Log updated each Sprint plan. ( Risks, Assumptions, Issues, Decisions for the Project ) | All |
Plan | Project Plan & updates | When we deliver, streams, milestones, sprints, DOR, DOD | All |
Plan | Project Budget | Funds, sources, budget time line for plan | Customer |
Design | Architecture Decisions Log | How we deliver and why ( the Technical Solution Design ) | Provider |
Design | Use case definitions | Domain > goals > use cases > roles > OKRs > processes > rules | All |
Design | Use case value streams | Define new solution, stakeholders, roles, products with Roles > Value Chains & Value Streams > Strategies > Capabilties > Solutions ( 3B sourcing ) << VCRS summary, FACTUR3DT.o ( outputs ) update GAPS & OARS reports as needed | All |
Design | Use case diagrams | Context > Object ERD > Activity with Swim lanes & Values > Event Sequence with DT > DB Schemas > Deployment | Provider |
Design | Designs | How requirements will be met | Provider |
Design | Project Status Report | References to Project Plan w updates noted, OARS reports, budget, resource plan updates | Customer |
Deliver | OARS reports | OARS report: Objectives, Assumptions, Reviews, Solution steps << updated before each Sprint in planning phase << summary view of project progress, issues, returns << can integrate this with Project Status report updates at the end of each Sprint review | All |
Deliver | Test Plan & updates | How we prove delivery correct | Provider |
Deliver | Test Cases | Client and Provider based on requirements | Provider |
Deliver | Risk Plan & updates | Why we may not meet deliverables | Provider |
Deliver | Change Orders & updates | What, Why, When, Who, How change | Customer |
Deliver | Implementation Plan | How solution will be rolled out to users | All |
Deliver | Operations Guides | How they use solution to deliver results | Operator |
Deliver | Training Guides | How they learn how to use solution | Provider |
Deliver | Support Plan | How to support users, maintain solution value, roles, processes | Operator |
Spreadsheet for document control
project-document-checklist-v1.xlsx
Project Definition, Complex Project - SDP model
Depending on existing artifacts, context, scope and depth of research required, duration can be a few weeks to 6 months
Vision Statement
Stakeholder RACI List
Project Scope Statement
SWOT Analysis Template
SGAAPS assumptions, problems, steps report
Analysis / Feasibility Study - FACTUR3DT.IO Template
Customer Surveys - GForms
Business Systems Context
Business Use Case List
Business Capability Statements
POT - Proof of Technology for key technical functions ( as needed )
Conceptual Business Services Model
Conceptual Data Services Model
Conceptual Application Services Model
Conceptual Architecture Services Model
Conceptual Risk Model ( including security, BCP etc )
Supporting Conceptual Design Documents ( if needed )
Project Initiation Proposal
Project Issues Register
OARS report updated each Sprint
Project Change Management Plan
RAID2 Log updated each Sprint plan
Project Resource Management Plan & Forecast
Project Architecture Decision Register
Project Governance Model
Project Communications Plan
Project Training Plan
Project GAPS model - Goals, Assumptions, Problems, Steps
Project Idea Board - Miro, Mural etc OR gdrawings paired with gsheets
Project Design
Depending on project scale, existing artifacts, context, scope and technology breadth required, duration can be a few weeks to 6 months
The solution documents from the Definition phase will continue to be enhanced, changed during design phase as needed
Design sprints include: research, design, planning, validation tests, POC tests, usabiility tests, POV tests, environment tests, data tests as needed
Business Report Template
BSM - Business Services Model
BPM Flowchart Template
Use case model
BPM models
User journey model
BRD - Business Requirements Document ( relates to Business Services Model )
TRD - Technical Requirements - Infrastructure, Environments, Operations, Non-Functional Features, Criteriat to support BRD
TCS - Technical Capability Statements
SOW Template - Statement of Work
ARD - Architecture Requirements Document
ARB Decision Document
ASM - Application Services Model
ERD Data Models
DSM - Data Services Model
TDM - Test Data Management Plan
Project Budget
Project Plan
RFI / RFP process for Vendor selection ( as needed )
Vendor contracts ( as needed )
Vendor Management Plans for each key vendor
Stakeholder RACI map
WBS Plans by Area
Solution Requirements
Security Management Plan - SMP
Solution Design
Test Plan
Release Roadmap
Implementation Plan
Operations Support Plan
Jira for Sprints, Epics, Stories, Bugs, Dashboards
Design documents in Word format
Project Delivery
Duration depends on scope, deliverables, resources etc
Delivery sprints include: research, design, planning, validation tests, POC tests, usabiility tests, POV tests as needed
Project Implementation
Duration depends on scope, deliverables, resources etc
Delivery sprints include: research, design, planning, validation tests, POC tests, usabiility tests, POV tests, training as needed
Training programs prior to Testing
Testing Plans by Area w Acceptance Criteria
Approvals on Test Results required before implementation
Implementation signoffs when items are operational, passing defined criteria, KPI's
Project Operations
Duration depends on scope, deliverables, resources etc
Delivery sprints include: research, design, planning, validation tests, POC tests, usabiility tests, POV tests as needed
BCP - RTO, RPO, BCP tests at each solution layer
Project Support
Support system for environment, solution, users
Maintenance system for environment, solution, users
Support KPI's and performance
RAID2 Log - Risks, Assumptions, Issues and Decisions Log for all stakeholder groups
- RAID2 stands for Risks, Assumptions, Issues and Decisions ( an update over RAID 1 )
- sometimes re-interpreted by other PMOs
- Risks includes dependency risks
- Assumptions for the business, project and technologies are all covered by all key stakeholder groups
- Issues id key issues to address during and after the project on the business, project and technical areas
- Decisions are the key decisions with the metrics to measure impacts with the
The RAID2 Log is reviewed and updated as part of Sprint planning every Sprint
Each decision has related action items, owners, due dates and dependencies identified for follow up in the project plan
All key stakeholder groups must update the RAID log
Architecture Decision Log
Architecture Decision Log
Architecture Decision Records stored in Arch Decision Log
Item | Description |
ID | unique id set for this item |
Topic | what is the category of this decision ? Used for report filters etc |
Decision | what is the decision to make? |
Description of decision and impact | Describe pros and cons of decision and options – often need to link to an Architecture Decision Record document ( ADR ) or web page |
Source | what was the source for this decision requirement? |
Owner | who owns making the decision? |
Priority | what is the priority to address the decision ? |
Date Added | when was the decision added to this log? |
Approver | Who approved this decision? |
Date Approved | When was it approved? |
Status | What is the status of this decision? |
Decision Date | Date decision was made by owner? |
Record of decision made | Detail of the decision made |
Executive Reporting? | Is this decision reported on for status? |
Change Order | change order number or link to the change order document for this change ( if needed and, yes, it’s normally needed ) |
Notes | Other notes |
Software Tools and Platform Selections
- Client may require specific software tools, frameworks
- Make client the owner in architecture decision log ( ADL )
- Make client the owner in architecture decision log ( ADL )
- Where possible, use standard vs platform-specific tools
- Without a compelling, documented business case, use standard tools vs platform-specific tools ( eg Jenkins vs Azure pipelines )
- Makes our team more productive across projects
- Where it’s feasible, use Enterprise Open-source tools
- EOS is robust, supported Enterprise Open-source ( eg Tomcat, Fabric etc )
- Lowers project costs, learning curves, better portability across projects
- Vendors available to provide production-quality support where needed
- When there’s no other option, use Proprietary tools
- A vendor proprietary may have limitations, costs, quality issues but may be required as part of the stack by the customer or platform
Project Roadmaps
- Projects are defined in roadmaps with phases
- Customer helps plan, support and test each phase
- While phases are sequential, phase activities may overlap
- Phase 0 is customer requirements, plans, analysis, definition
- Phase 1 is environment setup
- Phase 2 is an initial POC or MVP delivery
- Phase 3 is POC, MVP evaluation, plan updates
- Phase 4 is version 1 solution delivery
- Phase 5 is version 1 evaluation, plan updates
- The process repeats as needed through project life cycle
Project Delivery using Scrum
- Scrum is our common project management method
- Requirements are prioritized and organized into releases
- Releases are planned on a product roadmap
- Release features mapped to Sprints
- Release features defined by epics, stories in BDD format
- Manager controls backlog
- Sprints include: plan, deliver, demo, retrospective
- Standups: daily check: done, doing, blockers
- Reporting on demand via JIRA or equivalent toolset
Create BDD Stories as Test Cases
- Stories are normally defined as acceptance test cases in JIRA
- Define an actor and the test case in Gherkin format normally
- BDD ( Behavior-Driven Design ) test methods have lower semantic gaps
- Common Gherkin keywords:
- As X, Given, When, Then, So
- What are the verifications needed in each step of the story?
Title >> When payment received, shipper ships order
As a shipper
Given I have an open order for a customer and available product to complete the order
When payment has been received in full for the order
Then I schedule the order delivery with the carrier
So the order is shipped
and customer can receive the goods they paid for
Create Executable Test Cases from BDD Stories for Solution Definition Validation
groovyconsole
cma1_1.groovy
Expando objects allow dynamic class definitions with attributes, behavior and event handlers for async smart object testing
These tests provide the same interactivity when executed as async REST API event handlers so a solution model can be dynamically tested and validated for behavior before it's coded
//================================== //x2031 groovy smart objects w expando events println "//x2031 ex-expando-events-gen-v1.groovy" println """ ex-expando-events-gen-v1.groovy x111c groovy bound property example - https://blog.mrhaki.com/2009/08/groovy-goodness-bound-and-constrained.html shows the flexibility of event messaging in requirements modeling using bound property event listeners in the example the toyota vehicle has bound properties the owner listens for changes in the toyota properties this model has 2 independent objects, one listening for events on the other in a single Java process for modeling purposes, this simple method can proxy the concept of independent processes linked by event messages jim mason - jmason900@yahoo.com """ import groovy.beans.* class Owner implements PropertyChangeListener { boolean carPriceChange Car aCar String name String toString() { "owner = $this.name and the car is ${aCar.toString()} " } public void propertyChange(PropertyChangeEvent e) { String propertyName = e.getPropertyName(); println "debug>> e = ${e.toString()}" if ("price".equals(propertyName)) { println "\n Event >> Owner $this.name detected car ${e.source.brand} price changed to: ${e.newValue} from: ${e.oldValue} \n\t the car is ${aCar.toString()} \n" } if ("automatic".equals(propertyName)) { println "\n Event >> Owner $this.name detected car ${e.source.brand} automatic transmission type changed to: ${e.newValue} from: ${e.oldValue} \n\t the car is ${aCar.toString()} \n" } } } @Bindable class Car { int numberOfDoors @Vetoable String model @Vetoable String brand @Bindable boolean automatic @Bindable double price String toString() { "[Car details => brand: '${brand}', model: '${model}', #doors: '${numberOfDoors}', automatic: '${automatic}', price: '${price}']" } } import groovy.beans.* import java.beans.* def toyota = new Car(brand: 'Toyota', model: 'Verso', price: 28919, numberOfDoors: 5, automatic: false) toyota.propertyChange = { if (it.propertyName == 'price') { println "The price has changed. Inform sales the new price is '${it.newValue}'." } } toyota.vetoableChange = { PropertyChangeEvent pce -> if (pce.propertyName == "brand") { if (!(pce.newValue in ['Toyota', 'Lexus'])) { throw new PropertyVetoException('New value is not Toyota or Lexus', pce) } } if (pce.propertyName == "model") { if (pce.newValue ==~ /.*\d+.*/) { throw new PropertyVetoException('No numbers in model names allowed.', pce) } } } toyota.price = 30995 assert 30995 == toyota.price toyota.brand = 'Lexus' assert 'Lexus' == toyota.brand try { toyota.brand = 'AUDI' assert false: 'We should not be able to set this value.' } catch (PropertyVetoException e) { assert true println " could not set brand to AUDI. car brand is ${toyota.brand}" } try { toyota.model = 'A5' assert false: 'We should not be able to set this value.' } catch (PropertyVetoException e) { assert true println " could not set model to A5. car model is ${toyota.model}" } def anOwner = new Owner() anOwner.name = "Jim" println anOwner.toString() anOwner.aCar = toyota println "\n car was purchased \n ${ anOwner.toString() } \n " // how to add an propertyChangeListener to an object in groovy toyota.addPropertyChangeListener(anOwner) toyota.automatic = true toyota.price = 44000 toyota.automatic = true // no pce fired because the attribute state is the same
Bug Reporting in Jira
Solution Architecture Method - SAM - Sky Web Team
https://docs.google.com/presentation/d/1vcjWAMM5RJXe3CrZ07qAZNuYNLjiV1aPBamXbzPVbXI/edit?usp=sharing
Potential Value Opportunities
Potential Challenges
Candidate Solutions
Model for Project Tool Usage
substitute gsheets for smart sheet for PM
can use free PM worksheet templates for gsheet or Libre workbook
Free Project Management Template Docs
https://www.projectmanagementdocs.com/
see the reference lists
https://www.atlassian.com/software/confluence/templates/collections/project-management
Free Product Management Templates
https://www.atlassian.com/software/confluence/templates/collections/product-launch
Open source project management software
https://medium.com/issuehunt/5-open-source-project-management-tools-c33a19132ed6
Open Project
OpenProject is a Web based project management solution which was designed using Ruby on Rails and Angular JS. It was released under the GNU General Public License Version 3 and is under consistent development by the open source community.
It is highly suitable for location-independent team collaboration. OpenProject is ideal for project teams to work in throughout the project’s life cycle.
The platform offers various features like collaborative project planning, timeline reports, management of tasks, reporting of project costs incurred from time to time, Scrum and much more.
Features:
-Project planning and scheduling
-Project roadmap and release planning
-Effective task management and team collaboration
-Agile and Scrum integration
-Time tracking, budgeting and reporting of costs
-Bug tracking
OpenProject provides add-on features via cloud linkage especially designed for large scale enterprises.
Url: https://www.openproject.org/
GitHub: https://github.com/opf/openproject
OpenProject EOS pricing feature comparison
https://www.openproject.org/pricing/
OpenProject Dependencies - see install guide
- Runtime: Ruby Version = 2.7.x
- Webserver: Apache or nginx
- Application server: Puma
- Database: PostgreSQL Version >= 13
Libre Project
ProjectLibre is open source, free to use project management software developed by Marc O’ Brien as an alternative to Microsoft Project. It’s used for task management, resource allocation, tracking of tasks, Gantt charts and much more.
ProjectLibre is developed using Java and provides a similar user interface as Microsoft Project.
It includes a ribbon-style menu and the same series of steps to create a project plan, i.e., create an indented task list or ‘work breakdown structure’ (WBS), set durations, create links, assign resources, etc.
Features:
-Compatible with MS Project
-Advanced project management functionality
- collaboration, issue tracking and other features
ProjectLibre will soon support ProjectLibre Cloud, with a similar interface as Google Cloud, which will enable users to manage and create projects anytime and anywhere, in the browser.
Url: www.projectlibre.com
SourceForge: https://sourceforge.net/p/projectlibre/code/ci/master/tree/
ODOO - complete basic business system
ODOO, a comprehensive all-in-one project management software, was designed by Fabien Pinckaers and is packed with a complete suite of enterprise management applications. It is an all-in-one business software, which includes CRM, website/e-commerce, accounting, manufacturing, warehousing, project management, inventory, etc.
The complete source code of ODOO is available on GitHub under AGPLV3. ODOO consists of an application server, which uses PostgreSQL as its backend database with a Web based client. It is written in Python, with a highly modular design, which allows rapid development of new modules through Open Object RAD. In addition, ODOO consists of 30 core modules and 3000+ community modules.
It also provides strong technical support, as well as support for bug fixing and new development, apart from other services.
Features:
- Interactive user interface
- Project tasks
- Enhanced communication features
- Customer services
- Project reporting
- Smart integration
Url: https://www.odoo.com
GitHub: https://github.com/odoo/odoo
Wekan - Kanban tracking
Wekan is free, open source project task management and collaboration software that uses the Kanban approach for simple and fast workflow. With Wekan, project managers can create boards on which cards can be dragged around between columns.
It is very easy to use and has interactive project management software. After the creation of boards, users need to simply add the project team to the project and everything is set to take off.
Wekan is released under the MIT License and is open for modifications and enhancements. It gives users full control over their data and can be hosted on the server. The Wekan community consists of over 400,000 members, which means there is a vibrant community working towards further improvements.
Features
- Enhanced task management with interactive GUI and easy, customisable options.
- Kanban boards that allow a card-based task management.
- Can be easily installed via Docker, Sandstorm, Cloudron, Ubuntu Snap, Source and even Debian packages.
- Open source with interactive timeline. Available as an app for iPhone and Android.
Url: https://wekan.github.io/
GitHub: https://github.com/wekan/wekan
Zentao - project and work management system
ZenTao has been designed by the Agile team for agile based software projects. It is regarded as a complete life cycle management tool and supports Scrum.ZenTao includes the SaaS version, ZenTao Cloud, which enables project managers to keep track of projects, anytime and anywhere.
Features:
- Product management
- Project management
- Quality management
- Document management
- Work management
- Organization management
- Reports
Url: https://zentao.pm
GitHub: https://github.com/easysoft/zentaopms
Jira - Project Mgt Software
Jira server SSL setup
Jira server SSL setup - gdrive
Integrating Jira with Apache using SSL
Integrating JIRA with Apache using SSL - gdrive
This page describes how to integrate Apache HTTP Server (also referred to as httpd
) with JIRA, utilizing mod_proxy & mod_ssl so that Apache operates as a reverse-proxy over HTTPS. If a HTTP configuration is required, please see our Integrating JIRA with Apache documentation. Configuring Apache allows for running JIRA on non-standard HTTP port (such as 8080) and users will be able to access JIRA over standard HTTPS as their traffic will be routed through the proxy and encrypted outside of the network.
- Directly on its own domain: https://atlassian.com/
- As a subdomain of another domain: https://jira.atlassian.com
- It can also be accessed on a context path on either a domain or subdomain: https://atlassian.com/jira
This means the SSL certificate will be managed within Apache and not Tomcat, additionally the connection between Apache and Tomcat will not be encrypted. However, the connection between the browser and the outside network will be encrypted. This is suitable for configurations where the JIRA server is within the same network as the Apache server and is illustrated below:
Client Browser -> HTTPS -> Apache Proxy -> HTTP -> Tomcat (JIRA)
This is a common configuration for networks with multiple SSL certificates and/or web applications as they are all managed in one location (Apache).
If a more complicated solution is required, refer to the Apache HTTP Server Version Documentation, consult with the Apache SME within your organization, and if need be, raise a question on Atlassian Answers, or get in touch with one of our Atlassian Experts.
Expand for an example of a common Apache configuration
Devops - DORA - Effectiveness Metrics by Category
devops-dora-work-metrics-2024-report.pdf. link
Digital Operational Resilience Act (DORA)
A European Union regulation that aims to improve the financial sector's resilience to information and communication technology (ICT) incidents. DORA applies to 21 types of financial organizations, including credit institutions, payment institutions, and investment firms. The act went into effect on January 16, 2023, and will be fully implemented on January 17, 2025.
DORA overview site
https://www.digital-operational-resilience-act.com/
DORA regulation
https://www.digital-operational-resilience-act.com/DORA_Articles.html
Flow metrics - connects delivered value to software development in theory
Teams using DORA or SPACE, or even both, still may find a hole in their efficiency measurement strategy: is the development team actually working on projects that will bring the most value to the business? Traditionally mapping business value onto software development has been difficult to do as neither side speaks the same language, which can easily lead to a lack of shared priorities and understanding. bring the two sides together, ideally with minimal pain and maximum collaboration
4 dimensions ot flow metrics - features, quality, risks, technical debt - see VCRS for BETTER value mapping
- Features are what is being built, and this metric is tied completely to code creation. It is also closely related to business priorities.
- Quality measured by Defects is an umbrella term referring to debugging and of course the time it takes to find and fix problems.
- Risk is the metric that reflects the precarious nature of code development, i.e., it can be at risk of security breaches or not being compliant. And finally
- Debt, sometimes known by the dev term technical debt, is a tip of the hat to flow, as debt stands in the way of forward momentum in software development.
The OG flow metrics from 2018 contained only five metrics – velocity, time, efficiency, load and distribution. But the Scaled Agile Framework (SAFe) has suggested a sixth metric – predictability – and that has become widely accepted as part of the flow metric framework.
The topic distribution below is better named alignment
To more thoroughly measure outputs - consider the 7 V's of data management as potential dimenions for project work load management as well
Create Gantt Chart in Excel or GSheets
How to Make a Gantt Chart In Excel Step-By-Step (Template Included)
Step-by-step guide for Example
sample code block