Software Development Methodology
Process Impact: This document and its attached worksheets
describe the software development process that is being used on this
project. Having a defined software process helps us coordinate our
myriad activities and allows us to make real improvements over time.
Consider how the following relates to your development process and
adjust the text to fit.
- How is this document organized?
- This page provides an overview of our development process. The
attached worksheets contain the details of the roles, practices, and artifacts that together define our
- Briefly, what is the overall process?
- Our software development methodology is
basically a waterfall, but it is tuned to the specific needs of web
application development. While each release is a waterfall, we do
many small releases.
- We follow a highly iterative development
process (3-month cycles) with an emphasis on prototyping to
validate requirements. Our emphasis is on change control and
on-going requirements management rather than up-front
- We have used more of a waterfall process in the
past, but now we are incorporating a few key ideas from open source
and agile processes. Specifically, we want more incremental
integration and testing, while keeping more formal planning and
- We bought into XP, in principle, but our
projects are too large to do without focusing more on traditional
practices. We emphasize planning, specification, and design with a
12-to-24-month horizon. We set high goals for test coverage and
spend significant time on reviews.
- What are the most important principles of our software
- Professional ethics: e.g., ACM Professional Standards
- Responsibility: we follow through on our promises.
- Cooperation: we work with other stakeholders for the
benefit of the overall organization.
- Quality: we build software that we are proud of and willing
- Manageability: our process and status are transparent and we
take direction well.
- Productivity: we produce software with reasonable cost and schedule.
- Innovation: we produce software that is ahead of the competition.
- Staff development: we are dedicated to our staff's