SlideShare una empresa de Scribd logo
1 de 4
Descargar para leer sin conexión
Documentation in programming

The Independence Day began in the most thought provoking way for the members of
Kolkata IT Professionals group. Yet another pertinent issue was raised by Aninda Das,
which most of the programmers often overlook – not intentionally, but due to huge
work pressure, lesser time at hand and crisis of resource.

‚What is the importance of documentation in programming? I know many developers;
start-ups/SMEs skip this process. May be they do not have the bandwidth or the client
does not emphasize much on it. BUT the documentation is critical. Let us discuss the
relevance of documentation. After all ‚Ink is better than the best memory‛ – Chinese
proverb‛, is what Aninda posted to stimulate the IT professionals to share their views,
experience and knowledge.

Quoting from a blog that Bibhas follows he said, ‚No matter how wonderful your
library is and how intelligent its design, if you're the only one who understands it, it
doesn't do any good‛.

Ulhas sharing his thoughts said, ‚Documentation is required big time in programming
for the developers themselves as we go on coding and at times we are not able to
recognize what we coded if the code gets a bit older‛. He also added that he follows a
certain methodology of documentation, which he himself created. ‚I do try to make the
documentations as in comments in the scripts itself‛. The biggest problem faced by
most of the programmers is time crunch to meet the deadlines. Ulhas cited added a
practical scenario which can’t be looked down up on. ‚The clients comes to the context
they are hardly interested in the documentations for the programming instead they
want the documentation for "HOW TO USE THE FINAL PRODUCT?" as in training
themselves as well as their employees‛.

Prashant feels that every standard software development processes must follow
documentation. He also mentioned, ‚The output of many phases of software
development is often a document‛. A few examples of which can be Implementation
Plan, SRS/FRD, Design Document, Test Plan and Test Cases, and End User
Documentation. Sharing some further insights to program documentation he added,
‚Fellow coders who require to understand the code for maintenance/enhancement,
plug-in developers who require API documentation. Programmers themselves often
require design documents. There are automated tools like Doxygen which make
documentation easy and not too much of a strain on programmers. But a certain
discipline in the software development process is needed, otherwise programmers tend
to ignore this critical aspect‛.
Arjun not agreeing completely to this process feels, ‚there are different paradigm when
it's comes to developer/spec documentation which does not insist on traditional
documentation‛. Scrum/Agile/Lean can be some perfect examples of the same which
puts more emphasis ‚on the concept of "code-as-comment" and spec documentation via
RSpec/Cucumber StoryBoard scenarios which acts as user-acceptance documentation as
well as executable spec code!‛ documentation is different for developers, PM/Delivery
Managers, Testing Groups, Marketing/Clients, and users. ‚But all these are essential
types of documents which are to be created in different ways as target is different and
so is its use and requirement! This has to be clearly understood!‛ he concluded.

Better codes for Rishav is better documentation. ‚I reject commits from my developers if
the code is not self explanatory. Writing tests is an awesome way of having
documentation. We do the tests thing all the time. Simple example – there are better
ways of hard-coding regular expressions into your code. Regexes are self explanatory.
Use a method instead simple and easy to read. As far as other types of documentation
are concerned architecture diagrams, spec docs and bug trackers are necessary‛. The
programmers need to document every feature in as much detail as possible.

Anupam harped up on the importance of documentation. He stated, ‚Documentation is
where your works starts. After that comes the very important part - the data flow
diagram and the database structure!!! As we all know programming is all about the
flow of data! Then comes the UI wire frames. Finally what I think we should create
another final doc. with everything put into right place before getting into code!‛

The waterfall model of documentation, Arjun added, is slowly getting abandoned. ‚The
days of bulky SRS or class diagram or HLD or LLD are going away fast!‛ He further
suggested to gather knowledge on, ‚’Agile’ especially ‘Scrum methodology’, ‘Lean
methodology’ & ‘Kanban’.

According to Priyankar, ‚Coding without documentation is like getting married in the
temple without getting it registered‛.

Mukesh further shared his personal reasons for which he follows documentation. With
three very practical yet simple examples he explained this further: ‚1. Collaborative
development -- there is always a need for X to help Y debug his/her code.
2. Maintenance -- you have written the smartest of code and you are done with
development. You move to a new project, someone else wants to change a small piece
of code. If there is no documentation, a 5 min change could easily take 5 hours.
3. What if you get hit by a bus? You were in the middle of solving one of the most
complex problems, you went out to bring food, got hit by a bus. You had solved 80% of
the problem but now the new guy has to start afresh.‛

Debashis stated the obvious need for documentation. ‚Each time a particular section of
code is updated, documentation for the same is imperative. It helps in rollbacks if
necessary‛.

Documentation is important for others to understand your code. To make your code re-
usable you must document it thoroughly. ‚Gone are the days when one coded with the
intention to just make the product work, now if 40% effort goes to the actual coding
then the remaining must go on making it re-usable and well documented for future
use‛, said Rabimba.

Arun, who said is a ‚fan of quick references rather than elaborate notes‛ also added,
‚We need documentation on all the aspects of the software, pre-sales and post-sales‛.

To make a developer’s life easy Mukesh suggested, ‚Clean readable codes, good use of
variable names, and code refactoring‛.

The takeaways from the discussion are huge. Through the experience shared by several
industry experts gave us some key factors of ‚What is the importance of documentation
in programming‛:
1. The phases of software development documentation are: Implementation Plan,
      SRS/FRD, Design Document, Test Plan and Test Cases, and End User
      Documentation

   2. To recognize what we coded, if the code gets a bit older

   3. Documentation is necessary for, Programmers themselves often require design
      documents.

   4. Automated tools like Doxygen make documentation easy

   5. Scrum/Agile/Lean are different paradigm of developer/spec documentation

   6. For user-acceptance documentation as well as executable spec code spec
      documentation via RSpec/Cucumber StoryBoard scenarios can be followed

   7. Documentation makes your code simple and easy to read

   8. Learning ’Agile’ especially ‘Scrum methodology’, ‘Lean methodology’ &
      ‘Kanban’ are important for documentation these days

   9. Documentation offers immense support for maintenance

   10. Documentation is important for others to understand your code



Post Submitted by: Sumana Chakraborty, Creative Writer & Blogger

      Connect with us: Facebook: http://www.facebook.com/ITniketan , Twitter: @ITNiketan

Más contenido relacionado

La actualidad más candente

Architectural Professional Practice - Construction Documents
Architectural Professional Practice - Construction DocumentsArchitectural Professional Practice - Construction Documents
Architectural Professional Practice - Construction DocumentsGalala University
 
Metadata: a library perspective
Metadata: a library perspectiveMetadata: a library perspective
Metadata: a library perspectivejody perkins
 
Free Cataloging Tools
Free Cataloging ToolsFree Cataloging Tools
Free Cataloging Toolsrobin fay
 
ARES PRISM - Integrating Project & Portfolio Management by Lateef Daly at Pro...
ARES PRISM - Integrating Project & Portfolio Management by Lateef Daly at Pro...ARES PRISM - Integrating Project & Portfolio Management by Lateef Daly at Pro...
ARES PRISM - Integrating Project & Portfolio Management by Lateef Daly at Pro...Project Controls Expo
 
Specifications 101
Specifications 101Specifications 101
Specifications 101Andrej_M
 
Catalogue objective, purpose, functions
Catalogue objective, purpose, functionsCatalogue objective, purpose, functions
Catalogue objective, purpose, functionsMahendraAdhikari7
 
Feasibility of Maintenance Agency in Baroda
Feasibility of Maintenance Agency in Baroda Feasibility of Maintenance Agency in Baroda
Feasibility of Maintenance Agency in Baroda Utkarsh Amaravat
 
Specification, Codes and Standards (IDPPM)
Specification, Codes and Standards (IDPPM)Specification, Codes and Standards (IDPPM)
Specification, Codes and Standards (IDPPM)Shajeeah Daarain
 
Preservation for 21st Century Library Collections
Preservation for 21st Century Library CollectionsPreservation for 21st Century Library Collections
Preservation for 21st Century Library CollectionsJolo Van Clyde Abatayo
 
A timeline of events in the history of libraries
A timeline of events in the history of librariesA timeline of events in the history of libraries
A timeline of events in the history of librariessharpe3
 
Project Specifications and Building Code
Project Specifications and Building CodeProject Specifications and Building Code
Project Specifications and Building Codetboyko
 
Information Processing: Cataloguing
Information Processing: Cataloguing Information Processing: Cataloguing
Information Processing: Cataloguing Sundar B N
 
Directory Management in Unix
 Directory Management in Unix Directory Management in Unix
Directory Management in UnixVpmv
 

La actualidad más candente (20)

Architectural Professional Practice - Construction Documents
Architectural Professional Practice - Construction DocumentsArchitectural Professional Practice - Construction Documents
Architectural Professional Practice - Construction Documents
 
Metadata: a library perspective
Metadata: a library perspectiveMetadata: a library perspective
Metadata: a library perspective
 
Free Cataloging Tools
Free Cataloging ToolsFree Cataloging Tools
Free Cataloging Tools
 
ARES PRISM - Integrating Project & Portfolio Management by Lateef Daly at Pro...
ARES PRISM - Integrating Project & Portfolio Management by Lateef Daly at Pro...ARES PRISM - Integrating Project & Portfolio Management by Lateef Daly at Pro...
ARES PRISM - Integrating Project & Portfolio Management by Lateef Daly at Pro...
 
Digital Library Architecture
Digital Library ArchitectureDigital Library Architecture
Digital Library Architecture
 
Specifications 101
Specifications 101Specifications 101
Specifications 101
 
Catalogue objective, purpose, functions
Catalogue objective, purpose, functionsCatalogue objective, purpose, functions
Catalogue objective, purpose, functions
 
Feasibility of Maintenance Agency in Baroda
Feasibility of Maintenance Agency in Baroda Feasibility of Maintenance Agency in Baroda
Feasibility of Maintenance Agency in Baroda
 
Specification, Codes and Standards (IDPPM)
Specification, Codes and Standards (IDPPM)Specification, Codes and Standards (IDPPM)
Specification, Codes and Standards (IDPPM)
 
Bms system
Bms  systemBms  system
Bms system
 
Preservation for 21st Century Library Collections
Preservation for 21st Century Library CollectionsPreservation for 21st Century Library Collections
Preservation for 21st Century Library Collections
 
Sdlc
SdlcSdlc
Sdlc
 
A timeline of events in the history of libraries
A timeline of events in the history of librariesA timeline of events in the history of libraries
A timeline of events in the history of libraries
 
Pp1 seminar
Pp1 seminarPp1 seminar
Pp1 seminar
 
Pp bbs comp
Pp bbs compPp bbs comp
Pp bbs comp
 
Project Specifications and Building Code
Project Specifications and Building CodeProject Specifications and Building Code
Project Specifications and Building Code
 
Evaluating a Dictionary
Evaluating a Dictionary Evaluating a Dictionary
Evaluating a Dictionary
 
Information Processing: Cataloguing
Information Processing: Cataloguing Information Processing: Cataloguing
Information Processing: Cataloguing
 
Directory Management in Unix
 Directory Management in Unix Directory Management in Unix
Directory Management in Unix
 
LIS415: Ranganathan
LIS415:  RanganathanLIS415:  Ranganathan
LIS415: Ranganathan
 

Similar a Importance of Documentation for programmers

How to become a Software Engineer Carrier Path for Software Developer
How to become a Software Engineer Carrier Path for Software DeveloperHow to become a Software Engineer Carrier Path for Software Developer
How to become a Software Engineer Carrier Path for Software Developerjeetendra mandal
 
Technical writing training 2013 14 (2)
Technical writing training 2013 14 (2)Technical writing training 2013 14 (2)
Technical writing training 2013 14 (2)laxmi16101981
 
Property dealing , A .net project
Property dealing , A .net projectProperty dealing , A .net project
Property dealing , A .net projectAnjali Kamboj
 
API Workshop: Deep dive into code samples
API Workshop: Deep dive into code samplesAPI Workshop: Deep dive into code samples
API Workshop: Deep dive into code samplesTom Johnson
 
Agile Methodologies And Extreme Programming
Agile Methodologies And Extreme ProgrammingAgile Methodologies And Extreme Programming
Agile Methodologies And Extreme ProgrammingUtkarsh Khare
 
Agile Methodologies And Extreme Programming - Svetlin Nakov
Agile Methodologies And Extreme Programming - Svetlin NakovAgile Methodologies And Extreme Programming - Svetlin Nakov
Agile Methodologies And Extreme Programming - Svetlin NakovSvetlin Nakov
 
Software Development Standard Operating Procedure
Software Development Standard Operating Procedure Software Development Standard Operating Procedure
Software Development Standard Operating Procedure rupeshchanchal
 
Agile Software Development
Agile Software DevelopmentAgile Software Development
Agile Software DevelopmentAhmet Bulut
 
Developers Nepal Meetup #4 Report
Developers Nepal Meetup #4 ReportDevelopers Nepal Meetup #4 Report
Developers Nepal Meetup #4 ReportPunit Jajodia
 
Professional project writing
Professional project writingProfessional project writing
Professional project writingjkmaster
 
How to become a great developer
How to become a great developerHow to become a great developer
How to become a great developerNetcetera
 
Agile software development
Agile software development Agile software development
Agile software development saurabh goel
 
Best Practices for API Adoption - WIP Factory presentation for AnyPresence we...
Best Practices for API Adoption - WIP Factory presentation for AnyPresence we...Best Practices for API Adoption - WIP Factory presentation for AnyPresence we...
Best Practices for API Adoption - WIP Factory presentation for AnyPresence we...Carlo Longino
 
Topic tdd-and-bdd b4usolution
Topic tdd-and-bdd b4usolutionTopic tdd-and-bdd b4usolution
Topic tdd-and-bdd b4usolutionHoa Le
 
WordCamp Nashville: Clean Code for WordPress
WordCamp Nashville: Clean Code for WordPressWordCamp Nashville: Clean Code for WordPress
WordCamp Nashville: Clean Code for WordPressmtoppa
 
Programming vs Coding: Unveiling The Key Differences
Programming vs Coding: Unveiling The Key DifferencesProgramming vs Coding: Unveiling The Key Differences
Programming vs Coding: Unveiling The Key DifferencesFredReynolds2
 
Cs121 Unit Test
Cs121 Unit TestCs121 Unit Test
Cs121 Unit TestJill Bell
 
apidays LIVE Paris 2021 - Who writes the Docs? by Laura Vass, Pronovix
apidays LIVE Paris 2021 - Who writes the Docs? by Laura Vass, Pronovixapidays LIVE Paris 2021 - Who writes the Docs? by Laura Vass, Pronovix
apidays LIVE Paris 2021 - Who writes the Docs? by Laura Vass, Pronovixapidays
 

Similar a Importance of Documentation for programmers (20)

How to become a Software Engineer Carrier Path for Software Developer
How to become a Software Engineer Carrier Path for Software DeveloperHow to become a Software Engineer Carrier Path for Software Developer
How to become a Software Engineer Carrier Path for Software Developer
 
Technical writing training 2013 14 (2)
Technical writing training 2013 14 (2)Technical writing training 2013 14 (2)
Technical writing training 2013 14 (2)
 
Property dealing , A .net project
Property dealing , A .net projectProperty dealing , A .net project
Property dealing , A .net project
 
Agile presentation
Agile presentationAgile presentation
Agile presentation
 
API Workshop: Deep dive into code samples
API Workshop: Deep dive into code samplesAPI Workshop: Deep dive into code samples
API Workshop: Deep dive into code samples
 
Agile Methodologies And Extreme Programming
Agile Methodologies And Extreme ProgrammingAgile Methodologies And Extreme Programming
Agile Methodologies And Extreme Programming
 
Agile Methodologies And Extreme Programming - Svetlin Nakov
Agile Methodologies And Extreme Programming - Svetlin NakovAgile Methodologies And Extreme Programming - Svetlin Nakov
Agile Methodologies And Extreme Programming - Svetlin Nakov
 
Software Development Standard Operating Procedure
Software Development Standard Operating Procedure Software Development Standard Operating Procedure
Software Development Standard Operating Procedure
 
Agile Software Development
Agile Software DevelopmentAgile Software Development
Agile Software Development
 
Developers Nepal Meetup #4 Report
Developers Nepal Meetup #4 ReportDevelopers Nepal Meetup #4 Report
Developers Nepal Meetup #4 Report
 
Professional project writing
Professional project writingProfessional project writing
Professional project writing
 
How to become a great developer
How to become a great developerHow to become a great developer
How to become a great developer
 
Agile software development
Agile software development Agile software development
Agile software development
 
Best Practices for API Adoption - WIP Factory presentation for AnyPresence we...
Best Practices for API Adoption - WIP Factory presentation for AnyPresence we...Best Practices for API Adoption - WIP Factory presentation for AnyPresence we...
Best Practices for API Adoption - WIP Factory presentation for AnyPresence we...
 
Topic tdd-and-bdd b4usolution
Topic tdd-and-bdd b4usolutionTopic tdd-and-bdd b4usolution
Topic tdd-and-bdd b4usolution
 
WordCamp Nashville: Clean Code for WordPress
WordCamp Nashville: Clean Code for WordPressWordCamp Nashville: Clean Code for WordPress
WordCamp Nashville: Clean Code for WordPress
 
Unit1
Unit1Unit1
Unit1
 
Programming vs Coding: Unveiling The Key Differences
Programming vs Coding: Unveiling The Key DifferencesProgramming vs Coding: Unveiling The Key Differences
Programming vs Coding: Unveiling The Key Differences
 
Cs121 Unit Test
Cs121 Unit TestCs121 Unit Test
Cs121 Unit Test
 
apidays LIVE Paris 2021 - Who writes the Docs? by Laura Vass, Pronovix
apidays LIVE Paris 2021 - Who writes the Docs? by Laura Vass, Pronovixapidays LIVE Paris 2021 - Who writes the Docs? by Laura Vass, Pronovix
apidays LIVE Paris 2021 - Who writes the Docs? by Laura Vass, Pronovix
 

Más de NASSCOM

Passion People Profession by Anirban saha
Passion People Profession by Anirban sahaPassion People Profession by Anirban saha
Passion People Profession by Anirban sahaNASSCOM
 
Smart Tips for Wireframing by Indrajit basu
Smart Tips for Wireframing by Indrajit basuSmart Tips for Wireframing by Indrajit basu
Smart Tips for Wireframing by Indrajit basuNASSCOM
 
Art of Writing Small Code by Sumit misra
Art of Writing Small Code by Sumit misraArt of Writing Small Code by Sumit misra
Art of Writing Small Code by Sumit misraNASSCOM
 
How to develop a successful casual social game by Rajat agarwalla
How to develop a successful casual social game by Rajat agarwallaHow to develop a successful casual social game by Rajat agarwalla
How to develop a successful casual social game by Rajat agarwallaNASSCOM
 
Art of writing small code
Art of writing small codeArt of writing small code
Art of writing small codeNASSCOM
 
Govind kulkarni
Govind kulkarniGovind kulkarni
Govind kulkarniNASSCOM
 

Más de NASSCOM (6)

Passion People Profession by Anirban saha
Passion People Profession by Anirban sahaPassion People Profession by Anirban saha
Passion People Profession by Anirban saha
 
Smart Tips for Wireframing by Indrajit basu
Smart Tips for Wireframing by Indrajit basuSmart Tips for Wireframing by Indrajit basu
Smart Tips for Wireframing by Indrajit basu
 
Art of Writing Small Code by Sumit misra
Art of Writing Small Code by Sumit misraArt of Writing Small Code by Sumit misra
Art of Writing Small Code by Sumit misra
 
How to develop a successful casual social game by Rajat agarwalla
How to develop a successful casual social game by Rajat agarwallaHow to develop a successful casual social game by Rajat agarwalla
How to develop a successful casual social game by Rajat agarwalla
 
Art of writing small code
Art of writing small codeArt of writing small code
Art of writing small code
 
Govind kulkarni
Govind kulkarniGovind kulkarni
Govind kulkarni
 

Último

Sociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning ExhibitSociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning Exhibitjbellavia9
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introductionMaksud Ahmed
 
ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.MaryamAhmad92
 
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...EduSkills OECD
 
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in DelhiRussian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhikauryashika82
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxheathfieldcps1
 
ICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxAreebaZafar22
 
Energy Resources. ( B. Pharmacy, 1st Year, Sem-II) Natural Resources
Energy Resources. ( B. Pharmacy, 1st Year, Sem-II) Natural ResourcesEnergy Resources. ( B. Pharmacy, 1st Year, Sem-II) Natural Resources
Energy Resources. ( B. Pharmacy, 1st Year, Sem-II) Natural ResourcesShubhangi Sonawane
 
Mixin Classes in Odoo 17 How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17  How to Extend Models Using Mixin ClassesMixin Classes in Odoo 17  How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17 How to Extend Models Using Mixin ClassesCeline George
 
psychiatric nursing HISTORY COLLECTION .docx
psychiatric  nursing HISTORY  COLLECTION  .docxpsychiatric  nursing HISTORY  COLLECTION  .docx
psychiatric nursing HISTORY COLLECTION .docxPoojaSen20
 
Making and Justifying Mathematical Decisions.pdf
Making and Justifying Mathematical Decisions.pdfMaking and Justifying Mathematical Decisions.pdf
Making and Justifying Mathematical Decisions.pdfChris Hunter
 
Web & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfWeb & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfJayanti Pande
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsTechSoup
 
On National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsOn National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsMebane Rash
 
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...christianmathematics
 
Measures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SDMeasures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SDThiyagu K
 
Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104misteraugie
 
Class 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdfClass 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdfAyushMahapatra5
 
Food Chain and Food Web (Ecosystem) EVS, B. Pharmacy 1st Year, Sem-II
Food Chain and Food Web (Ecosystem) EVS, B. Pharmacy 1st Year, Sem-IIFood Chain and Food Web (Ecosystem) EVS, B. Pharmacy 1st Year, Sem-II
Food Chain and Food Web (Ecosystem) EVS, B. Pharmacy 1st Year, Sem-IIShubhangi Sonawane
 

Último (20)

Asian American Pacific Islander Month DDSD 2024.pptx
Asian American Pacific Islander Month DDSD 2024.pptxAsian American Pacific Islander Month DDSD 2024.pptx
Asian American Pacific Islander Month DDSD 2024.pptx
 
Sociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning ExhibitSociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning Exhibit
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introduction
 
ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.
 
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
 
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in DelhiRussian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptx
 
ICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptx
 
Energy Resources. ( B. Pharmacy, 1st Year, Sem-II) Natural Resources
Energy Resources. ( B. Pharmacy, 1st Year, Sem-II) Natural ResourcesEnergy Resources. ( B. Pharmacy, 1st Year, Sem-II) Natural Resources
Energy Resources. ( B. Pharmacy, 1st Year, Sem-II) Natural Resources
 
Mixin Classes in Odoo 17 How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17  How to Extend Models Using Mixin ClassesMixin Classes in Odoo 17  How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17 How to Extend Models Using Mixin Classes
 
psychiatric nursing HISTORY COLLECTION .docx
psychiatric  nursing HISTORY  COLLECTION  .docxpsychiatric  nursing HISTORY  COLLECTION  .docx
psychiatric nursing HISTORY COLLECTION .docx
 
Making and Justifying Mathematical Decisions.pdf
Making and Justifying Mathematical Decisions.pdfMaking and Justifying Mathematical Decisions.pdf
Making and Justifying Mathematical Decisions.pdf
 
Web & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfWeb & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdf
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The Basics
 
On National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsOn National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan Fellows
 
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
 
Measures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SDMeasures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SD
 
Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104
 
Class 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdfClass 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdf
 
Food Chain and Food Web (Ecosystem) EVS, B. Pharmacy 1st Year, Sem-II
Food Chain and Food Web (Ecosystem) EVS, B. Pharmacy 1st Year, Sem-IIFood Chain and Food Web (Ecosystem) EVS, B. Pharmacy 1st Year, Sem-II
Food Chain and Food Web (Ecosystem) EVS, B. Pharmacy 1st Year, Sem-II
 

Importance of Documentation for programmers

  • 1. Documentation in programming The Independence Day began in the most thought provoking way for the members of Kolkata IT Professionals group. Yet another pertinent issue was raised by Aninda Das, which most of the programmers often overlook – not intentionally, but due to huge work pressure, lesser time at hand and crisis of resource. ‚What is the importance of documentation in programming? I know many developers; start-ups/SMEs skip this process. May be they do not have the bandwidth or the client does not emphasize much on it. BUT the documentation is critical. Let us discuss the relevance of documentation. After all ‚Ink is better than the best memory‛ – Chinese proverb‛, is what Aninda posted to stimulate the IT professionals to share their views, experience and knowledge. Quoting from a blog that Bibhas follows he said, ‚No matter how wonderful your library is and how intelligent its design, if you're the only one who understands it, it doesn't do any good‛. Ulhas sharing his thoughts said, ‚Documentation is required big time in programming for the developers themselves as we go on coding and at times we are not able to recognize what we coded if the code gets a bit older‛. He also added that he follows a
  • 2. certain methodology of documentation, which he himself created. ‚I do try to make the documentations as in comments in the scripts itself‛. The biggest problem faced by most of the programmers is time crunch to meet the deadlines. Ulhas cited added a practical scenario which can’t be looked down up on. ‚The clients comes to the context they are hardly interested in the documentations for the programming instead they want the documentation for "HOW TO USE THE FINAL PRODUCT?" as in training themselves as well as their employees‛. Prashant feels that every standard software development processes must follow documentation. He also mentioned, ‚The output of many phases of software development is often a document‛. A few examples of which can be Implementation Plan, SRS/FRD, Design Document, Test Plan and Test Cases, and End User Documentation. Sharing some further insights to program documentation he added, ‚Fellow coders who require to understand the code for maintenance/enhancement, plug-in developers who require API documentation. Programmers themselves often require design documents. There are automated tools like Doxygen which make documentation easy and not too much of a strain on programmers. But a certain discipline in the software development process is needed, otherwise programmers tend to ignore this critical aspect‛. Arjun not agreeing completely to this process feels, ‚there are different paradigm when it's comes to developer/spec documentation which does not insist on traditional documentation‛. Scrum/Agile/Lean can be some perfect examples of the same which puts more emphasis ‚on the concept of "code-as-comment" and spec documentation via RSpec/Cucumber StoryBoard scenarios which acts as user-acceptance documentation as well as executable spec code!‛ documentation is different for developers, PM/Delivery Managers, Testing Groups, Marketing/Clients, and users. ‚But all these are essential types of documents which are to be created in different ways as target is different and so is its use and requirement! This has to be clearly understood!‛ he concluded. Better codes for Rishav is better documentation. ‚I reject commits from my developers if the code is not self explanatory. Writing tests is an awesome way of having documentation. We do the tests thing all the time. Simple example – there are better ways of hard-coding regular expressions into your code. Regexes are self explanatory. Use a method instead simple and easy to read. As far as other types of documentation are concerned architecture diagrams, spec docs and bug trackers are necessary‛. The programmers need to document every feature in as much detail as possible. Anupam harped up on the importance of documentation. He stated, ‚Documentation is where your works starts. After that comes the very important part - the data flow diagram and the database structure!!! As we all know programming is all about the
  • 3. flow of data! Then comes the UI wire frames. Finally what I think we should create another final doc. with everything put into right place before getting into code!‛ The waterfall model of documentation, Arjun added, is slowly getting abandoned. ‚The days of bulky SRS or class diagram or HLD or LLD are going away fast!‛ He further suggested to gather knowledge on, ‚’Agile’ especially ‘Scrum methodology’, ‘Lean methodology’ & ‘Kanban’. According to Priyankar, ‚Coding without documentation is like getting married in the temple without getting it registered‛. Mukesh further shared his personal reasons for which he follows documentation. With three very practical yet simple examples he explained this further: ‚1. Collaborative development -- there is always a need for X to help Y debug his/her code. 2. Maintenance -- you have written the smartest of code and you are done with development. You move to a new project, someone else wants to change a small piece of code. If there is no documentation, a 5 min change could easily take 5 hours. 3. What if you get hit by a bus? You were in the middle of solving one of the most complex problems, you went out to bring food, got hit by a bus. You had solved 80% of the problem but now the new guy has to start afresh.‛ Debashis stated the obvious need for documentation. ‚Each time a particular section of code is updated, documentation for the same is imperative. It helps in rollbacks if necessary‛. Documentation is important for others to understand your code. To make your code re- usable you must document it thoroughly. ‚Gone are the days when one coded with the intention to just make the product work, now if 40% effort goes to the actual coding then the remaining must go on making it re-usable and well documented for future use‛, said Rabimba. Arun, who said is a ‚fan of quick references rather than elaborate notes‛ also added, ‚We need documentation on all the aspects of the software, pre-sales and post-sales‛. To make a developer’s life easy Mukesh suggested, ‚Clean readable codes, good use of variable names, and code refactoring‛. The takeaways from the discussion are huge. Through the experience shared by several industry experts gave us some key factors of ‚What is the importance of documentation in programming‛:
  • 4. 1. The phases of software development documentation are: Implementation Plan, SRS/FRD, Design Document, Test Plan and Test Cases, and End User Documentation 2. To recognize what we coded, if the code gets a bit older 3. Documentation is necessary for, Programmers themselves often require design documents. 4. Automated tools like Doxygen make documentation easy 5. Scrum/Agile/Lean are different paradigm of developer/spec documentation 6. For user-acceptance documentation as well as executable spec code spec documentation via RSpec/Cucumber StoryBoard scenarios can be followed 7. Documentation makes your code simple and easy to read 8. Learning ’Agile’ especially ‘Scrum methodology’, ‘Lean methodology’ & ‘Kanban’ are important for documentation these days 9. Documentation offers immense support for maintenance 10. Documentation is important for others to understand your code Post Submitted by: Sumana Chakraborty, Creative Writer & Blogger Connect with us: Facebook: http://www.facebook.com/ITniketan , Twitter: @ITNiketan