Course Presentation
Fundamentals of Information Technology IS Methodologies
Mahdi Amiri April 2016
Sharif University of Technology
IS, Review Why Information Systems? Business firms invest heavily in information systems to achieve six strategic business objectives: Operational excellence. New products, services, and business models. Customer and supplier intimacy. Improved decision making. Without accurate information: Managers must use forecasts, best guesses, luck. See examples for each Competitive advantage. objective in the reference. Survival. Ref.: misnotesformba.wordpress.com/2015/02/18/strategic-business-objectives-of-information-system/ Page 1
Fundamentals of Information Technology, Mahdi Amiri, IS Methodologies
Methodology Definition Methodology is the systematic, theoretical analysis of the methods applied to a field of study. It comprises the theoretical analysis of the body of methods and principles associated with a branch of knowledge. Typically, it encompasses concepts such as paradigm, theoretical model, phases and quantitative or qualitative techniques. A methodology does not set out to provide solutions - it is, therefore, not the same as a method. Instead, a methodology offers the theoretical underpinning for understanding which method, set of methods, or so-called “best practices” can be applied to specific case, for example, to calculate a specific result. Ref.: en.wikipedia.org/wiki/Methodology Page 2
Fundamentals of Information Technology, Mahdi Amiri, IS Methodologies
IS Methodologies Definition Is composed of a number of clearly defined and distinct work phases which are used by systems engineers and systems developers to plan for, design, build, test, and deliver information systems. Is a splitting of software development work into distinct phases (or stages) containing activities with the intent of better planning and management. Ref.: en.wikipedia.org/wiki/Systems_development_life_cycle en.wikipedia.org/wiki/Software_development_process Page 3
Fundamentals of Information Technology, Mahdi Amiri, IS Methodologies
IS Methodologies Common Methodologies Waterfall Prototyping Iterative and incremental development Spiral development Rapid application development (RAD) Extreme programming (XP) and various types of agile methodology Ref.: en.wikipedia.org/wiki/Systems_development_life_cycle en.wikipedia.org/wiki/Software_development_process Page 4
Fundamentals of Information Technology, Mahdi Amiri, IS Methodologies
IS Methodologies Textbook Dennis, Wixom and Roth, Systems Analysis & Design, 5th Ed., John Wiley & Sons Inc., 2012.
Alan R. Dennis Kelley School of Business Indiana University
Barbara Wixom MIT Sloan Center for IS Research
Roberta Roth Management department University of Northern Iowa Ref.: www.wiley.com/college/info/dennis241008/resources/
Page 5
Fundamentals of Information Technology, Mahdi Amiri, IS Methodologies
IS Methodologies Textbook
Ref.: www.wiley.com/college/info/dennis241008/resources/ Page 6
Fundamentals of Information Technology, Mahdi Amiri, IS Methodologies
Systems Development Life Cycle SDLC, 10 Life Cycle Phases
Ref.: www.justice.gov/archive/jmd/irm/lifecycle/table.htm Page 7
Fundamentals of Information Technology, Mahdi Amiri, IS Methodologies
Systems Development Life Cycle SDLC, Common Life Cycle Phases
Ref.: www.wiley.com/college/info/dennis241008/resources/ Page 8
Fundamentals of Information Technology, Mahdi Amiri, IS Methodologies
Systems Development Life Cycle SDLC, Common Life Cycle Phases
Ref.: www.wiley.com/college/info/dennis241008/resources/ Page 9
Fundamentals of Information Technology, Mahdi Amiri, IS Methodologies
Systems Development Life Cycle SDLC, Common Life Cycle Phases
Ref.: www.wiley.com/college/info/dennis241008/resources/ Page 10
Fundamentals of Information Technology, Mahdi Amiri, IS Methodologies
Systems Development Life Cycle Planning, PERT chart and CPM PERT chart for a project with five milestones (10 through 50) and six activities (A through F). The project has two critical paths: activities B and C, or A, D, and F – giving a minimum project time of 7 months with fast tracking. Activity E is sub-critical, and has a float of 1 month. The program (or project) evaluation and review technique, commonly abbreviated PERT, is a statistical tool, used in project management, which was designed to analyze and represent the tasks involved in completing a given project. The critical path method (CPM) is an algorithm for scheduling a set of project activities. Ref.: en.wikipedia.org/wiki/Program_evaluation_and_review_technique Page 11
Fundamentals of Information Technology, Mahdi Amiri, IS Methodologies
Systems Development Life Cycle Planning, Gantt chart A Gantt chart is a type of bar chart, adapted by Karol Adamiecki in 1896 and independently by Henry Gantt in the 1910s, that illustrates a project schedule.
A Gantt chart showing three kinds of schedule dependencies (in red) and percent complete indications. Ref.: en.wikipedia.org/wiki/Gantt_chart Page 12
Fundamentals of Information Technology, Mahdi Amiri, IS Methodologies
Systems Development Life Cycle Project Management Software
Microsoft Project
Wrike, MS Project alternative for Mac
Merlin Project, for Mac OS X.
Smartsheet, cloud hosted and web-based Ref.: en.wikipedia.org/wiki/Comparison_of_project_management_software
Page 13
Fundamentals of Information Technology, Mahdi Amiri, IS Methodologies
IS Methodologies Approaches
The three basic approaches applied to software development methodology frameworks. Ref.: en.wikipedia.org/wiki/Software_development_process Page 14
Fundamentals of Information Technology, Mahdi Amiri, IS Methodologies
IS Methodologies Our Categorization and Roadmap Classic SDLC based Waterfall Parallel Development V-Model
Rapid application development (RAD) Iterative Development Prototyping Throwaway Prototyping (~Spiral)
Agile methodologies Extreme programming (XP), Scrum, Dynamic systems development method (DSDM)
Page 15
Fundamentals of Information Technology, Mahdi Amiri, IS Methodologies
IS Methodologies Waterfall With waterfall development, analysts and users proceed sequentially from one phase to the next.
The key deliverables for each phase are typically voluminous (often, hundreds of pages) and are presented to the approval committee and project sponsor for approval as the project moves from phase to phase. Ref.: www.wiley.com/college/info/dennis241008/resources/ Page 16
Fundamentals of Information Technology, Mahdi Amiri, IS Methodologies
IS Methodologies Waterfall, Pros and Cons
Ref.: www.wiley.com/college/info/dennis241008/resources/ Page 17
Fundamentals of Information Technology, Mahdi Amiri, IS Methodologies
IS Methodologies Waterfall Variations of Waterfall methodology:
Parallel Development V-Model
Ref.: www.wiley.com/college/info/dennis241008/resources/ Page 18
Fundamentals of Information Technology, Mahdi Amiri, IS Methodologies
IS Methodologies Parallel Development The parallel development methodologies evolved to address the lengthy time frame of waterfall development. Instead of doing the design and implementation in sequence, a general design for the whole system is performed. Then the project is divided into a series of subprojects that can be designed and implemented in parallel. Ref.: www.wiley.com/college/info/dennis241008/resources/ Page 19
Fundamentals of Information Technology, Mahdi Amiri, IS Methodologies
IS Methodologies Parallel Development Pros
Cons
Reduces Scheduled Time
Still Uses Paper Documents
Less Chance of Rework
Sub-projects May Be Difficult to Integrate
Ref.: www.wiley.com/college/info/dennis241008/resources/ Page 20
Fundamentals of Information Technology, Mahdi Amiri, IS Methodologies
IS Methodologies V-Model
The V-model is another variation of waterfall development that pays more explicit attention to testing. The development process proceeds down the left-hand slope of the V, defining requirements and designing system components. At the base of the V, the code is written. On the upward-sloping right side of the model, testing of components, integration testing, and, finally, acceptance testing are performed. In this manner, each level of testing is clearly linked to a part of the analysis or design phase, helping to ensure high quality and relevant testing and maximize test effectiveness.
A key concept of this model is that as requirements are specified and components designed, testing for those elements is also defined. In this manner, each level of testing is clearly linked to a part of the analysis or design phase, helping to ensure high quality and relevant testing and maximize test effectiveness. Ref.: www.wiley.com/college/info/dennis241008/resources/ Page 21
Fundamentals of Information Technology, Mahdi Amiri, IS Methodologies
IS Methodologies, RAD RAD Methodologies Rapid Application Development (RAD) is a collection of methodologies that emerged in response to the weaknesses of waterfall development and its variations. RAD incorporates special techniques and computer tools to speed up the analysis, design, and implementation phases in order to get some portion of the system developed quickly and into the hands of the users for evaluation and feedback. The following items may all play a role in RAD:
CASE (computer-aided software engineering) tools. JAD (joint application development) sessions. Fourth-generation/visual programming languages (e.g., Visual Basic.NET). Code generators. Ref.: www.wiley.com/college/info/dennis241008/resources/ Page 22
Fundamentals of Information Technology, Mahdi Amiri, IS Methodologies
Computer-aided software engineering CASE, Definition
Example of a CASE tools
Computer-aided software engineering (CASE) is the domain of software tools used to design and implement applications. CASE tools are similar to and were partly inspired by Computer Aided Design (CAD) tools used to design hardware products. Note: People mostly use CASE tools principally for their UML / designing tools.
Enterprise Architect from Sparx (sparxsystems.com).
Note: CASE (Computer Aided Software Engineering) is at a higher level than IDE (Integrated Development Environment). IDE is program-oriented whereas CASE is more project oriented. CASE tools can graphically show progress towards a general set of goals, including development of very different programs. IDE can greatly aid in the development of a single program but has no "knowledge" of other programs related only in that they contribute to the same set of goals. Ref.: en.wikipedia.org/wiki/Computer-aided_software_engineering Page 23
Fundamentals of Information Technology, Mahdi Amiri, IS Methodologies
Joint Application Design (JAD) Definition The JAD process also includes approaches for enhancing user participation, expediting development, and improving the quality of specifications. It consists of a workshop where “knowledge workers and IT specialists meet, sometimes for several days, to define and review the business requirements for the system. Through JAD workshops the knowledge workers and IT specialists are able to resolve any difficulties or differences between the two parties regarding the new information system. Ref.: en.wikipedia.org/wiki/Joint_Application_Design Page 24
Fundamentals of Information Technology, Mahdi Amiri, IS Methodologies
IS Methodologies, RAD RAD Methodologies Three RAD categories:
Iterative Development Prototyping Throwaway Prototyping
Ref.: www.wiley.com/college/info/dennis241008/resources/ Page 25
Fundamentals of Information Technology, Mahdi Amiri, IS Methodologies
IS Methodologies, RAD Iterative Development Breaks the overall project into a series of versions that are developed sequentially. The most important and fundamental requirements are bundled into the first version of the system.
Ref.: www.wiley.com/college/info/dennis241008/resources/ Page 26
Fundamentals of Information Technology, Mahdi Amiri, IS Methodologies
IS Methodologies, RAD Prototyping Performs the analysis, design, and implementation phases concurrently in order to quickly develop a simplified version of the proposed system and give it to the users for evaluation and feedback.
Ref.: www.wiley.com/college/info/dennis241008/resources/ Page 27
Fundamentals of Information Technology, Mahdi Amiri, IS Methodologies
IS Methodologies, RAD Prototyping
Ref.: www.wiley.com/college/info/dennis241008/resources/ Page 28
Fundamentals of Information Technology, Mahdi Amiri, IS Methodologies
Note: Our description of the throwaway prototyping is a modified version of the Spiral Development Model developed by Barry Boehm, 1988.
IS Methodologies, RAD Throwaway Prototyping (~Spiral) Includes the development of prototypes, but uses the prototypes primarily to explore design alternatives rather than as the actual new system (as in system prototyping).
Ref.: www.wiley.com/college/info/dennis241008/resources/ Page 29
Fundamentals of Information Technology, Mahdi Amiri, IS Methodologies
IS Methodologies, RAD Throwaway Prototyping
Ref.: www.wiley.com/college/info/dennis241008/resources/ Page 30
Fundamentals of Information Technology, Mahdi Amiri, IS Methodologies
Supplementary Material
IS Methodologies, Spiral Spiral Model Among the most flexible of SDLC models is the spiral model, which is a combination of the traditional waterfall model and the prototype model. It has four phases: requirements planning, risk analysis, development and testing, and planning the next iteration. At the end of the risk analysis phase, a prototype is produced, which is coded and tested in the third phase, then evaluated in the fourth phase; feedback from this iteration is used to plan the next one. The hallmark of the spiral model is its emphasis on risk analysis and mitigation, which makes it particularly suitable for very large, costly projects. Ref.: en.wikipedia.org/wiki/Spiral_model Page 31
Fundamentals of Information Technology, Mahdi Amiri, IS Methodologies
IS Methodologies, Agile Agile Methodologies Agile development is a group of programming-centric methodologies that focus on streamlining the SDLC. Much of the modeling and documentation overhead is eliminated; instead, face-to-face communication is preferred. A project emphasizes simple, iterative application development in which every iteration is a complete software project, including planning, requirements analysis, design, coding, testing, and documentation. Cycles are kept short (one to four weeks), and the development team focuses on adapting to the current business environment. Several popular approaches to agile development: Extreme programming (XP) Scrum Dynamic systems development method (DSDM) Ref.: www.wiley.com/college/info/dennis241008/resources/ Page 32
Fundamentals of Information Technology, Mahdi Amiri, IS Methodologies
IS Methodologies, Agile Extreme Programming Extreme programming emphasizes customer satisfaction and teamwork. Communication, simplicity, feedback, and courage are core values. Developers communicate with customers and fellow programmers. Designs are kept simple and clean. Early and frequent testing provides feedback, and developers are able to courageously respond to changing requirements and technology. Project teams are kept small. Ref.: www.wiley.com/college/info/dennis241008/resources/ Page 33
Fundamentals of Information Technology, Mahdi Amiri, IS Methodologies
IS Methodologies, Agile Extreme Programming
Ref.: www.wiley.com/college/info/dennis241008/resources/ Page 34
Fundamentals of Information Technology, Mahdi Amiri, IS Methodologies
Supplementary Material
IS Methodologies Other Methodologies SSADM (or STRADIS). Structured systems analysis and design method or Structured Analysis Design and Implementation of information Systems
Jackson system development (JSD) Information engineering (IE) or information engineering methodology (IEM)
Ref.: en.wikipedia.org/wiki/Structured_systems_analysis_and_design_method en.wikipedia.org/wiki/Jackson_system_development en.wikipedia.org/wiki/Information_engineering Page 35
Fundamentals of Information Technology, Mahdi Amiri, IS Methodologies
IS Methodologies Criteria for Selecting a Methodology
Note: Schedule Visibility: Knowing whether a project is on schedule. Page 36
Ref.: www.wiley.com/college/info/dennis241008/resources/
Fundamentals of Information Technology, Mahdi Amiri, IS Methodologies
IS Methodologies Project Time
Estimating Project Time Using Industry Standards Ref.: www.wiley.com/college/info/dennis241008/resources/ Page 37
Fundamentals of Information Technology, Mahdi Amiri, IS Methodologies
IS Methodologies Activity Task
Select a system development method and describe it in your group homepage. Try to include a case study. Try a CASE tool and describe your experience.
Ref.: www.wiley.com/college/info/dennis241008/resources/ Page 38
Fundamentals of Information Technology, Mahdi Amiri, IS Methodologies
Fundamentals of Information Technology IS Methodologies
Thank You Note: This presentation will be available in the course website. FIND OUT MORE AT...
1. http://ce.sharif.edu/~m_amiri/fit/ 2. http://www.aictc.ir/ Page 39
Fundamentals of Information Technology, Mahdi Amiri, IS Methodologies