background preloader

Software development methods

Facebook Twitter

Agile software development. Agile software development is a set of principles for software development in which requirements and solutions evolve through collaboration between self-organizing,[1] cross-functional teams. It promotes adaptive planning, evolutionary development, early delivery, and continuous improvement, and it encourages rapid and flexible response to change.[2] Agile itself has never defined any specific methods to achieve this, but many have grown up as a result and have been recognized as being 'Agile'.

The Manifesto for Agile Software Development,[3] also known as the Agile Manifesto, was first proclaimed in 2001, after "agile methodology" was originally introduced in the late 1980s and early 1990s. The manifesto came out of the DSDM Consortium in 1994, although its roots go back to the mid 1980s at DuPont and texts by James Martin[4] and James Kerr et al.[5] History[edit] Incremental software development methods trace back to 1957.[6] In 1974, E.

A. The Agile Manifesto[edit] Evolutions[edit] Agile Coaching. Waterfall model. The unmodified "waterfall model". Progress flows from the top to the bottom, like a cascading waterfall. The waterfall model is a sequential design process, used in software development processes, in which progress is seen as flowing steadily downwards (like a waterfall) through the phases of Conception, Initiation, Analysis, Design, Construction, Testing, Production/Implementation and Maintenance. The waterfall development model originates in the manufacturing and construction industries: highly structured physical environments in which after-the-fact changes are prohibitively costly, if not impossible. Since no formal software development methodologies existed at the time, this hardware-oriented model was simply adapted for software development.[1] §History[edit] The first known presentation describing use of similar phases in software engineering was held by Herbert D.

The first formal description of the waterfall model is often cited as a 1970 article by Winston W. §Model[edit] Joel on Software. About Joel Spolsky I’m your host, Joel Spolsky, responsible for just about everything on this site. This is Joel on Software, where I’ve been ranting about software development, management, business, and the Internet (ack) since 2000. Rest assured, however, that this isn’t one of those dreaded blogs about blogging. The Story So Far Born in the USA, I grew up in Albuquerque, New Mexico, where I started programming in 1978 at the UNM Computer Center, on an IBM-360 mainframe running CALL-OS. I moved with my family to Jerusalem, Israel when I was 15 years old. After high school, like most Israeli kids, I served in the military, where I was in a program called Nachal that allowed you to spend less time in uniform in exchange for work on a kibbutz.

I came back to the US for college, where I went to Penn for a year, then transferred to Yale, where I got a BS in Computer Science. Into the Work World In those days, Microsoft was small (5000 employees!) I had two more jobs in New York. Stack Exchange. Code Complete. Code Complete is a software development book, written by Steve McConnell and published in 1993 by Microsoft Press, urging developers to get past code and fix programming and the big design up front waterfall model. It is also a compendium of software construction techniques, from naming variables to deciding when to write a subroutine. McConnell defines the main activities in construction as: Although he does not dismiss the value of other aspects of software development such as requirements and documentation, McConnell emphasizes the construction of software because: Construction is a large part of software development.Construction is the central activity in software development.With a focus on construction, the individual programmer's productivity can improve enormously.The source code defines the operation of the software; if code and documentation disagree, the documentation is wrong.Construction is the only activity that's guaranteed to be done.

Reception[edit] Editions[edit] Spiral model. The spiral model is a risk-driven process model generator for software projects. Based on the unique risk patterns of a given project, the spiral model guides a team to adopt elements of one or more process models, such as incremental, waterfall, or evolutionary prototyping. History[edit] This model was first described by Barry Boehm in his 1986 paper "A Spiral Model of Software Development and Enhancement".[1] In 1988 Boehm published a similar paper[2] to a wider audience.

These papers introduce a diagram that has been reproduced in many subsequent publications discussing the spiral model. Spiral model (Boehm, 1988). A number of misconceptions stem from oversimplifications in this widely circulated diagram.[3] These early papers use the term "process model" to refer to the spiral model as well as to incremental, waterfall, prototyping, and other approaches. Boehm also identifies a number of misconceptions arising from oversimplifications in the original spiral model diagram.