Date post: | 01-Apr-2015 |
Category: |
Documents |
Upload: | francesca-cushing |
View: | 214 times |
Download: | 0 times |
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/