SlideShare une entreprise Scribd logo
1  sur  28
Télécharger pour lire hors ligne
The BIG PICTUREThe BIG PICTURE
Project Technical DocumentationProject Technical Documentation
GuidelinesGuidelines
www.folio3.com@folio_3
Folio3 – OverviewFolio3 – Overview
www.folio3.com @folio_3
Who We Are
 We are a Development Partner for our customers
 Design software solutions, not just implement them
 Focus on the solution – Platform and technology agnostic
 Expertise in building applications that are:
Mobile Social Cloud-based Gamified
What We Do
 Areas of Focus
 Enterprise
 Custom enterprise applications
 Product development targeting the enterprise
 Mobile
 Custom mobile apps for iOS, Android, Windows Phone, BB OS
 Mobile platform (server-to-server) development
 Social Media
 CMS based websites for consumers and enterprise (corporate, consumer,
community & social networking)
 Social media platform development (enterprise & consumer)
Folio3 At a Glance
 Founded in 2005
 Over 200 full time employees
 Offices in the US, Canada, Bulgaria & Pakistan
 Palo Alto, CA.
 Sofia, Bulgaria
 Karachi, Pakistan
Toronto, Canada
Areas of Focus: Enterprise
 Automating workflows
 Cloud based solutions
 Application integration
 Platform development
 Healthcare
 Mobile Enterprise
 Digital Media
 Supply Chain
Some of Our Enterprise Clients
Areas of Focus: Mobile
 Serious enterprise applications for Banks,
Businesses
 Fun consumer apps for app discovery,
interaction, exercise gamification and play
 Educational apps
 Augmented Reality apps
 Mobile Platforms
Some of Our Mobile Clients
Areas of Focus: Web & Social Media
 Community Sites based on
Content Management Systems
 Enterprise Social Networking
 Social Games for Facebook &
Mobile
 Companion Apps for games
Some of Our Web Clients
www.folio3.com @folio_3
The BIG PICTUREThe BIG PICTURE
Project Technical DocumentationProject Technical Documentation
GuidelinesGuidelines
Quality Issues
 Missing the “big picture”
 No formal guidelines for the functional scope
 Missing tracks on code commits/check-ins
 Others …
Software Documentation
 Documentation is an important part of the software engineering
process.
 Project Specifications/Requirements
Statements that identify attributes, capabilities, characteristics
or qualities of a system. This is the foundation for what shall be or
has been implemented.
 Architecture/Design
Overview of software. Includes relations to the environment
and the construction principles to be used in design of software
components.
Software Documentation (Cont.)
 Technical
Documentation of code, algorithms, interfaces and APIs.
 End User
Manuals for the end-user, system administrators and support staff.
 Marketing
How to market the product and analysis of the market demand
 At Folio3 the focus for developers should be on:
Architecture/Design
Technical documentation
On-the-go documentation inside code & during check-in
Folio3 Initiative
 Developers are responsible for
 Level 0: Source Code Self Documentation:
Comments
 Level 1: Module Functional Scope Documents
 Level 2: Overall Software Architecture Design
 Level 3: Functional Specifications
Level 0: Source Code Self Documentation: Comments
 Code check-in comments - Mandatory
 Defines
 Bugs fixes with Bug ID
 Feature/changes with feature/change story ID
 File level comments - Mandatory
 Defines
 Constituents
 Code distribution license
 Contributor names and timestamp
 Class level comments - Mandatory
 Defines
 Purpose
 Responsibilities
 Dependencies/Requirements
(Cont.)Level 0: Source Code Self Documentation: Comments
 Method level comments - Mandatory
 Defines
 Purpose
 Arguments definition
 Return value definition
 Dependencies/Requirements (where applicable)
 Algorithm level comments - Mandatory
 Defines
 Steps declaration & their brief description
 Branch level comments - Mandatory
 Defines
 Description on the condition that will branch on "if .. then", and on
"else"
(Cont.)Level 0: Source Code Self Documentation: Comments
 Other comments - Optional
 Descriptions for important variables, objects
 Descriptions for essential calls
 API Documentation - Optional
 Auto generated using the IDEs or document creator tool like
doxygen, etc.
Level 1: Module Functional Scope
 Module Brief Functional Specs – Mandatory
 Should not be more than 3-4 pages. Defines:
 Problem/Purpose statement
 The requirements scope [OPTIONAL] - What is required by the customer?
 Functional scope [OPTIONAL] - What is the functionally needed to fulfill the
above requirements?
 Description of module items - Classes, ADTs, Functions, DB/Tables
 UML Diagrams
 Class diagram - Mandatory
 Activity diagram - Optional
 ER Diagram - Mandatory
Level 2: Overall Software Architecture Design
 Overall Software Design Specs - Mandatory
 UML Diagrams
 Overall Class Diagram (Optional) - Can be reverse engineered in
the end
 Use Case diagram (Optional)
 Component Diagram (Optional)
 Package Diagram (Optional)
 Deployment Diagram (Optional)
 Data Flow Diagram (Optional)
 Overall ER Diagram - Mandatory
Level 3: Functional Specifications
 Feature Specifications
 Change Specifications
Folio3 Requirements
 At least up to level 1
 Means
Level 0: Source Code Self Documentation: Comments
Level 1: Module Functional Scope Document
Level 1: Module Class Diagram
Level 1: Module ER Diagram
 In some cases, also the mandatory items from level 2
 Means
Overall software design specs
Overall ER diagram
When to do Documentation?
 Level 0 - Alongside coding / development.
 Comments writing should not be scheduled as a later task.
 They are often forgotten or left behind if scheduled
later.
 Level 1 – At the start of module development
 Should be used as guidelines by the developer.
 Level 2 - Any time in the development life cycle
 Level 3 - Before start of the development
Folio3 Documentation Life Cycle
What tools should be used?
 IDEs
 Can auto generate:
 Class diagrams
 Component diagrams
 MS Visio
 Can be used to create:
 All UML diagrams
 Data flow diagrams
 ER diagrams
 MS Word
 Can be used for:
 Specs and scoping documentations
Enforcement & Monitoring
 Estimators
 MUST include / reserve some hours for documentation (till
Level 1 at least)
 Managers and Tech / Dev Leads
 Must make sure that they have all the required mandatory
documentation
 AG
 Must conduct Periodic (Quarterly) audits for each project
Contact
 For more details about our services, please get in touch
with us.
contact@folio3.com
US Office: (408) 365-4638
www.folio3.com

Contenu connexe

Tendances

Information development-phases
Information development-phasesInformation development-phases
Information development-phasesNasran Syahiran
 
Effective Team Work Model
Effective Team Work ModelEffective Team Work Model
Effective Team Work ModelAngelin R
 
Igor Filatov SQA Resume
Igor Filatov SQA  ResumeIgor Filatov SQA  Resume
Igor Filatov SQA ResumeIgor Filatov
 
V model software engineering
V model software engineeringV model software engineering
V model software engineeringAsif kanju
 
Igor filatov sqa resume
Igor filatov sqa  resumeIgor filatov sqa  resume
Igor filatov sqa resumeIgor Filatov
 
CSC1100 - Chapter11 - Programming Languages and Program Development
CSC1100 - Chapter11 - Programming Languages and Program DevelopmentCSC1100 - Chapter11 - Programming Languages and Program Development
CSC1100 - Chapter11 - Programming Languages and Program DevelopmentYhal Htet Aung
 
Programming tools for developers
Programming tools for developersProgramming tools for developers
Programming tools for developersBBVA API Market
 
SAP ABAP Online Training Institute in Hyderabad - C-Point
SAP ABAP Online Training Institute in Hyderabad - C-PointSAP ABAP Online Training Institute in Hyderabad - C-Point
SAP ABAP Online Training Institute in Hyderabad - C-Pointcpointss
 
Li Yufeng Resume
Li Yufeng ResumeLi Yufeng Resume
Li Yufeng ResumeLi Yufeng
 
V model Over view (Software Engineering)
V model Over view (Software Engineering)V model Over view (Software Engineering)
V model Over view (Software Engineering)Badar Rameez. CH.
 
Raymond_Matel_Software_Engineer
Raymond_Matel_Software_EngineerRaymond_Matel_Software_Engineer
Raymond_Matel_Software_EngineerRaymond Matel
 
Utsha guha cocoa:swift-exp5.9yr
Utsha guha cocoa:swift-exp5.9yrUtsha guha cocoa:swift-exp5.9yr
Utsha guha cocoa:swift-exp5.9yrUtsha Guha
 
Importing with ease july 2012
Importing with ease july 2012Importing with ease july 2012
Importing with ease july 2012IBM Rational
 
EUSummaryCV-QAEngineer-MaximVasilchuk
EUSummaryCV-QAEngineer-MaximVasilchukEUSummaryCV-QAEngineer-MaximVasilchuk
EUSummaryCV-QAEngineer-MaximVasilchukMax Vasilchuk
 
EASY SOFTWARE DEVELOPMENT BY AUTOMATIC CODE GENERATION, BUSINESS LOGIC AND VA...
EASY SOFTWARE DEVELOPMENT BY AUTOMATIC CODE GENERATION, BUSINESS LOGIC AND VA...EASY SOFTWARE DEVELOPMENT BY AUTOMATIC CODE GENERATION, BUSINESS LOGIC AND VA...
EASY SOFTWARE DEVELOPMENT BY AUTOMATIC CODE GENERATION, BUSINESS LOGIC AND VA...ijiert bestjournal
 

Tendances (20)

Information development-phases
Information development-phasesInformation development-phases
Information development-phases
 
Effective Team Work Model
Effective Team Work ModelEffective Team Work Model
Effective Team Work Model
 
V model
V modelV model
V model
 
Igor Filatov SQA Resume
Igor Filatov SQA  ResumeIgor Filatov SQA  Resume
Igor Filatov SQA Resume
 
V model software engineering
V model software engineeringV model software engineering
V model software engineering
 
WebML for OMG
WebML for OMGWebML for OMG
WebML for OMG
 
Igor filatov sqa resume
Igor filatov sqa  resumeIgor filatov sqa  resume
Igor filatov sqa resume
 
CSC1100 - Chapter11 - Programming Languages and Program Development
CSC1100 - Chapter11 - Programming Languages and Program DevelopmentCSC1100 - Chapter11 - Programming Languages and Program Development
CSC1100 - Chapter11 - Programming Languages and Program Development
 
Hotel management
Hotel managementHotel management
Hotel management
 
Programming tools for developers
Programming tools for developersProgramming tools for developers
Programming tools for developers
 
SAP ABAP Online Training Institute in Hyderabad - C-Point
SAP ABAP Online Training Institute in Hyderabad - C-PointSAP ABAP Online Training Institute in Hyderabad - C-Point
SAP ABAP Online Training Institute in Hyderabad - C-Point
 
Li Yufeng Resume
Li Yufeng ResumeLi Yufeng Resume
Li Yufeng Resume
 
V model Over view (Software Engineering)
V model Over view (Software Engineering)V model Over view (Software Engineering)
V model Over view (Software Engineering)
 
Pratyush_Resume_2015
Pratyush_Resume_2015Pratyush_Resume_2015
Pratyush_Resume_2015
 
Raymond_Matel_Software_Engineer
Raymond_Matel_Software_EngineerRaymond_Matel_Software_Engineer
Raymond_Matel_Software_Engineer
 
Utsha guha cocoa:swift-exp5.9yr
Utsha guha cocoa:swift-exp5.9yrUtsha guha cocoa:swift-exp5.9yr
Utsha guha cocoa:swift-exp5.9yr
 
Importing with ease july 2012
Importing with ease july 2012Importing with ease july 2012
Importing with ease july 2012
 
AbdulHussainGOS
AbdulHussainGOSAbdulHussainGOS
AbdulHussainGOS
 
EUSummaryCV-QAEngineer-MaximVasilchuk
EUSummaryCV-QAEngineer-MaximVasilchukEUSummaryCV-QAEngineer-MaximVasilchuk
EUSummaryCV-QAEngineer-MaximVasilchuk
 
EASY SOFTWARE DEVELOPMENT BY AUTOMATIC CODE GENERATION, BUSINESS LOGIC AND VA...
EASY SOFTWARE DEVELOPMENT BY AUTOMATIC CODE GENERATION, BUSINESS LOGIC AND VA...EASY SOFTWARE DEVELOPMENT BY AUTOMATIC CODE GENERATION, BUSINESS LOGIC AND VA...
EASY SOFTWARE DEVELOPMENT BY AUTOMATIC CODE GENERATION, BUSINESS LOGIC AND VA...
 

En vedette

All You Need to Know About Type Script
All You Need to Know About Type ScriptAll You Need to Know About Type Script
All You Need to Know About Type ScriptFolio3 Software
 
Folio3 - An Introduction to PHP Yii
Folio3 - An Introduction to PHP YiiFolio3 - An Introduction to PHP Yii
Folio3 - An Introduction to PHP YiiFolio3 Software
 
The Big Picture presenteert: het Uur van de waarde
The Big Picture presenteert: het Uur van de waardeThe Big Picture presenteert: het Uur van de waarde
The Big Picture presenteert: het Uur van de waardeThe Big Picture
 
The Big Picture, November 2015: 10 Marketing Trends for 2016
The Big Picture, November 2015: 10 Marketing Trends for 2016The Big Picture, November 2015: 10 Marketing Trends for 2016
The Big Picture, November 2015: 10 Marketing Trends for 2016LEWIS
 
Customer Journey Mapping: Illustrating the Big Picture
Customer Journey Mapping: Illustrating the Big PictureCustomer Journey Mapping: Illustrating the Big Picture
Customer Journey Mapping: Illustrating the Big PictureMegan Grocki
 

En vedette (7)

All You Need to Know About Type Script
All You Need to Know About Type ScriptAll You Need to Know About Type Script
All You Need to Know About Type Script
 
Folio3 - An Introduction to PHP Yii
Folio3 - An Introduction to PHP YiiFolio3 - An Introduction to PHP Yii
Folio3 - An Introduction to PHP Yii
 
The Big Picture presenteert: het Uur van de waarde
The Big Picture presenteert: het Uur van de waardeThe Big Picture presenteert: het Uur van de waarde
The Big Picture presenteert: het Uur van de waarde
 
The Big Picture, November 2015: 10 Marketing Trends for 2016
The Big Picture, November 2015: 10 Marketing Trends for 2016The Big Picture, November 2015: 10 Marketing Trends for 2016
The Big Picture, November 2015: 10 Marketing Trends for 2016
 
Bb big picture
Bb big pictureBb big picture
Bb big picture
 
Blackbarrys
BlackbarrysBlackbarrys
Blackbarrys
 
Customer Journey Mapping: Illustrating the Big Picture
Customer Journey Mapping: Illustrating the Big PictureCustomer Journey Mapping: Illustrating the Big Picture
Customer Journey Mapping: Illustrating the Big Picture
 

Similaire à Folio3 Technical Documentation Guidelines

Appalanaidu_4.4 Years Exp in DotNet Technology
Appalanaidu_4.4 Years Exp in DotNet TechnologyAppalanaidu_4.4 Years Exp in DotNet Technology
Appalanaidu_4.4 Years Exp in DotNet TechnologyAPPALANAIDU KONDALA
 
SOFTWARE DEVELOPMENT AND PROCESS MODELS.pptx
SOFTWARE DEVELOPMENT AND PROCESS MODELS.pptxSOFTWARE DEVELOPMENT AND PROCESS MODELS.pptx
SOFTWARE DEVELOPMENT AND PROCESS MODELS.pptxSanthanalakshmiSelva2
 
IRJET- Research Study on Testing Mantle in SDLC
IRJET- Research Study on Testing Mantle in SDLCIRJET- Research Study on Testing Mantle in SDLC
IRJET- Research Study on Testing Mantle in SDLCIRJET Journal
 
ERP solution architect role, part I
ERP solution architect role, part IERP solution architect role, part I
ERP solution architect role, part IViacheslav Nefedov
 
Software_Documentation_Trade-D
Software_Documentation_Trade-DSoftware_Documentation_Trade-D
Software_Documentation_Trade-DKu Amirul
 
Testing material (1).docx
Testing material (1).docxTesting material (1).docx
Testing material (1).docxKVamshiKrishna5
 
How to Decide Technology Stack for Your Next Software Development Project?
How to Decide Technology Stack for Your Next Software Development Project?How to Decide Technology Stack for Your Next Software Development Project?
How to Decide Technology Stack for Your Next Software Development Project?Polyxer Systems
 
Mobile iOS Application Architectures
Mobile iOS Application ArchitecturesMobile iOS Application Architectures
Mobile iOS Application ArchitecturesArpit Kulsreshtha
 
How to Hire Flutter Developers in India Quick Guide.pdf
How to Hire Flutter Developers in India Quick Guide.pdfHow to Hire Flutter Developers in India Quick Guide.pdf
How to Hire Flutter Developers in India Quick Guide.pdfchristiemarie4
 
Lecture 5 defining the system
Lecture 5 defining the systemLecture 5 defining the system
Lecture 5 defining the systemShahid Riaz
 
Work of art practices in software development.
Work of art practices in software development. Work of art practices in software development.
Work of art practices in software development. Communication Progress
 
Software Engineering PPT Unit I.pptx
Software Engineering PPT Unit I.pptxSoftware Engineering PPT Unit I.pptx
Software Engineering PPT Unit I.pptxomgadekar25
 
Oose unit 1 ppt
Oose unit 1 pptOose unit 1 ppt
Oose unit 1 pptDr VISU P
 
Softwareenggineering lab manual
Softwareenggineering lab manualSoftwareenggineering lab manual
Softwareenggineering lab manualVivek Kumar Sinha
 

Similaire à Folio3 Technical Documentation Guidelines (20)

SDLC
SDLCSDLC
SDLC
 
Nishit Naik
Nishit NaikNishit Naik
Nishit Naik
 
MOM on BA
MOM on BAMOM on BA
MOM on BA
 
Appalanaidu_4.4 Years Exp in DotNet Technology
Appalanaidu_4.4 Years Exp in DotNet TechnologyAppalanaidu_4.4 Years Exp in DotNet Technology
Appalanaidu_4.4 Years Exp in DotNet Technology
 
SOFTWARE DEVELOPMENT AND PROCESS MODELS.pptx
SOFTWARE DEVELOPMENT AND PROCESS MODELS.pptxSOFTWARE DEVELOPMENT AND PROCESS MODELS.pptx
SOFTWARE DEVELOPMENT AND PROCESS MODELS.pptx
 
Sharanabasappa_Resume
Sharanabasappa_Resume Sharanabasappa_Resume
Sharanabasappa_Resume
 
IRJET- Research Study on Testing Mantle in SDLC
IRJET- Research Study on Testing Mantle in SDLCIRJET- Research Study on Testing Mantle in SDLC
IRJET- Research Study on Testing Mantle in SDLC
 
ERP solution architect role, part I
ERP solution architect role, part IERP solution architect role, part I
ERP solution architect role, part I
 
Software_Documentation_Trade-D
Software_Documentation_Trade-DSoftware_Documentation_Trade-D
Software_Documentation_Trade-D
 
Testing material (1).docx
Testing material (1).docxTesting material (1).docx
Testing material (1).docx
 
How to Decide Technology Stack for Your Next Software Development Project?
How to Decide Technology Stack for Your Next Software Development Project?How to Decide Technology Stack for Your Next Software Development Project?
How to Decide Technology Stack for Your Next Software Development Project?
 
Mobile iOS Application Architectures
Mobile iOS Application ArchitecturesMobile iOS Application Architectures
Mobile iOS Application Architectures
 
Session3
Session3Session3
Session3
 
How to Hire Flutter Developers in India Quick Guide.pdf
How to Hire Flutter Developers in India Quick Guide.pdfHow to Hire Flutter Developers in India Quick Guide.pdf
How to Hire Flutter Developers in India Quick Guide.pdf
 
Lecture 5 defining the system
Lecture 5 defining the systemLecture 5 defining the system
Lecture 5 defining the system
 
Work of art practices in software development.
Work of art practices in software development. Work of art practices in software development.
Work of art practices in software development.
 
Software Engineering PPT Unit I.pptx
Software Engineering PPT Unit I.pptxSoftware Engineering PPT Unit I.pptx
Software Engineering PPT Unit I.pptx
 
new final CV
new final CVnew final CV
new final CV
 
Oose unit 1 ppt
Oose unit 1 pptOose unit 1 ppt
Oose unit 1 ppt
 
Softwareenggineering lab manual
Softwareenggineering lab manualSoftwareenggineering lab manual
Softwareenggineering lab manual
 

Plus de Folio3 Software

Shopify & Shopify Plus Ecommerce Development Experts
Shopify & Shopify Plus Ecommerce Development Experts Shopify & Shopify Plus Ecommerce Development Experts
Shopify & Shopify Plus Ecommerce Development Experts Folio3 Software
 
Magento and Magento 2 Ecommerce Development
Magento and Magento 2 Ecommerce Development Magento and Magento 2 Ecommerce Development
Magento and Magento 2 Ecommerce Development Folio3 Software
 
A Guideline to Test Your Own Code - Developer Testing
A Guideline to Test Your Own Code - Developer TestingA Guideline to Test Your Own Code - Developer Testing
A Guideline to Test Your Own Code - Developer TestingFolio3 Software
 
OWIN (Open Web Interface for .NET)
OWIN (Open Web Interface for .NET)OWIN (Open Web Interface for .NET)
OWIN (Open Web Interface for .NET)Folio3 Software
 
An Introduction to CSS Preprocessors (SASS & LESS)
An Introduction to CSS Preprocessors (SASS & LESS)An Introduction to CSS Preprocessors (SASS & LESS)
An Introduction to CSS Preprocessors (SASS & LESS)Folio3 Software
 
Introduction to SharePoint 2013
Introduction to SharePoint 2013Introduction to SharePoint 2013
Introduction to SharePoint 2013Folio3 Software
 
An Overview of Blackberry 10
An Overview of Blackberry 10An Overview of Blackberry 10
An Overview of Blackberry 10Folio3 Software
 
StackOverflow Architectural Overview
StackOverflow Architectural OverviewStackOverflow Architectural Overview
StackOverflow Architectural OverviewFolio3 Software
 
Enterprise Mobility - An Introduction
Enterprise Mobility - An IntroductionEnterprise Mobility - An Introduction
Enterprise Mobility - An IntroductionFolio3 Software
 
Distributed and Fault Tolerant Realtime Computation with Apache Storm, Apache...
Distributed and Fault Tolerant Realtime Computation with Apache Storm, Apache...Distributed and Fault Tolerant Realtime Computation with Apache Storm, Apache...
Distributed and Fault Tolerant Realtime Computation with Apache Storm, Apache...Folio3 Software
 
Introduction to Enterprise Service Bus
Introduction to Enterprise Service BusIntroduction to Enterprise Service Bus
Introduction to Enterprise Service BusFolio3 Software
 
NOSQL Database: Apache Cassandra
NOSQL Database: Apache CassandraNOSQL Database: Apache Cassandra
NOSQL Database: Apache CassandraFolio3 Software
 
Regular Expression in Action
Regular Expression in ActionRegular Expression in Action
Regular Expression in ActionFolio3 Software
 
HTTP Server Push Techniques
HTTP Server Push TechniquesHTTP Server Push Techniques
HTTP Server Push TechniquesFolio3 Software
 
Best Practices of Software Development
Best Practices of Software DevelopmentBest Practices of Software Development
Best Practices of Software DevelopmentFolio3 Software
 
Offline Data Access in Enterprise Mobility
Offline Data Access in Enterprise MobilityOffline Data Access in Enterprise Mobility
Offline Data Access in Enterprise MobilityFolio3 Software
 
Realtime and Synchronous Applications
Realtime and Synchronous ApplicationsRealtime and Synchronous Applications
Realtime and Synchronous ApplicationsFolio3 Software
 
Web Performance & Scalability Tools
Web Performance & Scalability ToolsWeb Performance & Scalability Tools
Web Performance & Scalability ToolsFolio3 Software
 

Plus de Folio3 Software (20)

Shopify & Shopify Plus Ecommerce Development Experts
Shopify & Shopify Plus Ecommerce Development Experts Shopify & Shopify Plus Ecommerce Development Experts
Shopify & Shopify Plus Ecommerce Development Experts
 
Magento and Magento 2 Ecommerce Development
Magento and Magento 2 Ecommerce Development Magento and Magento 2 Ecommerce Development
Magento and Magento 2 Ecommerce Development
 
A Guideline to Test Your Own Code - Developer Testing
A Guideline to Test Your Own Code - Developer TestingA Guideline to Test Your Own Code - Developer Testing
A Guideline to Test Your Own Code - Developer Testing
 
OWIN (Open Web Interface for .NET)
OWIN (Open Web Interface for .NET)OWIN (Open Web Interface for .NET)
OWIN (Open Web Interface for .NET)
 
Introduction to Go-Lang
Introduction to Go-LangIntroduction to Go-Lang
Introduction to Go-Lang
 
An Introduction to CSS Preprocessors (SASS & LESS)
An Introduction to CSS Preprocessors (SASS & LESS)An Introduction to CSS Preprocessors (SASS & LESS)
An Introduction to CSS Preprocessors (SASS & LESS)
 
Introduction to SharePoint 2013
Introduction to SharePoint 2013Introduction to SharePoint 2013
Introduction to SharePoint 2013
 
An Overview of Blackberry 10
An Overview of Blackberry 10An Overview of Blackberry 10
An Overview of Blackberry 10
 
StackOverflow Architectural Overview
StackOverflow Architectural OverviewStackOverflow Architectural Overview
StackOverflow Architectural Overview
 
Enterprise Mobility - An Introduction
Enterprise Mobility - An IntroductionEnterprise Mobility - An Introduction
Enterprise Mobility - An Introduction
 
Distributed and Fault Tolerant Realtime Computation with Apache Storm, Apache...
Distributed and Fault Tolerant Realtime Computation with Apache Storm, Apache...Distributed and Fault Tolerant Realtime Computation with Apache Storm, Apache...
Distributed and Fault Tolerant Realtime Computation with Apache Storm, Apache...
 
Introduction to Docker
Introduction to DockerIntroduction to Docker
Introduction to Docker
 
Introduction to Enterprise Service Bus
Introduction to Enterprise Service BusIntroduction to Enterprise Service Bus
Introduction to Enterprise Service Bus
 
NOSQL Database: Apache Cassandra
NOSQL Database: Apache CassandraNOSQL Database: Apache Cassandra
NOSQL Database: Apache Cassandra
 
Regular Expression in Action
Regular Expression in ActionRegular Expression in Action
Regular Expression in Action
 
HTTP Server Push Techniques
HTTP Server Push TechniquesHTTP Server Push Techniques
HTTP Server Push Techniques
 
Best Practices of Software Development
Best Practices of Software DevelopmentBest Practices of Software Development
Best Practices of Software Development
 
Offline Data Access in Enterprise Mobility
Offline Data Access in Enterprise MobilityOffline Data Access in Enterprise Mobility
Offline Data Access in Enterprise Mobility
 
Realtime and Synchronous Applications
Realtime and Synchronous ApplicationsRealtime and Synchronous Applications
Realtime and Synchronous Applications
 
Web Performance & Scalability Tools
Web Performance & Scalability ToolsWeb Performance & Scalability Tools
Web Performance & Scalability Tools
 

Dernier

2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch TuesdayIvanti
 
QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesQCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesBernd Ruecker
 
Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024TopCSSGallery
 
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security ObservabilityGlenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observabilityitnewsafrica
 
React JS; all concepts. Contains React Features, JSX, functional & Class comp...
React JS; all concepts. Contains React Features, JSX, functional & Class comp...React JS; all concepts. Contains React Features, JSX, functional & Class comp...
React JS; all concepts. Contains React Features, JSX, functional & Class comp...Karmanjay Verma
 
Accelerating Enterprise Software Engineering with Platformless
Accelerating Enterprise Software Engineering with PlatformlessAccelerating Enterprise Software Engineering with Platformless
Accelerating Enterprise Software Engineering with PlatformlessWSO2
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Farhan Tariq
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Hiroshi SHIBATA
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part two: Dat...
Microsoft 365 Copilot: How to boost your productivity with AI – Part two: Dat...Microsoft 365 Copilot: How to boost your productivity with AI – Part two: Dat...
Microsoft 365 Copilot: How to boost your productivity with AI – Part two: Dat...Nikki Chapple
 
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...itnewsafrica
 
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical InfrastructureVarsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructureitnewsafrica
 
Digital Tools & AI in Career Development
Digital Tools & AI in Career DevelopmentDigital Tools & AI in Career Development
Digital Tools & AI in Career DevelopmentMahmoud Rabie
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...panagenda
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPathCommunity
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Nikki Chapple
 
Microservices, Docker deploy and Microservices source code in C#
Microservices, Docker deploy and Microservices source code in C#Microservices, Docker deploy and Microservices source code in C#
Microservices, Docker deploy and Microservices source code in C#Karmanjay Verma
 
Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...itnewsafrica
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...Wes McKinney
 
Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Kaya Weers
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 

Dernier (20)

2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch Tuesday
 
QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesQCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architectures
 
Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024
 
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security ObservabilityGlenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
 
React JS; all concepts. Contains React Features, JSX, functional & Class comp...
React JS; all concepts. Contains React Features, JSX, functional & Class comp...React JS; all concepts. Contains React Features, JSX, functional & Class comp...
React JS; all concepts. Contains React Features, JSX, functional & Class comp...
 
Accelerating Enterprise Software Engineering with Platformless
Accelerating Enterprise Software Engineering with PlatformlessAccelerating Enterprise Software Engineering with Platformless
Accelerating Enterprise Software Engineering with Platformless
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part two: Dat...
Microsoft 365 Copilot: How to boost your productivity with AI – Part two: Dat...Microsoft 365 Copilot: How to boost your productivity with AI – Part two: Dat...
Microsoft 365 Copilot: How to boost your productivity with AI – Part two: Dat...
 
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
 
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical InfrastructureVarsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
 
Digital Tools & AI in Career Development
Digital Tools & AI in Career DevelopmentDigital Tools & AI in Career Development
Digital Tools & AI in Career Development
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
 
Microservices, Docker deploy and Microservices source code in C#
Microservices, Docker deploy and Microservices source code in C#Microservices, Docker deploy and Microservices source code in C#
Microservices, Docker deploy and Microservices source code in C#
 
Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
 
Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 

Folio3 Technical Documentation Guidelines

  • 1. The BIG PICTUREThe BIG PICTURE Project Technical DocumentationProject Technical Documentation GuidelinesGuidelines www.folio3.com@folio_3
  • 2. Folio3 – OverviewFolio3 – Overview www.folio3.com @folio_3
  • 3. Who We Are  We are a Development Partner for our customers  Design software solutions, not just implement them  Focus on the solution – Platform and technology agnostic  Expertise in building applications that are: Mobile Social Cloud-based Gamified
  • 4. What We Do  Areas of Focus  Enterprise  Custom enterprise applications  Product development targeting the enterprise  Mobile  Custom mobile apps for iOS, Android, Windows Phone, BB OS  Mobile platform (server-to-server) development  Social Media  CMS based websites for consumers and enterprise (corporate, consumer, community & social networking)  Social media platform development (enterprise & consumer)
  • 5. Folio3 At a Glance  Founded in 2005  Over 200 full time employees  Offices in the US, Canada, Bulgaria & Pakistan  Palo Alto, CA.  Sofia, Bulgaria  Karachi, Pakistan Toronto, Canada
  • 6. Areas of Focus: Enterprise  Automating workflows  Cloud based solutions  Application integration  Platform development  Healthcare  Mobile Enterprise  Digital Media  Supply Chain
  • 7. Some of Our Enterprise Clients
  • 8. Areas of Focus: Mobile  Serious enterprise applications for Banks, Businesses  Fun consumer apps for app discovery, interaction, exercise gamification and play  Educational apps  Augmented Reality apps  Mobile Platforms
  • 9. Some of Our Mobile Clients
  • 10. Areas of Focus: Web & Social Media  Community Sites based on Content Management Systems  Enterprise Social Networking  Social Games for Facebook & Mobile  Companion Apps for games
  • 11. Some of Our Web Clients
  • 12. www.folio3.com @folio_3 The BIG PICTUREThe BIG PICTURE Project Technical DocumentationProject Technical Documentation GuidelinesGuidelines
  • 13. Quality Issues  Missing the “big picture”  No formal guidelines for the functional scope  Missing tracks on code commits/check-ins  Others …
  • 14. Software Documentation  Documentation is an important part of the software engineering process.  Project Specifications/Requirements Statements that identify attributes, capabilities, characteristics or qualities of a system. This is the foundation for what shall be or has been implemented.  Architecture/Design Overview of software. Includes relations to the environment and the construction principles to be used in design of software components.
  • 15. Software Documentation (Cont.)  Technical Documentation of code, algorithms, interfaces and APIs.  End User Manuals for the end-user, system administrators and support staff.  Marketing How to market the product and analysis of the market demand  At Folio3 the focus for developers should be on: Architecture/Design Technical documentation On-the-go documentation inside code & during check-in
  • 16. Folio3 Initiative  Developers are responsible for  Level 0: Source Code Self Documentation: Comments  Level 1: Module Functional Scope Documents  Level 2: Overall Software Architecture Design  Level 3: Functional Specifications
  • 17. Level 0: Source Code Self Documentation: Comments  Code check-in comments - Mandatory  Defines  Bugs fixes with Bug ID  Feature/changes with feature/change story ID  File level comments - Mandatory  Defines  Constituents  Code distribution license  Contributor names and timestamp  Class level comments - Mandatory  Defines  Purpose  Responsibilities  Dependencies/Requirements
  • 18. (Cont.)Level 0: Source Code Self Documentation: Comments  Method level comments - Mandatory  Defines  Purpose  Arguments definition  Return value definition  Dependencies/Requirements (where applicable)  Algorithm level comments - Mandatory  Defines  Steps declaration & their brief description  Branch level comments - Mandatory  Defines  Description on the condition that will branch on "if .. then", and on "else"
  • 19. (Cont.)Level 0: Source Code Self Documentation: Comments  Other comments - Optional  Descriptions for important variables, objects  Descriptions for essential calls  API Documentation - Optional  Auto generated using the IDEs or document creator tool like doxygen, etc.
  • 20. Level 1: Module Functional Scope  Module Brief Functional Specs – Mandatory  Should not be more than 3-4 pages. Defines:  Problem/Purpose statement  The requirements scope [OPTIONAL] - What is required by the customer?  Functional scope [OPTIONAL] - What is the functionally needed to fulfill the above requirements?  Description of module items - Classes, ADTs, Functions, DB/Tables  UML Diagrams  Class diagram - Mandatory  Activity diagram - Optional  ER Diagram - Mandatory
  • 21. Level 2: Overall Software Architecture Design  Overall Software Design Specs - Mandatory  UML Diagrams  Overall Class Diagram (Optional) - Can be reverse engineered in the end  Use Case diagram (Optional)  Component Diagram (Optional)  Package Diagram (Optional)  Deployment Diagram (Optional)  Data Flow Diagram (Optional)  Overall ER Diagram - Mandatory
  • 22. Level 3: Functional Specifications  Feature Specifications  Change Specifications
  • 23. Folio3 Requirements  At least up to level 1  Means Level 0: Source Code Self Documentation: Comments Level 1: Module Functional Scope Document Level 1: Module Class Diagram Level 1: Module ER Diagram  In some cases, also the mandatory items from level 2  Means Overall software design specs Overall ER diagram
  • 24. When to do Documentation?  Level 0 - Alongside coding / development.  Comments writing should not be scheduled as a later task.  They are often forgotten or left behind if scheduled later.  Level 1 – At the start of module development  Should be used as guidelines by the developer.  Level 2 - Any time in the development life cycle  Level 3 - Before start of the development
  • 26. What tools should be used?  IDEs  Can auto generate:  Class diagrams  Component diagrams  MS Visio  Can be used to create:  All UML diagrams  Data flow diagrams  ER diagrams  MS Word  Can be used for:  Specs and scoping documentations
  • 27. Enforcement & Monitoring  Estimators  MUST include / reserve some hours for documentation (till Level 1 at least)  Managers and Tech / Dev Leads  Must make sure that they have all the required mandatory documentation  AG  Must conduct Periodic (Quarterly) audits for each project
  • 28. Contact  For more details about our services, please get in touch with us. contact@folio3.com US Office: (408) 365-4638 www.folio3.com