Solar Tech Chuck Hess, CEO Jamie Tofte, CFO Christina Cruz, CTO “We are a nationwide chain of vineyards, dedicated to producing the only the highest quality wine grapes and wine varieties.” Software Program Needs to Track: Chemical/fertilization schedule Water levels/soil moisture content PH levels Equipment maintenance Budgeting and finances Input/output Questions From Pooginook Is it possible to create a customized program? How does one find a reliable source to develop the software? What will be the cost? Will software training be needed? Pros and cons of a customized product vs. standardized product? Is there currently a program on the market that will meet the needs? • Can be compared to Software Engineering • Combination of Marketing, and Computer Software • Software Requirement Analysis • Multiple divisions • • • • • • HR Finance Marketing Crisis Management Etc. “…software product planning is critical to the development success and absolutely requires knowledge of multiple disciplines” -Alan M. Davis User Need Software Product • Agile • Rational Unified Process (RUP) • Cleanroom • Waterfall • Iterative • Extreme Programming • Rapid Application (XP) Development (RAD) • Scrum • Spiral Differing philosophy Differing models for differing projects Implementation Maintenance Requirements Verification Design Steps to implement a Waterfall Model: 1. Requirements 2. Design 3. Implementation 4. Verification 5. Maintenance BENEFITS DRAWBACKS •Testing is inherent of every phase for this method •Oldest used paradigm •The waterfall method is an enforced discipline approach •Inhibits flexibility •It is document driven •Customer only sees the working version • “Lightweight” method • Family of development processes BENEFITS Each iteration passes through the full development cycle Lack of documents leads to scrutinizing Emphasizes face-to-face communication Completing in a specific time frame, or budget, is difficult Short time to develop software, incremental Video DRAWBACKS Kent Beck, 1996 Plan the project work based on 3 techniques User stories Time frame Prioritization Build the product based on user stories and show the evolving product to the customer as soon as possible What the customer needs today Codes are written in pairs Shared ownership of the code Stresses customer satisfaction Team work is emphasized Improves software project in 4 ways: Communication Simplicity Feedback Courage “Incremental” method Use of iterations For each iteration, design modifications are made and new functions are added “Daily builds” When to use Most of the requirements are known early, but still expected to evolve Get basic functionality to the market early New technology Strengths Weaknesses Develop the major functions first Requires early definition of a complete and fully functional system to allow definition of increments Customers can respond to each build Requires good planning and design Can re-architect within limits to accommodate new functionality May build too many features to use Enables programmers to build quickly Uses tools to build GUIs Visual Basic Delphi Does not have many of the setbacks of old Pros Cons Fast development Compromises Involves iterative functionality Compromises performance development Emphasis on creating prototypes Facilitates maintenance Example Amphora Wine Log Database Reports Charts Container & Vineyard Maps Cross Platform Upgrades & Support Free Trial Version $39.95 for Full Version Other Vineyard Management Software Vingrow Vintner's Advantage CropTrak The Winemaker's eSkye Vineyard Database VinX2 Management PAM AusVit PremiereVision SureHarvest Tiger Jill / Pocket Jill Total Scout / Total Ranch Vineworks $350 - $7200 Pooginook should see which program can best meet their needs Easy to Find Difficult to Find Development Relevant videos philosophies Diagrams Explanations of models Definitions of jargon Available software for Pooginook For more information look on our website about available software and software development techniques: solar-tech.pbwiki.com http://en.wikipedia.org/wiki/Software_development http://en.wikipedia.org/wiki/List_of_software_development_philosophies http://blog.joomlatools.org/2008/02/open-development-approach.html http://scitec.uwichill.edu.bb/cmp/online/cs22l/waterfall_model.htm http://www.extremeprogramming.org/what.html http://en.wikipedia.org/wiki/Agile_software_development http://www.webopedia.com/TERM/R/Rapid_Application_Development.html http://www.fermsoft.com/amphora/index.php http://www.winebusiness.com/referencelibrary/webarticle.cfm?dataId=43865 http://www.dilbert.com/ http://vinx2.net/videos/vinx2demo/ http://youtube.com/watch?v=ALWHCUNU8Nw http://youtube.com/watch?v=VGUXMTeRSfU