Slide 1

Slide 1 text

Software Development Methodology Software Development Methodology A Revisit A Revisit

Slide 2

Slide 2 text

List Of Them – See how much you know? • Structured Programming 1969 • Cap Gemini 1974 • Structured System Analysis and Design Method (SSADM) 1980 • Information Requirement Analysis/Soft Systems Methodology • Object Oriented Programming 1995 • Rapid Application Development 1991 • Dynamic System Development Method 1994 • SCRUM 1995 • Team Software Process 1998 • Rational Unified Process (RUP) 1998 • Extreme Programming 1999 • Agile Unified Process (AUP) 2005 • Disciplined Agile Delivery (DAD) • Scaled Agile Framework (SAFe) • Large Scale Scrum (LESS) • DevOps

Slide 3

Slide 3 text

Structured Programming 1969 • Focus on programming Structure and Blocks (a.k.a Function) • Flow control (if-then-else) and repetition (when/for/while) to switch Structure and Blocks • Replacing the “Jump” paradigm as the known methodology for turing style computing step approaches (assembly, initial ALGOL and GW basic). • Requirement, specification and design are built around Function Definition.

Slide 4

Slide 4 text

Cap Gemini 1974 • Created by Pandata in Netherland in 1974, which then bought by Cap Gemini in 1980, which then finalized in 1991 under the name of “Water Fall” or “System Development Method 2 (SDM2)”. • A proper waterfall which consist of 7 phase. Information Planning (IP), Definition Study (DS), Basic Design (BD), Detailed Design (DD), Realization (R), Implementation (I), Operational and Support (O&S)

Slide 5

Slide 5 text

Structured System Analysis and Design Method (SSADM) 1980 • Another Flavour of “Water Fall” • Introduced by Central Computer and Telecommunication Agency, a government Agency in UK. • The “Water Fall” of Analysis & Design. • Replaces The IP, DS, BD, DD phase in Cap Gemini into 7 further steps. • Stage 0 – Feasibility Study, Stage 1 – Investigation, Stage 2 – Business options, Stage 3 – Requirements Specification, Stage 4 – Technical Options, Stage 5 – Logical Design, Stage 6 – Physical Design. • In 2000, SSADM renamed to “Business System Development” and it contains 15 stages.

Slide 6

Slide 6 text

Information Requirement Analysis/Soft Systems Methodology • Concept released by Lancaster University Systems Department, after 10 years of research. • Analysis method for complex situations where a problem have different definition depends on the context and point of view. • 7 Stages. 1. Enter – Gather all problem statements, 2. Express – Explain and reason with problem statement, 3. Formulate – define Common Root Cause, 4. Model - Define the problem model of the root cause, 5. Compare – Make comparison of the Model toward Realworld case, 6. Plan – Make a change plan to fix the flawed Model, 7. Action – Implement Changes.

Slide 7

Slide 7 text

Object Oriented Programming 1995 • Original Concept born from SmallTalk-80 in 1970, and “OOP” is ratified in 1995, referring to SmallTalk ANSI implementation. • Imitate the nature of an Object in real live. • OOP still a programming method / paradigm supported by most modern programming language up-to-date. • Requirement and Design are built around Class Attributes (data structure, entity relations) and Behaviour (method and capabilities).

Slide 8

Slide 8 text

Rapid Application Development 1991 • Concept introduced by James Martin in 1991 indicates as The born of “Agile Principles” and “Iterative Development”. • Learn from the mistakes of “SSADM” waterfall model. • Have 4 disconnected phases that continuously consuming requirement, independent process and making output. 1. Planning, 2. User Design, 3. Construction, 4. Cutover. • Heavily rely on prototyping. • Prone to “Garbage in – out”

Slide 9

Slide 9 text

Dynamic System Development Method 1994 • An early branch of Iterative method. Released by the same entity that invented “SSADM”, Central Computer and Telecommunication Agency, a government Agency in UK. In 1994. Named as DSDM. • Breaks down Waterfall into smaller Waterfall called Iteration. • Instead of 7 phase, its become 4 iterated but loosely coupled phase. 1. Requirement (Business UseCase), 2. Exploration (Analysis&Design), 3. Engineering (Development), 4. Incremental (Product).

Slide 10

Slide 10 text

SCRUM 1995 • Scrum is an Agile framework for developing, delivering and sustaining complex product. • Used not only in software development. (Sales, Marketing, Research, etc) • Idea First introduced in a paper in 1986 “The New New Product Development Game”, The term “Scrum” is use to emphasize team work, the term is coined by Hirotaka Takeuchi and Ikujiro Nonaka. Popularized by Ken Schwaber. • Stages are become obsolete, where “Sprint” is introduced while it share the same spirit as a “Scrum”.

Slide 11

Slide 11 text

Team Software Process 1998 • Focuses on team self management • The 1st agile process that obtain DOD sponsorship in 2000. • TSP is an organizing process of PSP (Personal Software Process). Whereas PSP talks about defining work units (equals to story point in scrum), work definitions (equals to user story) and criterias (equals to definition of done). • TSP handles the team organization part. • More formal form of SCRUM since it values a lot of metrics (prediction, accuracy, defect distribution, earned values, and a lot more).

Slide 12

Slide 12 text

Rational Unified Process (RUP) 1998 • RUP is another branch of Iterative Process. Which breaks down each big Waterfall Stage into smaller more predictive and easier iteration to handle waterfall. • Introduced by IBM as their “Rational” suites in 1996 with the name “Rational Objectory Process ROP”. Renamed to RUP in 1998 to make it more sounds and connected to “UML”

Slide 13

Slide 13 text

Extreme Programming 1999 • Introduced by Kent Beck in his book “Extreme Programming Explained” published in October 1999. • Born out of a real project lead by Kent Beck in Chrysler’s Human Resource - Payroll project. • Focus on Speed, Speed, Speed and Satisfaction. • Very similar to SCRUM, with the difference • Scrum Master tasks replaced by a Coach coaching • Product owner is no longer required replaced by a real User. • Delivery is promised during planning. • Project Risks are more manageable for both side. • Stricter rule of engagement and passing criteria.

Slide 14

Slide 14 text

Agile Unified Process (AUP) 2005 • A simplified version of RUP, developed by Scott Ambler. • Its a marriage between RUP (Rational Unified Process) and TSP (Team Software Process). With small shift of concept. • Simplicity, where requirement are trimmed down greatly instead of piles of documents. • Agility, values are greatly embraced from Agile Alliance. • Only focus on whats will be used, not what might be used (TDD). • Tool independence. • Self managing team. • Introduced iteration of constant releases.

Slide 15

Slide 15 text

Disciplined Agile Delivery (DAD) • Identified as “means of moving beyond scrum” and superseed AUP (Agile Unified Process) • People-first. Collaboration of team member is paramount. Can happen anytime and must not be a problem. • Hybrid. combines the best of all agile factor (Scrum, Kanban, XP, SDM) • Complete. how dev, arch, management, requirement, governance, is fit together. • Roles : Stakeholder, Product owner, Team member, Team Lead and Architecture Owner. • Supporting Roles : Specialist, Domain Expert, Technical Expert, Independent Tester and Integrator.

Slide 16

Slide 16 text

Scaled Agile Framework (SAFe) • An agile process for agile organization consisting of lots of organic agile team. • The idea of SAFe started in 2007 and been refined to the first release on 2011. in 2020, its been on the version 5.0. • Compatible with any agile methodology, with additional perks. • Higher level or End-User are source of requirement for product owners. Roadmap are now part of stories in addition to epic. • Abstraction of agile. • Delegated authority. Product owner authority over backlog are now delegated to other entity (board of PO). • Synchronized Deliverables. Releases by multiple team are coordinated by another entity (e.g. release manager) • In addition to UserStory and Techdebt, Innovation is an allocated portion.

Slide 17

Slide 17 text

Large Scale Scrum (LESS) • LESS is a SCRUM for large team count. (8 scrum teams). • Beyond 8 team, you should use “LESS HUGE” • Where scrum team are HIGHLY SPECIALIZED, instead of consisting of “Jack of all trades”. • LESS may categories SCRUM team by Speciallity (Disciplines), Purpose, Skills sets or Organization/Coordination Levels.

Slide 18

Slide 18 text

DevOps • Combines IT Development and Operations. • Supports SDLCs, Quality Process and Continuous Deliver. • And Agency for IT in organization. • Includes : • Code • Build • Test • Package • Release • Configure • Monitor

Slide 19

Slide 19 text

Bonus Methodology – the ??? • The only software development method that any software release produced by it MUST be certified by FAA. • The use of software that gone through ??? - MUST NOT FAIL. • Has 5 certification rating, based on its effect toward human lives at risk. (from highes to lowest) • A. Catasthropic – Failure WILL cause human live. • B. Hazardous – Failure MAY cause human live or huge loss • C. Major – Failure influence factors whith higher risk factor to occure. • D. Minor – Failure may cause lost of comfort or moderate non-fatal event. • E. No Effect – Failure may cause lost gain over normal operation. • The methodology is call DO-178

Slide 20

Slide 20 text

More DO 178 • ALL of the software stack used in the product MUST ALSO DO 178 certified (operating systems, drivers, apps). • ALL line of code must be documented, traced, all the way back to the safety requirement • ALL tools that you use to build the product MUST ALSO DO 178 certified (e.g. compiler, library, loaders, test suites, logger). • The product must be certified to run on any DO 254 certification. • Ironically, DO 178 and DO 254, while its being to protect human live, is a certification for IT product thats designed to run on a war machines.

Slide 21

Slide 21 text

TIL Today I Learned