idnits 2.17.1 draft-dulaunoy-programming-methodology-framework-00.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- ** The document seems to lack an IANA Considerations section. (See Section 2.2 of https://www.ietf.org/id-info/checklist for how to handle the case when there are no actions for IANA.) ** The abstract seems to contain references ([PROGRAMMING-MF-MANIFESTO]), which it shouldn't. Please replace those with straight textual mentions of the documents in question. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year == The document doesn't use any RFC 2119 keywords, yet seems to have RFC 2119 boilerplate text. -- The document date (April 11, 2019) is 1842 days in the past. Is this intentional? Checking references for intended status: Informational ---------------------------------------------------------------------------- No issues found here. Summary: 2 errors (**), 0 flaws (~~), 2 warnings (==), 1 comment (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Network Working Group A. Dulaunoy 3 Internet-Draft A. Iklody 4 Intended status: Informational CIRCL 5 Expires: October 13, 2019 April 11, 2019 7 Programming Methodology Framework aka PMF 8 draft-dulaunoy-programming-methodology-framework-00 10 Abstract 12 This document describes the Programming Methodology Framework also 13 known under the PMF methodology. The methodology is based on the 14 manifesto written by Zed A. Shaw [PROGRAMMING-MF-MANIFESTO] which 15 describes a natural approach to software engineering with a strong 16 focus on the act of programming. The PMF methodology uses a soft 17 naming to allow for a non-partisan reference to official engineering 18 or project documents describing one of the most used software 19 engineering methodologies. 21 Status of This Memo 23 This Internet-Draft is submitted in full conformance with the 24 provisions of BCP 78 and BCP 79. 26 Internet-Drafts are working documents of the Internet Engineering 27 Task Force (IETF). Note that other groups may also distribute 28 working documents as Internet-Drafts. The list of current Internet- 29 Drafts is at https://datatracker.ietf.org/drafts/current/. 31 Internet-Drafts are draft documents valid for a maximum of six months 32 and may be updated, replaced, or obsoleted by other documents at any 33 time. It is inappropriate to use Internet-Drafts as reference 34 material or to cite them other than as "work in progress." 36 This Internet-Draft will expire on October 13, 2019. 38 Copyright Notice 40 Copyright (c) 2019 IETF Trust and the persons identified as the 41 document authors. All rights reserved. 43 This document is subject to BCP 78 and the IETF Trust's Legal 44 Provisions Relating to IETF Documents 45 (https://trustee.ietf.org/license-info) in effect on the date of 46 publication of this document. Please review these documents 47 carefully, as they describe your rights and restrictions with respect 48 to this document. Code Components extracted from this document must 49 include Simplified BSD License text as described in Section 4.e of 50 the Trust Legal Provisions and are provided without warranty as 51 described in the Simplified BSD License. 53 Table of Contents 55 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 56 1.1. Management and PMF methodology . . . . . . . . . . . . . 3 57 1.2. Conventions and Terminology . . . . . . . . . . . . . . . 3 58 2. Security Considerations . . . . . . . . . . . . . . . . . . . 3 59 3. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 4 60 4. References . . . . . . . . . . . . . . . . . . . . . . . . . 4 61 4.1. Normative References . . . . . . . . . . . . . . . . . . 4 62 4.2. Informative References . . . . . . . . . . . . . . . . . 4 63 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 4 65 1. Introduction 67 In 2011, Zed A. Shaw published a blog post which describes: 69 I think I'm going to create the ultimate software development 70 methodology. It'll be revolutionary compared to others because it 71 will focus on the one thing that gets software done. Its entire 72 focus will be this one, glorious, completely useful activity for 73 writing software. It's name even embodies the perfection of this 74 programming methodology. 76 The PMF methodology was published as a manifesto later 77 [PROGRAMMING-MF-MANIFESTO]. The manifesto clearly describes the 78 focus on programming to avoid the surrounding management overhead and 79 pivot towards the delivery of the software. The 80 [THE-TAO-OF-PROGRAMMING] describes similar methodologies which 81 strongly focus on coding, scripting and programming. 83 The overall concept of PMF methodology follows the following process: 85 o Compose a list of features to be implemented and use an iterative 86 programming process. 88 o Enhance said features using trial and error programming. 90 o Orchestrate your testing and integration processes using pragmatic 91 programming. 93 Repeat the above process until the software is delivered. 95 A simplified overview of the process can be described as follow: 97 +----------+ 98 | | 99 | idea <------+ 100 | | | 101 +----+-----+ | 102 | | 103 | | 104 +----v-----+ | 105 | | | it doesn't work 106 | code | | 107 | | | 108 +----+-----+ | 109 | | 110 | | 111 +----v-----+ | 112 | | | 113 | release +------+ 114 | | 115 +----------+ 117 1.1. Management and PMF methodology 119 A simple management process is a requirement of the PMF methodology. 120 The management process is meant to be complementary instead of 121 interfering with the programming aspect and solely serves to support 122 the PMF methodology. 124 o Collect requirements of the users/customers. 126 o Provide programmers with the desired requirements. 128 o Review whether the software to be delivered matches the 129 requirements. 131 1.2. Conventions and Terminology 133 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 134 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 135 document are to be interpreted as described in RFC 2119 [RFC2119]. 137 2. Security Considerations 139 Secure and defensive programming can only come by practicing 140 programming and this also includes the act of simplifying or removing 141 code to reduce the attack surface. 143 3. Acknowledgements 145 The authors wish to thank all the programmers who program. 147 4. References 149 4.1. Normative References 151 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 152 Requirement Levels", BCP 14, RFC 2119, 153 DOI 10.17487/RFC2119, March 1997, 154 . 156 4.2. Informative References 158 [PROGRAMMING-MF-MANIFESTO] 159 Shaw, "Programming Motherfucker, do you speak it?", 160 . 162 [THE-TAO-OF-PROGRAMMING] 163 James, "The Tao of Programming", 164 . 166 Authors' Addresses 168 Alexandre Dulaunoy 169 Computer Incident Response Center Luxembourg 170 16, bd d'Avranches 171 Luxembourg L-1160 172 Luxembourg 174 Phone: +352 247 88444 175 Email: alexandre.dulaunoy@circl.lu 177 Andras Iklody 178 Computer Incident Response Center Luxembourg 179 16, bd d'Avranches 180 Luxembourg L-1160 181 Luxembourg 183 Phone: +352 247 88444 184 Email: andras.iklody@circl.lu