Tuesday, April 3, 2012

Apr 3 (Ch 17): Building Software to Support an Agile Organization

Organizations must learn how to build and implement disruptive technologies, such as software for wireless devices, to remain competitive. Software that is built correctly can support agile organizations and can transform as the organization and its business transforms. Software that effectively meets employee needs will help an organization become more productive and enhance decision making. Software that does not meet employee needs may have a damaging effect on productivity and can even cause a business to fail.

LEARNING OUTCOMES

17.1 Identify the business benefits associated with successful software development.
The benefits associated with successful software development include:
• Increase in revenues
• Repair to brand reputation
• Prevent liabilities
• Increase in productivity

17.2 Describe the seven phases of the systems development life cycle.
The seven phases in the SDLC include:
• Planning phase – involves establishing a high-level plan of the intended project and determining project goals
• Analysis phase – involves analyzing end-user business requirements and refining project goals into defined functions and operations of the intended system
• Design phase – involves describing the desired features and operations of the system including screen layouts, business rules, process diagrams, pseudo code, and other documentation
• Development phase – involves taking all of the detailed design documents from the design phase and transforming them into the actual system
• Testing phase – involves bringing all the project pieces together into a special testing environment to test for errors, bugs, and interoperability and verify that the system meets all of the business requirements defined in the analysis phase
• Implementation phase – involves placing the system into production so users can begin to perform actual business operations with the system
• Maintenance phase – involves performing changes, corrections, additions, and upgrades to ensure the system continues to meet the business goals

17.3 Summarize the different software development methodologies.
There are a number of different software development methodologies including:
• Agile methodology – aims for customer satisfaction through early and continuous delivery of useful software components developed by an iterative process with a design point that uses the bare minimum requirements
• Waterfall methodology – an activity-based process in which each phase in the SDLC is performed sequentially from planning through implementation and maintenance
• Rapid application development methodology (RAD) – emphasizes extensive user involvement in the rapid and evolutionary construction of working prototypes of a system to accelerate the systems development process
• Extreme programming (XP) methodology – breaks a project into tiny phases, and developers cannot continue on to the next phase until the first phase is complete
• Rational Unified Process (RUP) – provides a framework for breaking down the development of software into four gates.
• SCRUM – uses small teams to produce small pieces of deliverable software using sprints, or 30-day intervals, to achieve an appointed goal

17.4 Define the relationship between the systems development life cycle and software development.
Software is developed using the systems development life cycle. Regardless of the chosen methodology, each software development project goes through each of the phases in the systems development life cycle from planning to testing to implementation.

17.5 Compare the waterfall methodology and the agile methodology.
The traditional waterfall methodology is a sequential, activity-based process in which each phase in the SDLC is performed sequentially from planning through implementation and maintenance. The waterfall methodology is one of the oldest software development methods and has been around for more than 30 years. The success rate for software development projects that follow this approach is only about 1 in 10. One primary reason for such a low success rate is that the waterfall methodology does not sufficiently consider the level of uncertainty in new projects and the creativity required to complete software development projects in several aspects

The agile methodology aims for customer satisfaction through early and continuous delivery of useful software components. An agile project sets a minimum number of requirements and turns them into a deliverable product. Agile means what it sounds like: fast and efficient; small and nimble; lower cost; fewer features; shorter projects.

For a successful systems development effort you would avoid the waterfall methodology and use an agile methodology.

17.6 Explain why software problems are business problems.
Only 28 percent of projects are developed within budget and delivered on time and
as promised, says a report from the Standish Group, a Massachusetts-based consultancy.
The primary reasons for project failure are:
• Unclear or missing business requirements.
• Skipping SDLC phases.
• Failure to manage project scope.
• Failure to manage project plan.
• Changing technology



Business Driven Technology (Customized WMU Edition)
Baltzan & Phillips.

0 Comments:

Post a Comment

Subscribe to Post Comments [Atom]

<< Home