Deliverables are prioritized by business value as determined by the customer. Rather than creating tasks and schedules, all time is “time-boxed” into phases called “sprints.” Each sprint has a defined duration (usually in weeks) with a running list of deliverables, planned at the start of the sprint. This approach emphasizes the rapid delivery of an application in complete functional components. By that time, changes can be difficult (and costly) to implement.Īgile is an iterative, team-based approach to development. As all deliverables are based upon documented requirements, a customer may not see what will be delivered until it’s almost finished. Another potential drawback of pure Waterfall development is the possibility that the customer will be dissatisfied with their delivered software product.Wireframes and mockups can help, but there’s no question that most end users have some difficulty putting these elements together with written requirements to arrive at a good picture of what they will be getting. In addition, customers are not always able to visualize an application from a requirements document. Customers are sometimes intimidated by details, and specific details, provided early in the project, are required with this approach. Gathering and documenting requirements in a way that is meaningful to a customer is often the most difficult part of software development, in my opinion. One area which almost always falls short is the effectiveness of requirements.Here are some issues we have encountered using a pure Waterfall approach: This provides a better software design with less likelihood of the “piecemeal effect,” a development phenomenon that can occur as pieces of code are defined and subsequently added to an application where they may or may not fit well. Finally, the software can be designed completely and more carefully, based upon a more complete understanding of all software deliverables.Because design is completed early in the development lifecycle, this approach lends itself to projects where multiple software components must be designed (sometimes in parallel) for integration with external systems.Except for reviews, approvals, status meetings, etc., a customer presence is not strictly required after the requirements phase.Testers can prepare test scripts from requirements documentation while coding is underway. For example, business analysts can learn about and document what needs to be done, while the developers are working on other projects.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |