Rapid Application Development or RAD is a methodology for
compressing the analysis, design, build, and test phases into a series
of short, iterative development cycles. This has a number of distinct
advantages over the traditional sequential development model. RAD
projects are typically staffed with small integrated teams comprised of
developers, end users, and IT technical resources. Small teams, combined
with short, iterative development cycles optimizes speed, unity of
vision and purpose, effective informal communication and simple project
management.
Joint Application Design, or JAD, is a process originally
developed for designing a computer-based system. It brings together
business area people (users) and IT (Information Technology)
professionals in a highly focused workshop. The advantages of JAD
include a dramatic shortening of the time it takes to complete a
project. It also improves the quality of the final product by focusing
on the up-front portion of the development lifecycle, thus reducing the
likelihood of errors that are expensive to correct later on.
Extreme Programming Methodology or XP is a discipline of
software development based on values of simplicity, communication, and
feedback. It a collective team approach relying on simple practices,
with enough feedback. In XP, every team member is an integral
part. The team forms around a business representative called "the
Customer", who sits, usually in an electronic collaboration environment
with the team and works with them daily.
Extreme Programming teams use a simple form of planning and tracking
to decide what should be done next and to predict when the project will
be done. Focused on business value, the team produces the software in a
series of small fully-integrated releases that pass all the tests the
Customer has defined.
Extreme Programmers work together in small teams 2 or 3 and as a
group, with simple design and obsessively tested code, improving the
design continually to keep it always just right for the current needs.
The Extreme Programming team keeps the system integrated and running
all the time. The programmers write all production code, and all work
together as a team. They code in a consistent style so that everyone can
understand and improve all the code as needed.
The Extreme Programming team shares a common and simple picture of
what the system looks like. Everyone works at a pace that can be
sustained indefinitely.
All the contributors to an XP project sit together, members of one
team. This team must include a business representative -- the "Customer"
-- who provides the requirements, sets the priorities, and steers the
project. It's best if the Customer or one of her aides is a real end
user who knows the domain and what is needed. The team will of course
have programmers. The team may include testers, who help the Customer
define the customer acceptance tests. Analysts may serve as helpers to
the Customer, helping to define the requirements. There is commonly a
coach, who helps the team keep on track, and facilitates the process.
There may be a manager, providing resources, handling external
communication, coordinating activities. None of these roles is
necessarily the exclusive property of just one individual: Everyone on
an XP team contributes in any way that they can. The best teams have no
specialists, only general contributors with special skills.
If you have a development project we welcome your RFP. We
can provide a comprehensive quotation. Please submit all Requests
for Quotations to Tom King at
Tom@tsecuret.com