Traditional software development lifecycle has typically been:
- Identify a need.
- Assign a team leader.
- The leader meets with stakeholders and users separately to capture requirements.
- Build the product.
- Deliver the product.
Meeting with stakeholders and users separately is a slow communication process. Business executives and managers are already swamped with day-to-day tasks and agendas. Providing input into new project development usually takes a back seat to necessary and immediate response of daily business needs.
Individual meetings cultivate tunnel vision and separate views on exactly what they want the new product to be. The sheltered environments fosters conflicting ideas and increases the scope of the original vision.
Finally, the product is built using the "Big Bang" theory--based on an unchangeable set of requirements, the product is built. New ideas are not incorporated in a timely manner. The result is a product that doesn't encapsulate a shared vision, nor does it allow for new ideas and changed business processes.
Our Approach
A project is a joint venture between business executives, software development professionals, and end users. It affects multiple areas of an organization, and therefore vision and feedback comes from multiple areas of that organization.
We subscribe to the Joint Application Development (JAD) methodology in order to ensure project, and ultimately, business success.
We also employ agile methods to ensure software development results more accurately provides the intended solutions. These methods include timeboxed iterative and evolutionary development, adaptive planning, evolutionary delivery, and other values and practices that encourage rapid and flexible response to change.
The ultimate goal is to realize a collective vision by jointly ensuring success.