SDT Workings Week 8

Development approaches are often hybridised, with organisations joining conventions as required. Additionally, CASE (computer aided software engineering) tools can be used to support development with logic-assistance software. CASE tools, used from design until compiling, are categorised into ‘Upper’ for design, ‘Integrated for all phases and ‘Lower’ for coding-level design.

case procon.png

CASE (Nipun Tomar)

Extreme Programming primarily differs from other Agile lifecycle methodologies by placing a focus on creating logical tests for a product to pass, using ‘pair programming’ with dual programmers alternately reviewing their code, effectively putting two heads together to code fewer defects with cleaner logic. It incorporates Scrum’s stand-up meetings and the principal devisor Beck defines it as “crank up all the knobs to 10” on essential practices and “leave out everything else”, generally minimising design phases, frequent communications and having short iteration timeframes.

RAD (Rapid Application Development), generally using GUIBuilders, is an approach to develop as quickly as possible, previously known as ‘Spiral Model’. RAD uses shorter and moderately ambitious lifecycles to swiftly produce prototypes for testing, starting with the most basic rendition (with all or most required functionality) and then building upwards through a few more iterations to reach agreeable completion.

Concept Per ex. Dynamics of Usage
Development Method / Approach
Structured Analysis + Design V-Model,

Waterfall / SSADM (OGC), DFD

·        Uses defined roles and operational processes

·        Top-down approach uses low level modules for higher execution control

·        Loosely coupled and highly cohesive modules

·        Structured approach produces cleaner coding

·        Dictates use of logical, data flow and entity event modelling

·        Can incorporate TSPs and PSPs (team/personal software processes) to improve code planning, timekeeping and quality

·        Hard to tailor down to small or non-time-critical projects

·        Requires more knowledge at start

·        DFD modelling more limited than UML

·        Can introduce added project limitations

·        Detailed designing opposes dynamism of requirements

Object-Oriented Analysis Booch, TDD, OMT, OOSE, UMLframework, Coad-Yourdon, DDD, BDD, ArgoUML,  MBSE ·        Uses objects to represent data +/ processes

·        Using UML, class, object, state transition, module, process and interaction diagrams to depict various functionality

·        A focus on using automated test processes for module’s implementation

·        Object oriented models are used to build into solutions for analysis

·        Transforming processes into software model for solution model

·        Requires exhaustive modelling of objects

·        Few defined standards, focus on modelling conventions

·        Design can restrictively center around a specific aspect of operation

·        High maintenance overhead

Development Methodology
Agile Scrum, RUM, XP, DevOps, Rational-Unified Process (IBM), FDD, DSDM, OSSD ·        Includes clients as active influencers of development

·        Well suited to modest, small or experimental projects

·        Suits individuals who like chaos

·        Not requiring exhaustive design modelling, only vitals

·        Iterative / incremental development

·        Building in scope for options n design and development

·        More management required

·        Values agility more than control, in that there are more requirements on parties’ time

·        Unsuited for large or critical projects

·        May involve more reworking and indefinite timeframes

·        Chaos handling requires strong team dynamics

Prototyping RAD / ISD, Spiral, Rapid / Throwaway, Evolutionary, Incremental / Extreme, ATDD ·        Higher quality assurance and control over Beta-phase usability

·        Improved control over risks and expectations

·        Clients perception of lower time and costs

·        Raised chance of completion

·        Well suited to small / medium sized teams and projects with high user interaction for feedback

·        Valuably regular feedback looping with high client involvement

·        Can emphasise clarity of use over speed and efficiency

·        More management required

·        Values agility more than control, in that there are more requirements on parties’ time

·        May have predefined end and tight timeframe, whilst being open to limited levels of research and analysis

·        Low quality distributions of prototypes

·        Entire development may incur high cost

Soft Systems SSM, Multiview, MDE, MSF ·        Aids problem resolution and technical assistance through monitoring and analysis

·        Methods+standardised models for simplifying the design process

·        Introduces rational action systems with ’systems thinking’ and focus on real-world model comparisons

·        Techniques to clarify definition of ‘soft problems’, choices with subjective conclusions

·        Incorporates CATWOE ‘business perspective’ focus (Customers, Actors, Transformations, Weltanschauung ‘Big-Picture, Environment)

·        Structured intervention combats complexity of organisational problem

·        May result in less liberal operations

·        Dictates human activity

·        Has 7 rigid phases (Problem, Understanding, Base Conceptualisation, Base Design, Standards, Comparison, Agreement, Action) able to be adapted at the Action phase

·        Requires high customisation after Action phase

Lean Objectory, ·        Focused on identification and removal of ‘waste’ processes

·        Uses Kanban system to aid organisational communication and coordination

·        Systematically prioritises quick product delivery and customer value

·        Unsuited

·        Recommends use of VSM and introduces analysis techniques for data and artifacts

·        Can result in simplistic products that are easily surpassed

Advertisements

Leave a Comment...

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s