Presentation is loading. Please wait.

Presentation is loading. Please wait.

IMAT1906 Systems Development Lecture week 16: system concepts (2) methodologies.

Similar presentations


Presentation on theme: "IMAT1906 Systems Development Lecture week 16: system concepts (2) methodologies."— Presentation transcript:

1 IMAT1906 Systems Development Lecture week 16: system concepts (2) methodologies

2 Today’s Agenda IMAT 1906 Lecture Week 16 (c) De Montfort University 2010-112  Systems development activities  Systems development methodologies  Traditional life cycle  Rapid methodologies  Agile methodologies  Prototyping  Systems development strategies  Summary

3 Purpose IMAT 1906 Lecture Week 16 (c) De Montfort University 2010-113  There are many ways to develop systems  Methodologies set out stages in development  Strategies set out where the development will happen

4 System development activities IMAT 1906 Lecture Week 16 (c) De Montfort University 2010-114  Developing a system involves several kinds of activity  Feasibility study  Requirements definition  Analysis  Logical system design  Process design, specification, development (coding)  Data model, database design, implementation  Interface design, confirm with users, screen building  Testing and deployment  How many of these activities have you seen or done?

5 Project planning IMAT 1906 Lecture Week 16 (c) De Montfort University 2010-115  In order to manage all this activity, developers do what is called project planning and control  Plan is a list of development steps or activities, with start and end dates  Also called project schedule  Start and end dates based on estimates of  How much effort needed for each activity  How many developers doing each activity  Hence how long it might take overall  Can be expressed in a gantt chart  Tasks and dependencies  Start and end dates

6 Example Gantt chart IMAT 1906 Lecture Week 16 (c) De Montfort University 2010-116

7 System development terminology IMAT 1906 Lecture Week 16 (c) De Montfort University 2010-117  Plan also includes milestones and deliverables  Milestone  A key point in development activity  Sometimes a decision point - do we continue or stop?  Examples: end of feasibility study; end of data analysis  Deliverable  Something that is supposed to be handed over (delivered) during development  Usually at a milestone  Examples: feasibility report; data model; design diagrams and models; coded programs; test plans; test logs

8 Project control IMAT 1906 Lecture Week 16 (c) De Montfort University 2010-118  Plan allows progress to be monitored  Usual to have regular progress reports  From developers to team leader  From team leaders to project leader or project manager  Progress monitored against project plan  May need to re-plan if progress not as fast as planned  May have encountered unexpected problems  May have under-estimated development effort needed at different stages  May have over-estimated how many developers involved

9 Where are we on agenda IMAT 1906 Lecture Week 16 (c) De Montfort University 2010-119  Systems development activities  Systems development methodologies  Traditional life cycle  Rapid methodologies  Agile methodologies  Prototyping  Systems development strategies  Summary

10 System development methodologies IMAT 1906 Lecture Week 16 (c) De Montfort University 2010-1110  What is a methodology?  Standard order of activities  So a development methodology sets out a standard order of carrying out development activities  Why follow any methodology?  Ensures that all relevant steps are carried out  Following standard plan means everyone knows what to expect - developers, project team, users, management making decisions

11 System development characteristics IMAT 1906 Lecture Week 16 (c) De Montfort University 2010-1111  Some characteristics of development projects  Size of development team  Amount of time available before system needed  How well-understood the requirements are  Whether entire system needed at once or parts could be used on their own  When are different methods suitable?  Balance between size of development team and time available  Some methods deal with uncertain requirements better than others  Some methods better for piece-by-piece development

12 Methodologies - overview IMAT 1906 Lecture Week 16 (c) De Montfort University 2010-1112  Common methodologies include….  Traditional life cycle methodologies  Rapid development methodologies  Agile methodologies  Prototyping  Look at each in turn….

13 Traditional life cycle methodologies IMAT 1906 Lecture Week 16 (c) De Montfort University 2010-1113  Also known by other names  System Development Life Cycle (SDLC)  Waterfall development  V model - links testing to development stages  Each stage is completed and signed off before next one starts  Teams of experts only needed during ‘their’ stage  For example, programmers only needed during build phase  Working system is final deliverable, no interim system available  Easy to plan but not very flexible

14 Waterfall diagram IMAT 1906 Lecture Week 16 (c) De Montfort University 2010-1114 feasibility inception requirements design build testing implementation

15 V diagram IMAT 1906 Lecture Week 16 (c) De Montfort University 2010-1115 requirements specification design build unit testing system testing user testing - Shows testing relevant to development stages - Not really a development methodology by itself

16 Traditional life cycle - stages IMAT 1906 Lecture Week 16 (c) De Montfort University 2010-1116  Typical pattern of activity  Feasibility study  Project inception  Requirements analysis and definition  System design - logical design  Construction - coding, unit testing  System testing including user testing and end-to-end testing  Implementation  Some variation but not much

17 Traditional life cycle - feasibility stage IMAT 1906 Lecture Week 16 (c) De Montfort University 2010-1117  As we have seen, feasibility studies the overall concept of a proposed system  Develops an overview-level understanding of requirements  Examines proposed system in several contexts:  Operational alongside other existing systems  Business within existing business processes  Financial in terms of costs of system balanced by benefits  Technical performance predictions and constraints  Deliverable is feasibility report  Milestone is decision to go ahead with project

18 Traditional life cycle - inception stage IMAT 1906 Lecture Week 16 (c) De Montfort University 2010-1118  Means starting the development project going  Includes for example  Identifying the project team  Identifying and estimating development activities  Making the project plan  Setting out risks and issues  typically these are things that are not yet well-understood or decided but might have a big impact on the project  For example new untried technology  Setting out project budget  Agreeing how progress will be monitored  Deliverable is set of project plans, risk and issue logs

19 Traditional life cycle - requirement stage IMAT 1906 Lecture Week 16 (c) De Montfort University 2010-1119  As we have seen, requirements stage finds out the detailed requirements  Fact-finding techniques  Analysis of findings  Documented in summary level and detailed level  Test strategy and test cases also defined  Deliverables  Requirements specification document  Test strategy and test plans  Milestone is requirements sign-off  User management agrees that requirements are complete

20 Traditional life cycle - design stage IMAT 1906 Lecture Week 16 (c) De Montfort University 2010-1120  Design stage covers the logical design of the new system  Processes  Interface - input and output  Data  Perhaps outline business procedures around the system  Deliverable: set of logical models  Milestone: design sign-off  User management agrees that designed system will meet their needs

21 Traditional life cycle - build stage IMAT 1906 Lecture Week 16 (c) De Montfort University 2010-1121  Construction stage also called build stage  Specification of processing details  Coding of processes into programs or routines  Implementation of database  Turns interface design into screens and reports  Includes unit testing of programs, screens, reports  Includes quality reviews of programs, screens, reports  Deliverable: components of physical system  Milestone: construction sign-off  Project management agrees that all components are built and fit for purpose  System testing can begin

22 Traditional life cycle - system test stage IMAT 1906 Lecture Week 16 (c) De Montfort University 2010-1122  Test strategy designed at end of requirements stage  System testing ensures that components link together  End-to-end testing ensures that input is correctly transformed into outputs and is delivered to right places  User acceptance testing ensures that realistic test cases are correctly processed and give required results  Tests processes, interface, reports, configuration  Deliverable: test logs at relevant levels  Milestone: testing sign-off  System performs as expected and required  Users accept developed system

23 Traditional life cycle - implementation IMAT 1906 Lecture Week 16 (c) De Montfort University 2010-1123  Several activities to implement system  Install system as appropriate  Populate relevant databases - migrate or input  User guide and other documentation  User training  Include new system functions in business procedures  Deliverable: working system now operational  Milestone: system development completed  System up and running  Users trained  System functions integrated into business processes

24 Where are we on agenda IMAT 1906 Lecture Week 16 (c) De Montfort University 2010-1124  Systems development activities  Systems development methodologies  Traditional life cycle  Rapid methodologies  Agile methodologies  Prototyping  Systems development strategies  Summary

25 Rapid development methodologies IMAT 1906 Lecture Week 16 (c) De Montfort University 2010-1125  Also known by other names  Iterative development  Incremental development  Dynamic systems development  Development proceeds in phases according to priorities

26 Rapid development principles IMAT 1906 Lecture Week 16 (c) De Montfort University 2010-1126  It is possible to streamline system development  Some things can be done in parallel  Development and implementation can be done bit by bit  Must still maintain quality product  Must get and confirm user requirements  Must get design right  Must build and test each bit  Often time-boxed ie limited amount of time allowed

27 Rapid development stages IMAT 1906 Lecture Week 16 (c) De Montfort University 2010-1127  First stage is high level requirements definition  With user agreement, divide requirements into development phases  Business managers set priorities for delivering the phases  Often done in workshops to allow discussion and debate  Discussion can get heated; diplomacy needed  Agreement easier if project sponsor takes part  System development then becomes series of iterations

28 Rapid development - iteration tasks IMAT 1906 Lecture Week 16 (c) De Montfort University 2010-1128  Within each iteration, the usual development tasks are carried out  Design  Build  Test  Integration testing alongside previously-delivered phases  Implement  Next phase is next iteration

29 Rapid development diagram IMAT 1906 Lecture Week 16 (c) De Montfort University 2010-1129 prioritised requirements detailed requirements design build and test implement each phase

30 Rapid development - example IMAT 1906 Lecture Week 16 (c) De Montfort University 2010-1130  When would rapid development be needed?  When there is a strong business need to have the system up and running quickly  For example, to support a new product being launched quickly to beat the competition  Cannot develop in time using traditional methods  Business priorities are marketing then production then sales  System functionality developed in that order  Marketing functions developed and implemented  Production and distribution functions  Sales and order processing functions

31 Where are we on agenda IMAT 1906 Lecture Week 16 (c) De Montfort University 2010-1131  Systems development activities  Systems development methodologies  Traditional life cycle  Rapid methodologies  Agile methodologies  Prototyping  Systems development strategies  Summary

32 Agile methodologies IMAT 1906 Lecture Week 16 (c) De Montfort University 2010-1132  Also known by other names  Adaptive development  Extreme programming - pair programming  Joint development - joint with users  Principle is to be able to move very quickly and be very flexible

33 Agile development principles IMAT 1906 Lecture Week 16 (c) De Montfort University 2010-1133  Iterative, incremental development as with rapid methods  Constant feedback on how development progressing  Team knowledge base maintained and shared  Each phase incorporates what was learned in earlier phases  Intense teamwork involved to achieve each phase

34 Agile development stages IMAT 1906 Lecture Week 16 (c) De Montfort University 2010-1134  Development team includes business people and system developers  System phases identified and prioritised by business users  Each phase is a self-contained iteration  Delivers a set of functions  Builds on previous iterations  Designed by users and developed by developers in tandem  Time-boxing often critical  Follows spiral model

35 Agile development diagram - spiral IMAT 1906 Lecture Week 16 (c) De Montfort University 2010-1135 Ref: Boehm, B (1986) A Spiral Model of Software Development and Enhancement Can also be found in Shelly & Rosenblatt p 23

36 Where are we on agenda IMAT 1906 Lecture Week 16 (c) De Montfort University 2010-1136  Systems development activities  Systems development methodologies  Traditional life cycle  Rapid methodologies  Agile methodologies  Prototyping  Systems development strategies  Summary

37 Prototyping methodologies IMAT 1906 Lecture Week 16 (c) De Montfort University 2010-1137  Two main types  Throw-away prototyping  Evolutionary prototyping  Principle is to develop cut-down versions of system but working system at all stages

38 Throw-away prototyping IMAT 1906 Lecture Week 16 (c) De Montfort University 2010-1138  Used to aid users in understanding their requirements  Similar to a film set  Screens may look real  Little or no processing behind screens  Can be developed very quickly  Can be amended very quickly to allow users to work out what they need  Useful when users unfamiliar with concept of new system

39 Throw-away prototyping diagram IMAT 1906 Lecture Week 16 (c) De Montfort University 2010-1139 Implement Analysis Design Build Test

40 Evolutionary prototyping IMAT 1906 Lecture Week 16 (c) De Montfort University 2010-1140  Used to build up system incrementally  Initial prototype eventually becomes final system  Particularly useful when using CASE tools that generate working prototypes  As each iteration adds more functions, previous functions should be tested again  Tests that integration has been successful at each phase  System evolves through iterations  Changes in requirements can be accommodated  Can be combined with throw-away prototypes used for requirements gathering

41 Evolutionary prototyping diagram IMAT 1906 Lecture Week 16 (c) De Montfort University 2010-1141 Implement Analysis Design Build Test Release 1 Release 2 Release 3

42 When are different methods suitable? IMAT 1906 Lecture Week 16 (c) De Montfort University 2010-1142  Methods suitable under different circumstances  Traditional  Requirements can be well-defined and stable  Rapid  Insufficient time for traditional approach  Requirements not fully known at outset  Agile  Business users available for development team  Partial system functionality acceptable and/or necessary  Prototyping  When robust CASE tools available

43 Where are we on agenda IMAT 1906 Lecture Week 16 (c) De Montfort University 2010-1143  Systems development activities  Systems development methodologies  Traditional life cycle  Rapid methodologies  Agile methodologies  Prototyping  Systems development strategies  Summary

44 Systems development strategies IMAT 1906 Lecture Week 16 (c) De Montfort University 2010-1144  Systems development can take place in several ways  Inside the organisation: in-house development  Outside the organisation  Software supplier - off-the-shelf package  Software supplier - one-off development

45 In-house development IMAT 1906 Lecture Week 16 (c) De Montfort University 2010-1145  Organisation’s own development team or department  Advantages  Enables close interaction between user teams and development team  Developers can get to really understand business needs  Easier to control project budget  Disadvantages  Expensive to run development department  Business owners may not want to run a computer department as it is not core business

46 Package procurement IMAT 1906 Lecture Week 16 (c) De Montfort University 2010-1146  Select and purchase a package already developed  Advantages  No need to wait for development to happen  Costs are (thought to be) well-known at the outset  Can be a quick solution if package fits the requirement  Might be possible to tailor package to fit better  Disadvantages  Still need to identify and prioritise requirements  There may not be a suitable package available  Costs can escalate if there are implementation problems

47 One-off development IMAT 1906 Lecture Week 16 (c) De Montfort University 2010-1147  Get a consultancy to develop bespoke system  Advantages  Can get system specific to requirements  No need to maintain a development team or department  Can use a consultancy if in-house teams too busy  Disadvantages  Can be very expensive  Development team needs time to learn about business and requirements  Need to guard against misunderstandings  Need for extra vigilance on progress and problem reporting

48 Where are we on agenda IMAT 1906 Lecture Week 16 (c) De Montfort University 2010-1148  Systems development activities  Systems development methodologies  Traditional life cycle  Rapid methodologies  Agile methodologies  Prototyping  Systems development strategies  Summary

49 Summary IMAT 1906 Lecture Week 16 (c) De Montfort University 2010-1149  There are several system development methodologies  Traditional  Rapid  Agile  Prototype  There are several system development strategies  Develop in-house  Buy a package  Develop by a consultancy

50 Further information IMAT 1906 Lecture Week 16 (c) De Montfort University 2010-1150  Further information can be found in many textbooks on systems development or systems analysis, for example:  Skidmore & Eva (2004)  Chapter 10 Rapid Development and Prototyping  Chapter 13.4 testing in the context of system development  Chapter 14 Software Packages  Shelly & Rosenblatt (2010) pp 18-25  Bocji P, A Greasley and S Hickie (2008) chapter 7


Download ppt "IMAT1906 Systems Development Lecture week 16: system concepts (2) methodologies."

Similar presentations


Ads by Google