TeraTech Project Methodology
TeraTech uses modern software development practices
to create high quality software that meets people’s real needs.
Development Process
TeraTech uses software development practices to improve your software
quality including:
Wireframe prototyping [Fusebox]
HTML prototyping
Written business rules and requirements
Requirement walkthrough
Coding standards
Documentation standards
Peer code review
Unit testing and Integration testing
Acceptance testing
Deployment
Project management and Risk analysis
Project Plan
Qualification
ColdFusion
Prototyping
TeraTech has found that using wireframe and HTML prototyping is
the key to successful software development because it allows the client
to see the complete flow of the application before the coding is done.
In addition, the HTML produced in the process is used in the development.
Almost 70% of corporate software projects are abandoned or declared
as failures. The key reason is that the client doesn’t see the
application until after all the coding is done. It is only discovered
at the end of the process that client and developer have failed to communicate.
Prototyping makes it possible to see the application and how it is going
to work before the hours of development and backend coding work are
done. It is easy to make changes during prototyping; it is much harder and
much more costly after development.
The wireframe process is a powerful prototyping strategy that creates
a clickable mini-app that has a corresponding wireframe page for each
page the user will see in the real application. It explains what the
page does and what links to other pages should appear. This is done
completely in text. We have a little application that we created for
this--very simple, but it creates a text database file and then reads
it and displays information. Another component of prototyping is the
mockup of the graphical interface and navigational tools. TeraTech utilizes Adobe Illustrator, Adobe PhotoShop, Macromedia Fireworks
and other tools as appropriate to develop the design elements of the
page.
Business Rules and Requirements
The business rules and requirements documents serve as the blueprint
for the development of the application. These documents supercede all
other communications oral or in writing, including documents, meeting
notes and emails that were exchanged during the prototyping process.
They are written as easy-to-read use cases for the application and form
the integration and acceptance test plans used in later steps of the
development process.
Requirements Walkthrough
TeraTech will walk through the prototype and use cases in a meeting with
the client to confirm the application as planned will do what all the
client stakeholders need. This is the last chance to fix any missing
or incorrect screens and rules before application delivery. (Design
problems identified after the signoff may be addressed in the enhancement
phase after delivery). The client will signoff on the requirements
and accompanying screenshots to formalize the approval of the prototype
and business rules and requirements. This also signs off the acceptance
test plan that will be used in accepting the application when it is
completed.
Coding standards
TeraTech developers utilize a set of coding standards so that
the code is easy to follow, is well organized, and can be readily understood
by other developers.
Documentation standards
Careful and precise documentation during development is essential to
making sure that software can be readily fixed and modified and is sustainable
over the years. TeraTech documents code headers and code blocks in the
source code and writes technical documentation outside the code to give
future programmers a roadmap to the application.
Peer code review
TeraTech utilizes individual and group peer review as a means
to ensuring that the code is complete and accurately implements the
business rules and requirements. It also serves to enforce coding and
documentation standards. It is our experience that bugs caught during
code review are much less expensive to fix than ones caught during testing
or actual program use.
Unit testing and Integration testing
The purpose of unit testing is to verify that the requirements are met
for each screen and report in the application. Integration testing verifies
that all the components of the application work together and that test
use cases can be run through the whole application from beginning to
end successfully. Testing is done on a staging server that duplicates
as near as is practical the production server environment.
Acceptance testing
Acceptance testing is similar to integration testing but is done by
the client to confirm that the application can perform all the agreed-upon
use cases correctly. Acceptance testing is done on the staging server.
Deployment
Deployment is the copying of the application code and database from
the staging server to the production server and the configuration of
any items that are different between production and staging servers.
If the staging server configuration and data have been carefully set
up to match the production environment this should be a low excitement
step.
Project management and Risk analysis
At all steps of the development process we track how much has been completed
and how much time has been spent. This allows us to address any potential
problem areas before they affect the successful outcome of the project.
It also keeps the development effort on track to meet the estimated
delivery date. We maintain a table of project risks and mitigations so that technical and human problems that are likely to arise during a project are monitored and dealt with proactively, thus reducing unpleasant surprises.
Project Plan
TeraTech proposes to use this approach on our project. We look
forward to meeting with you and all appropriate staff to determine how
we will work together to complete this application in a timely manner.
In that meeting we will determine the assumptions, deliverables and
milestones.
Qualifications
TeraTech has been offering custom programming services since 1989. Our
staff of analysts and programmers are experienced at understanding client
needs and managing projects successfully.
In addition to our custom programming work, TeraTech produces programming
tools for Basic and C. As a tools programming house we have close contacts
with Microsoft and are in the Visual Basic beta program.
Writing tools requires a greater level of skill than average programming
to produce reliable, fast, readable and reusable code. Our programmers
bring this same discipline to your project, so you can have confidence
that the work we do for you will be completed with high quality code
in a timely way.
ColdFusion
TeraTech has been a leader in ColdFusion consulting since version 1.5 was released in 1996. We have written many web database
projects for Fortune 1000 companies and government agencies using ColdFusion
and SQL Server, Oracle and Access. We have also done projects integrating
mainframe data into the web. TeraTech runs the Maryland ColdFusion User
Group and has organized eight national ColdFusion conferences.
TeraTech’s president, Michael Smith, is a nationally known speaker and author on ColdFusion programming. He has puplished articles in ColdFusion Developer's Journal and CF Advisor, and is a contributing editor to Fusion Authority magazine.
Next Step
Contact TeraTech with your project ideas.
Email [email protected]
Phone 301-424-3903
Fax 301-762-8185
Web consulting request form
|
|