Synetec’s
quick guide to software development buzzwords
“There
are two ways of constructing a software design: One way is to make it so simple
that there are obviously no deficiencies, and the other way is to make it so
complicated that there are no obvious deficiencies. The first method is far
more difficult.”
-C.A.R. Hoare
We’ve
all sat in team meetings or conferences being bombarded with technical terms or
buzzwords which we’ve never heard before. If we’re honest with ourselves, the
IT team are amongst the worst offenders. Coding might be it’s own language but
that is no excuse for adding so many terms to the dictionary. So here is
Synetec’s short guide to 10 often misunderstood software terms.
1.
Agile development
Agile
Teams produce software in small stages, keeping code simple, testing it
frequently often, and delivering small, functional pieces of the application as
soon as they're ready. The focus is to build a succession of parts, rather than
delivering one large application at the end of the project.
2.
Extreme Programming
Extreme
programming is a type of agile development that involves a pragmatic approach
to program development. It places emphasis on delivering business results first
while taking an incremental approach to building the product.
3.
Feature creep
Feature
creep is one of the biggest factors in time and cost overruns. It describes
changes to scope of the project, usually adding news features beyond the
original brief. These additional requirements can result in a significant
impact to final cost, quality and schedule of the project.
4.
Genetic programming
In
artificial intelligence, genetic programming (GP) is an evolutionary
algorithm-based methodology inspired by biological evolution to find computer
programs that perform a user-defined task.
5.
Pasta Theory of Programming
The
pasta theory of programming refers to the idea that various programming
structures are like pasta dishes. An unstructured procedural programming is
called spaghetti code, while a more structured and layered programming is
called lasagna code, while object-oriented programming is named the
ravioli code.
6.
Pair programming
Pair
programming is an agile software development technique in which
two programmers work together at one workstation. One, the driver,
writes code while the other, the observer or navigator, reviews each
line of code as it is typed in. The two programmers switch roles frequently.
7.
Scrum
Scrum is
an iterative and incremental agile software development framework for
managing software projects and product or application development. Its focus is
on "a flexible, holistic product development strategy where a
development team works as a unit to reach a common goal" as opposed to a
"traditional, sequential approach".
8.
Scrum master
The
scrum master is accountable for removing impediments to the ability of the team
to deliver the sprint goal/deliverables. The Scrum Master is not the team
leader but acts as a buffer between the team and any distracting influences.
The Scrum Master ensures that the Scrum process is used as intended. The Scrum
Master is the enforcer of rules.
9.
Shotgun debugging
Shotgun
debugging refers to the debugging of a program, hardware, or system problem by
attempting multiple possible solutions at the same time in the hope that one of
them will work.
10.
Sprint backlog
Part
of the scrum methodology, at the beginning of each sprint, the team has sprint
planning with an end result being a backlog of work that the team anticipates
completing at the end of the sprint.
11.
Waterfall model
The
waterfall model is a sequential design process, often used in software
development processes, in which progress is seen as flowing steadily downwards
through the phases of Conception, Initiation, Analysis, Design, Construction,
Testing, Production/Implementation, and Maintenance.
12.
WIP
WIP
refers to Work in Progress and is any work that has been started but has yet to
be completed. WIP meetings usually involve all stakeholders to ascertain
degrees of progress against set objectives.
No comments:
Post a Comment