====== 4.3.5.4 Software Manageability Issues ====== [[dido:public:ra:1.4_req:2_nonfunc:28_manageability| Return to Manageability]] ===== About ===== Over the last few decades, many advances have been made in terms of [[dido:public:ra:xapend:xapend.a_glossary:o:oss]] which has to change the way software was developed, released and used. During the [[dido:public:ra:xapend:xapend.a_glossary:s:software_development_model | Software Development Process]] (i.e., the traditional [[dido:public:ra:xapend:xapend.a_glossary:w:waterfall]], [[dido:public:ra:xapend:xapend.a_glossary:a:agile]], etc.), many of these changes also have to do with the evolution of systems (or projects) from being [[dido:public:ra:xapend:xapend.a_glossary:g:greenfield]] to [[dido:public:ra:xapend:xapend.a_glossary:b:brownfield]] development and from a "build the world" attitude towards "integrate and glue the world" mindset. Successful OSS development and adoption not only has to produce products which are solid, strong and robust but also must meet the needs of a [[dido:public:ra:xapend:xapend.a_glossary:c:coi]] that has coalesced around a single minded, purpose built, functionality (i.e., Apache Tomcat application [[dido:public:ra:xapend:xapend.a_glossary:s:server|server]], PostgreSQL Database, Node.js an asynchronous event-driven [[dido:public:ra:xapend:xapend.a_glossary:j:javascript|JavaScript]] runtime, [[dido:public:ra:xapend:xapend.a_glossary:d:docker]] containerized apps, Kubernetes orchestration engine for containers, etc.). Many of the OSS products are part of many of the successful projects today. However, it is not good enough to just write software and make it publicly available. At the heart of these successful efforts are the well governed, focused, supporting CoIs. There is a desire from almost all systems (or projects) to join the OSS trend but unfortunately, the need for strong governance and rigorous methodology is minimized or skipped in the name of expediency. Fortunately, there is an organization which can help with this called [[https://todogroup.org/about/ | Talk Openly Develop Openly (TODO)]] (not to be confused with a ''to-do''). TODO organization, though focused on OSS, has written a series of white papers that are well worth studying and using even it your system (or project) is not OSS. One of these papers which is particularly germane to Software [[dido:public:ra:xapend:xapend.a_glossary:m:manageability|Manageability]] is __Tools for managing open source programs__ ((__Tools for managing open source programs__, Talk Openly Develop Openly (TODO), Accessed 20 July 2020, [[https://todogroup.org/guides/management-tools/]] )). It is beyond the scope of this document to try to recreate the full content of this white paper. It does present a list of many of the tools available for managing software and how to use them. Here is the table of content from the document: * [[https://todogroup.org/guides/management-tools/#why-you-need-special-tools-for-open-source-program-management | Why you need special tools for open source program management]] * [[https://todogroup.org/guides/management-tools/#how-to-select-and-plan-your-tools | How to select and plan your tools]] * [[https://todogroup.org/guides/management-tools/#elements-of-a-basic-toolset | Elements of a basic toolset]] * [[https://todogroup.org/guides/management-tools/#tools-for-managing-source-code | Tools for managing source code]] * [[https://todogroup.org/guides/management-tools/#tools-for-tracking-project-health | Tools for tracking project health]] * [[https://todogroup.org/guides/management-tools/#tools-for-communications-and-collaboration | Tools for communications and collaboration]] * [[https://todogroup.org/guides/management-tools/#tools-for-corporate-scale-github-management | Tools for corporate-scale GitHub management]] ===== DIDO Specifics ===== [[dido:public:ra:1.4_req:2_nonfunc:28_manageability:08_software | Return to Top]] : To be added/expanded in future revisions of the DIDO RA /**=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- /* To add a discussion page to this page, comment out the line that says ~~DISCUSSION:off~~ */ ~~DISCUSSION:on|Outstanding Issues~~ ~~DISCUSSION:off~~