S OFTWARE D EVELOPMENT T ECHNIQUES By Geek’s Sporting Goods Jessica Crowley (CEO) Haley Alexander...

Preview:

Citation preview

SOFTWARE DEVELOPMENT TECHNIQUES

By Geek’s Sporting GoodsJessica Crowley (CEO)Haley Alexander (CFO)

Sarah Keyzers (CIO)

FUNDAMENTAL’S INC. What are some software development

techniques our computer engineers can use to get us on the right track that aren’t too costly or time consuming?

How long might an upgrade like this take?

How much will this cost to implement?

Is this a logical move for a small distribution company, or any kind of small company (cost benefit analysis)?

Methods

System Development Overview

System Development

Life Cycle

Waterfall

Agile

Rapid Applicatio

n

Extreme Programmin

g

Incorporate to

Fundamentals Inc.

Alternative Options for

Fundamentals Inc.

CONCEPT MAP

OVERVIEW What is software development techniques?

What are the advantages and disadvantages of implementing software development techniques in your company?

What are the most commonly used software development techniques?

How to determine the technique that works best for you.

Alternatives to developing your own software.

SOFTWARE DEVELOPMENT TECHNIQUES Software development techniques also

referred to as systems development and information systems development.

According to our textbook, software development techniques is the process of creating and maintaining information systems.

The 5 components of an information system.

Software development requires both technical and business knowledge.

ADVANTAGES AND DISADVANTAGES

Advantage: Building a software the specifically fits the needs of your company.

Disadvantages: Determining the requirements Changing the requirements Scheduling and budgeting difficulties Changing Technology Diseconomies of Scale

DIFFERENT METHODS OF SOFTWARE DEVELOPMENT

The Software Development Life Cycle (SDLC)

The Waterfall Method

Agile Software Development

Rapid Application Development

Extreme Programming

SOFTWARE DEVELOPMENT LIFE CYCLE

The Software Development Life Cycleis a step-by-step process involved in the development of a software product.

System Identification, Selection and

Planning

System Analysis

System Design

System Implementation

System Maintenance

WATERFALL METHOD Popular and newer version of the systems

development life cycle model. This process model

follows a particular

life cycle in order

to ensure success in

process of software

development . Each Phase must be

completed before

moving to the next

stage (linear approach).

NO TURNING BACK!

ADVANTAGES AND DISADVANTAGES OF THE

WATERFALL METHOD

Advantages: Allows for departmentalization and managerial

control A lot of time is spent early on making sure that

requirements and design are absolutely correct Provides a structured approach Understandable and explainable process

Disadvantages: Does not embrace the inevitable changes and

revisions that become necessary with most projects. Not all requirements are received at once

AGILE SOFTWARE DEVELOPMENT

This method attempts to minimize risk by developing software in short time boxes called iterations.

Agile emphasizes face to face communication

TEAMWORK Agile methods are good at reducing

overheads, such as, rationale, justification, documentation and meetings, keeping them as low as is possible.

ADAPTABILITY!!!!

RAPID APPLICATION DEVELOPMENT

Places an emphasis on short development time (30-90 days).

Only appropriate for smaller projects due to the fact that the larger the project gets the harder it is to use.

Appropriate standards and control.

What makes RADRAD!

EXTREME PROGRAMMING

Main goal is to lower the cost of change in software requirements.

Pros: Reduce the length of development and feedback

cycles. Test early. Programmers work in pairs Teamwork! Gives managers predictability, flexibility,

consistency, and visibility. Cons:

Design not a top priority. Hard to implement. Deadlines difficult to meet.

XP CORE PRACTICES

TIME AND COST OF SOFTWARE DEVELOPMENT

Cost and Scheduling is difficult to determine. “The Real Estimation Process”

FIRST THINGS FIRST….

DETERMINING THE REQUIRMENTS!! Gather information from users, managers,

manufacturers, and your computer engineers. Interviews Questionnaires Observations

Decide exactly what you need and expect to gain from the software.

SOFTWARE DEVELOPMENT MAY NOT BE RIGHT FOR YOU!

If you feel…. Limited IS Staff IS Staff isn’t capable of building a software that

fits your needs IS Staff is already preoccupied

THERE ARE ALTERNATIVES!!!

ALTERNATIVES

1. Purchase a prepackaged system from a software development company (i.e. IBM or Microsoft).

2. Hire an outside firm to custom build a software program (i.e. outsourcing your software development).

3. End-user development.

RECOMMENDATION

GO AGILE! Quicker and faster than the traditional waterfall

method. Constantly, focuses on working together so that

everyone is happy with the new system Allows you to change your requirements Problems and complications are caught during

development. Video

RECOMMENDATION CONT…..

Consider the alternatives…

Things to think about.. The size and capital of your firm The experience of your IT Staff The risks involved in implementing software

development techniques

QUESTIONS

SOURCES Prentice Hall: Custom Business Resources (Our Class Textbook) Information Systems Today http://www.buzzle.com/articles/software-development-life-cycle.html http://www.mariosalexandrou.com/methodologies/waterfall.asp http://www.buzzle.com/editorials/1-5-2005-63768.asp http://www.mariosalexandrou.com/methodologies/agile-software-

development.asp http://www.mariosalexandrou.com/methodologies/rapid-application-

development.asp http://www.ffiec.gov/ffiecinfobase/booklets/d_a/10.html#3c3iii http://www.mariosalexandrou.com/methodologies/extreme-

programming.asp http://www.xprogramming.com/xpmag/whatisXP.htm http://articles.techrepublic.com.com/5100-10878_11-1044102.html http://agileintro.wordpress.com/2008/01/04/waterfall-vs-agile-

methodology/

Recommended