Presentation on theme: "S OFTWARE D EVELOPMENT T ECHNIQUES By Geek’s Sporting Goods Jessica Crowley (CEO) Haley Alexander (CFO) Sarah Keyzers (CIO)"— Presentation transcript:
S OFTWARE D EVELOPMENT T ECHNIQUES By Geek’s Sporting Goods Jessica Crowley (CEO) Haley Alexander (CFO) Sarah Keyzers (CIO)
F UNDAMENTAL ’ S I NC. 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 Application Extreme Programming Incorporate to Fundamentals Inc. Alternative Options for Fundamentals Inc. C ONCEPT M AP
O VERVIEW 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.
S OFTWARE D EVELOPMENT T ECHNIQUES 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.
A DVANTAGES AND D ISADVANTAGES 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
D IFFERENT M ETHODS OF S OFTWARE D EVELOPMENT The Software Development Life Cycle (SDLC) The Waterfall Method Agile Software Development Rapid Application Development Extreme Programming
S OFTWARE D EVELOPMENT LIFE CYCLE The Software Development Life Cycle is 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
W ATERFALL 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!
A DVANTAGES AND D ISADVANTAGES 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
A GILE 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!!!!
R APID 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 RAD RAD!
E XTREME 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 C ORE P RACTICES
TIME AND COST OF SOFTWARE DEVELOPMENT Cost and Scheduling is difficult to determine. “The Real Estimation Process” Your estimate Other team members estimate Project Manager totals the individual estimates Overall Estimate Most of the time the project goes over the estimate
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.
S OFTWARE D EVELOPMENT 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.
R ECOMMENDATION 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
R ECOMMENDATION 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
SOURCES Prentice Hall: Custom Business Resources (Our Class Textbook) Information Systems Today development.asp development.asp programming.asp methodology/