While every custom software project is unique, and requires a flexible, adaptive
project management style, GiantByte Software uses much of the
Extreme Programming Methodology (commonly
referred to as "XP Methodology").
The XP Methodology helps to mitigate the various risks (cost, timeline and functionality)
as programmers and developers venture into new territory, innovating and sometimes
inventing solutions to unique problems.
XP focuses on the following critical areas:
- Keeping the development-and-review cycles short.
In this way, the project's tasks and functions are broken down into small,
easily-encapsulated pieces of work. The smaller the pieces, the less chance
that any piece of work will go over-budget, or stray too far from
the client's expectations / requirements.
- Priorities remain flexible.
XP stresses the importance of working on the most important features first,
and less important features later. A sudden change in priorities means the
programmers stop what they're doing and switch gears without delay.
- Release early, release often.
Each development cycle (1-2 weeks) yields a software release. Because each
release is a working piece of software, and because the most important features
are always tackled first, the client receives a functional product if the project
is suddenly halted mid-stream for any reason (after the first early-release).
- Estimates come from the programmers
A salesman is not the right person to estimate a custom software project, and
for that matter, neither is anyone who doesn't have "their hands in the code".
XP stresses the importance of obtaining estimates from people who are familiar
with the work required for that project, and who are able to troublehsoot the
plans, pointing out troublesome use-cases that less-technical project consultants
might miss. GiantByte Software produces or scrutinizes these estimates, factoring
in safeguards and additional allowances as required.
While the XP Methodology offers a lot of good ideas, it's not for every type of client.
Some clients need a solution provider who can turn their plain-English needs into a
functioning solution, determining the details along the way with non-technical input
from the client. This is why GiantByte Software has no single, rigid methodology
regarding project management or development.