230 likes | 368 Views
Software Development Techniques. By Geek’s Sporting Goods Jessica 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?
E N D
Software Development Techniques By Geek’s Sporting Goods Jessica 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)?
System Development Life Cycle Concept Map Waterfall Alternative Options for Fundamentals Inc. System Development Overview Methods Agile Rapid Application Incorporate to Fundamentals Inc. Extreme Programming
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 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
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 RAD RAD!
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.
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 • Purchase a prepackaged system from a software development company (i.e. IBM or Microsoft). • Hire an outside firm to custom build a software program (i.e. outsourcing your software development). • 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
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/