Information Systems Engineering Development approaches – an overview
It’s all about cooking! Following a method is analogous to a recipe book! • A development method is like a recipe, giving guidelines • You can follow the recipe and produce a meal just like a top chef – Alternatively, you can follow the recipe and produce something inedible (even by the dog)!
Where we’ve got to…. • Development techniques have changed rapidly over the last 15 years • The approach to systems development still continues to evolve as we utilise new technology and software development approaches – Development approaches for web-based projects are poor – Many systems developed using system building tools
There is some agreement • All software developers agree that in the end the important issue is not so much about which methodology you use, as having some kind of framework within which to structure your project. • Today’s developers have a much more realistic view: you need to adapt your recipe to the ingredients you have and to the preferences of the consumers
Also agreement on what a methodology is all about.. As we said in the previous lecture: • Should provide a framework for evaluating the problem the project is intended to address • Should provide a roadmap for the project ensuring that no important stages are left out and everything is proceeding to plan • Provides tools and techniques that enable us to represent (model) different aspects of the system
What development methods are out there? (1) • From Avison & Fitzgerald (2006) – 1st publication of book in 1988 described area of I.S. development methodologies as ‘a jungle’ – 3rd edition not much had changed still ‘a methodology jungle’. • Estimated in 1995 that over 1,000 brand name methodologies existed • Many of these were the same but differentiated for marketing purposes
What development methods are out there? (2) • Avison & Fitzgerald cont… – Today probably less than one hundred methodologies • number of fundamentally different methodologies even smaller (again many differentiated for marketing purposes)
– Concluding that: • some improvement in the situation • area less of a ’jungle’ than it was • But still more methods than necessary
Which are the most well known? • Prince2 (Projects in Controlled Environments) - not a development method as such! • Structured Systems Analysis and Design Method (SSADM) • Dynamic Systems Development Method (DSDM) • Joint Applications Development (JAD) • Unified Modelling Language (UML) - not a development method as such! • Rational Unified Process (RUP)
What is Prince? • PRoject IN Controlled Environments • Not a systems development methodology as such! • Aimed specifically at project organisation, management and control. – Not just for IT based projects
• History back to 1989 – Central Computer and Telecommunications Agency (CCTA) - a UK government agency
What is Prince? (2) • Now UK’s standard for project management in the Public Sector! • Prince2 is the latest version • Pay big money to attend courses/ get certification
What is Prince? (3) Key features of Prince2 described as: • Focus on business justification • A defined organisation structure for the project management team • Product-based planning approach • Emphasis on dividing the project into manageable and controllable stages • Flexibility to be applied at a level appropriate to the project.
PRINCE2 framework
Is it worth bothering about? • www.itjobswatch.co.uk ranks it 43rd in 2007 (up 15 points on year 2005) • Average salary £51,144 • Need to have Prince certification (costs of training) • http://www.prince2.com/whatisp2.html
SSADM (1) • Structure Analysis and Design Method • Developed by Learmonth and Burchett Consultancy (LBMS) for Central Computer and Telecommunications Agency (CCTA) • Adopted for public sector use by government in 1983 • Originally aimed at traditional waterfall development lifecycles • Gained a reputation for being bureaucratic, unwieldy, unproductive
SSADM (2) • In 1990s different versions of it appeared to try and make it more attractive to developers – Gave it a ‘cook book’ approach – Rapid Application Development version – Object Oriented version
• These days considered ‘ an old fashioned approach’
SSADM generic framework
SSADM stages • Each stage has a number of steps • Each step may have a number of substeps • Each stage/step/substep has one or more end deliverables associated with it…..
Example: Requirements Analysis • Investigation of current environment – – – – – –
Establish analysis framework Investigate and define requirements Investigate current processing Investigate current data Derive logical view of current services Assemble investigation results
• Business System options – Define business system options – Select business system options – Define Requirements
Is it worth bothering with? • Have to remember that it has left a legacy in most public sector systems as SSADM • Also left a legacy in many large organisations as LBMS • So, many systems still in existence that were developed in these environments • Ranked 418 in skills requirements in 2007 in UK (down 18 points on previous year) • Average salary - £47,045
DSDM (1) • Dynamic Systems Development Method – We will look at an overview of DSDM in this course and will look at it in detail in Rapid Development Methods
• Focus is on Rapid Application Development (RAD). – That is, that projects have to be completed within tight, fixed guidelines.
• Not a true methodology – gives a framework and guideline but no specific tools and techniques (use what you want)
DSDM (2) • Important departure for development approaches since it was developed for industry by industry. • Companies like BT, Logica developed a consortium to develop a usable RAD framework.
DSDM life cycle Feasibility Business Study
Functional Model iteration
Implementation
Design & build iteration
Is it worth bothering with? • Yes, RAD concept is popular with industry. • There are criticisms that DSDM framework is too complex and unworkable in real-world • The DSDM consortium have delivered a number of versions to support different types of development • IT skills survey: – RAD ranked 247 – DSDM ranked 422 (surprise….) • Within systems development/analysis skills it comes in at no. 11
UML • Unified Modelling Language • Again, not a methodology based upon our definition – A set of specifications and design notations for object oriented development – Developed combining modelling techniques developed by Booch, Rumbaugh and Jakobsen
UML models and diagrams
Is it worth bothering with? • Yes, it is standard for OO modelling • Good thing is that certain models e.g. use cases can be used outside of OO modelling world • IT skills survey ranks the skill at 37 (down 3 on last year) • Average salary - £45,958 • Big criticism, though, is that it is too complex (a bit like SSADM became)
RUP The Rational Unified Process • “A full-fledged process able to support the entire software development life-cycle”. • “Use case driven, architecture centric, iterative and incremental”
Use case driven • Use cases used here to capture the user requirements • A use case describes an element of the functionality of the system • All the use cases together (the use case model) depicts the total functionality of the system – The system is designed based upon the use cases – Implemented to support the use cases – Tested upon content of the use cases
• So, Use cases are very important!
Architecture centric • End deliverables or ‘artefacts’ are very important in the RUP just as they are in UML. • Compares software architecture to architecture of a house. • Many methods ignore development of the architecture (models etc) and concentrate on development of software.
Iterative and Incremental (1) • Belief that user requirements cannot be fully and accurately defined at one go. • Requirements evolve and change over time as understanding deepens. • This is a key concept of modern methods and we will come back to it over and over again.
Iterative and Incremental (2) • Iterative development: Acknowledges the fact that developers rarely get it right first time. There is a need to ‘go back’ and make controlled changes to the development as our knowledge and awareness of the situation develops. The waterfall method may be viewed as an early attempt at iterative development (eg the need for feedback at the end of each stage)
Iterative and Incremental (3) • Incremental development: Should go hand in hand with iterative development. The acknowledgement that if we wait for the complete system to be complete before we deliver it, won’t support the business needs now and will probably be out-of-date then. So, we deliver increments (working parts of the system) throughout the life cycle, in a controlled way.
RUP – Phases and resources
RUP – process structure
The future of methods (1) • Ad hoc development – No formalised methodology used – Experienced developers use best of approaches/tools/techniques they have previously encountered.
• Further development in formal method area – O-O methods and web-based methods continue to be developed – Methods using UML toolset are developed – Web-based methods?
The future of methods (2) • Adaptable methods – Methodologies that can be adapted for different environments are appearing – different to an ad-hoc approach: choice to mix-and-match but within a development framework.
The future?(3) • External development – Avison & Fitzgerald see a move toward outsourcing. – Organisations not then concerned with development issues - software house devises own framework