Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
1
FAR 3/18/04
3
FAR 3/18/04
4
FAR 3/18/04
DEPLOYING SOFTWARE
Software that is built correctly 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
6
FAR 3/18/04
SYSTEMS DEVELOPMENT
As organizations reliance on software grows, so do the business-related consequences of software successes and failures including:
Increase or decrease revenue Repair or damage to brand reputation Prevent or incur liabilities Increase or decrease productivity
7
FAR 3/18/04
1. Analysis phase involves analyzing enduser business requirements and refining project goals into defined functions and operations of the intended system Business requirement detailed set of
business requests that the system must meet in order to be successful
9
FAR 3/18/04
12
FAR 3/18/04
Systems Development Challenges Systems development is difficult and risky. Many projects are never finished.
Some projects finish 200 or 300 percent over budget. Some projects finish on schedule and within budget but do not meet their goals.
13
FAR 3/18/04
FAR 3/18/04
15
FAR 3/18/04
SDLC Model
A framework that describes the activities performed at each stage of a software development project.
Waterfall Model
Requirements defines needed information, function, behavior, performance and interfaces. Design data structures, software architecture, interface representations, algorithmic details. Implementation source code, database, user documentation, testing.
Waterfall Strengths
Easy to understand, easy to use Provides structure to inexperienced staff Milestones are well understood Sets requirements stability Good for management control (plan, staff, track) Works well when quality is more important than cost or schedule
Waterfall Deficiencies
All requirements must be known upfront Deliverables created for each phase are considered frozen inhibits flexibility Can give a false impression of progress Does not reflect problem-solving nature of software development iterations of phases Integration is one big bang at the end Little opportunity for customer to preview the system (until it may be too late)
The designer demonstrates the prototype, the user evaluates for problems and suggests improvements. This loop continues until the user is satisfied
Introduction to Agile
Agile software development refers to a group of software development methodologies that are based on similar principles. Agile methodologies generally promote: A project management process that encourages frequent inspection and adaptation; a leadership philosophy that encourages team work, self-organization and accountability; a set of engineering best practices that allow for rapid delivery of highquality software; and a business approach that aligns development with customer needs and company goals. MYTH: No documentation MYTH: Undisciplined MYTH: Agile is a process
Principles of Agile
Some of the principles behind the Agile Manifesto are: Customer satisfaction by rapid, continuous delivery of useful software Working software is delivered frequently (weeks rather than months) Working software is the principal measure of progress Even late changes in requirements are welcomed Close, daily cooperation between business people and developers Face-to-face conversation is the best form of communication (Colocation) Projects are built around motivated individuals, who should be trusted Continuous attention to technical excellence and good design Simplicity Self-organizing teams Regular adaptation to changing circumstances