mirror of
https://github.com/adulau/pmf.git
synced 2024-09-18 04:16:21 +00:00
225 lines
6.7 KiB
Text
225 lines
6.7 KiB
Text
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Network Working Group A. Dulaunoy
|
|||
|
Internet-Draft A. Iklody
|
|||
|
Intended status: Informational CIRCL
|
|||
|
Expires: March 31, 2018 September 27, 2017
|
|||
|
|
|||
|
|
|||
|
Programming Methodology Framework aka PMF
|
|||
|
draft-dulaunoy-programming-methodology-framework
|
|||
|
|
|||
|
Abstract
|
|||
|
|
|||
|
This document describes the Programming Methodology Framework also
|
|||
|
known under the PMF methodology. The methodology is based on the
|
|||
|
manifesto written by Zed A. Shaw [PROGRAMMING-MF-MANIFESTO] which
|
|||
|
describes a natural approach to software engineering especially on
|
|||
|
the strong focus towards the act of programming. The PM methodology
|
|||
|
uses a soft naming to allow a non-partisan reference into official
|
|||
|
engineering or project documents to describe one of the most used
|
|||
|
software engineering methodology.
|
|||
|
|
|||
|
Status of This Memo
|
|||
|
|
|||
|
This Internet-Draft is submitted in full conformance with the
|
|||
|
provisions of BCP 78 and BCP 79.
|
|||
|
|
|||
|
Internet-Drafts are working documents of the Internet Engineering
|
|||
|
Task Force (IETF). Note that other groups may also distribute
|
|||
|
working documents as Internet-Drafts. The list of current Internet-
|
|||
|
Drafts is at http://datatracker.ietf.org/drafts/current/.
|
|||
|
|
|||
|
Internet-Drafts are draft documents valid for a maximum of six months
|
|||
|
and may be updated, replaced, or obsoleted by other documents at any
|
|||
|
time. It is inappropriate to use Internet-Drafts as reference
|
|||
|
material or to cite them other than as "work in progress."
|
|||
|
|
|||
|
This Internet-Draft will expire on March 31, 2018.
|
|||
|
|
|||
|
Copyright Notice
|
|||
|
|
|||
|
Copyright (c) 2017 IETF Trust and the persons identified as the
|
|||
|
document authors. All rights reserved.
|
|||
|
|
|||
|
This document is subject to BCP 78 and the IETF Trust's Legal
|
|||
|
Provisions Relating to IETF Documents
|
|||
|
(http://trustee.ietf.org/license-info) in effect on the date of
|
|||
|
publication of this document. Please review these documents
|
|||
|
carefully, as they describe your rights and restrictions with respect
|
|||
|
to this document. Code Components extracted from this document must
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Dulaunoy & Iklody Expires March 31, 2018 [Page 1]
|
|||
|
|
|||
|
Internet-Draft PMF - Programming Methodology Framework September 2017
|
|||
|
|
|||
|
|
|||
|
include Simplified BSD License text as described in Section 4.e of
|
|||
|
the Trust Legal Provisions and are provided without warranty as
|
|||
|
described in the Simplified BSD License.
|
|||
|
|
|||
|
Table of Contents
|
|||
|
|
|||
|
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
|
|||
|
1.1. Management and PMF methodology . . . . . . . . . . . . . 3
|
|||
|
1.2. Conventions and Terminology . . . . . . . . . . . . . . . 3
|
|||
|
2. Security Considerations . . . . . . . . . . . . . . . . . . . 3
|
|||
|
3. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 3
|
|||
|
4. References . . . . . . . . . . . . . . . . . . . . . . . . . 3
|
|||
|
4.1. Normative References . . . . . . . . . . . . . . . . . . 3
|
|||
|
4.2. Informative References . . . . . . . . . . . . . . . . . 3
|
|||
|
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 4
|
|||
|
|
|||
|
1. Introduction
|
|||
|
|
|||
|
In 2011, Zed A. Shaw published a blog post which describes:
|
|||
|
|
|||
|
I think I'm going to create the ultimate software development
|
|||
|
methodology. It'll be revolutionary compared to others because it
|
|||
|
will focus on the one thing that gets software done. Its entire
|
|||
|
focus will be this one, glorious, completely useful activity for
|
|||
|
writing software. It's name even embodies the perfection of this
|
|||
|
programming methodology.
|
|||
|
|
|||
|
The programming methodology was published as a manifesto later
|
|||
|
[PROGRAMMING-MF-MANIFESTO]. The manifesto clearly describes the
|
|||
|
focus on programming to avoid the surrounding management overhead and
|
|||
|
pivot towards the delivery of the software. The
|
|||
|
[THE-TAO-OF-PROGRAMMING] describes similar methodologies which
|
|||
|
strongly focus on coding, scripting and programming.
|
|||
|
|
|||
|
The overall concept of PMF methodology follows this iteration:
|
|||
|
|
|||
|
o Write a list of things to be done and use an iterative programming
|
|||
|
process.
|
|||
|
|
|||
|
o Do some of the things with additional programming.
|
|||
|
|
|||
|
o Build testing and tests using programming.
|
|||
|
|
|||
|
This process is run in a while loop until the software is delivered.
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Dulaunoy & Iklody Expires March 31, 2018 [Page 2]
|
|||
|
|
|||
|
Internet-Draft PMF - Programming Methodology Framework September 2017
|
|||
|
|
|||
|
|
|||
|
1.1. Management and PMF methodology
|
|||
|
|
|||
|
A simple management process is required in addition to the PMF
|
|||
|
methodology. The management process is complementary to the PMF
|
|||
|
metholody and not interfering with the programming aspect. The
|
|||
|
management process is there to support the PMF methodology.
|
|||
|
|
|||
|
o Review requirements of the users/customers by asking them.
|
|||
|
|
|||
|
o Give the list of things to be done to the programmers.
|
|||
|
|
|||
|
o Review the delivered software to see if it matches the
|
|||
|
requirements.
|
|||
|
|
|||
|
1.2. Conventions and Terminology
|
|||
|
|
|||
|
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
|
|||
|
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
|
|||
|
document are to be interpreted as described in RFC 2119 [RFC2119].
|
|||
|
|
|||
|
2. Security Considerations
|
|||
|
|
|||
|
Secure and defensive programming can only come by practicing
|
|||
|
programming and this also includes the act of simplifying or removing
|
|||
|
code to reduce the attack surface.
|
|||
|
|
|||
|
3. Acknowledgements
|
|||
|
|
|||
|
The authors wish to thank all the programmers who program.
|
|||
|
|
|||
|
4. References
|
|||
|
|
|||
|
4.1. Normative References
|
|||
|
|
|||
|
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
|
|||
|
Requirement Levels", BCP 14, RFC 2119,
|
|||
|
DOI 10.17487/RFC2119, March 1997, <https://www.rfc-
|
|||
|
editor.org/info/rfc2119>.
|
|||
|
|
|||
|
4.2. Informative References
|
|||
|
|
|||
|
[PROGRAMMING-MF-MANIFESTO]
|
|||
|
Shaw, , "Programming Motherfucker, do you speak it?",
|
|||
|
<http://programming-motherfucker.com>.
|
|||
|
|
|||
|
[THE-TAO-OF-PROGRAMMING]
|
|||
|
James, , "The Tao of Programming",
|
|||
|
<http://www.mit.edu/~xela/tao.html>.
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Dulaunoy & Iklody Expires March 31, 2018 [Page 3]
|
|||
|
|
|||
|
Internet-Draft PMF - Programming Methodology Framework September 2017
|
|||
|
|
|||
|
|
|||
|
Authors' Addresses
|
|||
|
|
|||
|
Alexandre Dulaunoy
|
|||
|
Computer Incident Response Center Luxembourg
|
|||
|
16, bd d'Avranches
|
|||
|
Luxembourg L-1611
|
|||
|
Luxembourg
|
|||
|
|
|||
|
Phone: +352 247 88444
|
|||
|
Email: alexandre.dulaunoy@circl.lu
|
|||
|
|
|||
|
|
|||
|
Andras Iklody
|
|||
|
Computer Incident Response Center Luxembourg
|
|||
|
16, bd d'Avranches
|
|||
|
Luxembourg L-1611
|
|||
|
Luxembourg
|
|||
|
|
|||
|
Phone: +352 247 88444
|
|||
|
Email: andras.iklody@circl.lu
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Dulaunoy & Iklody Expires March 31, 2018 [Page 4]
|