Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Revisit - Software Development Methodology

Revisit - Software Development Methodology

Since the rise of Information Technology (IT), There are a lot of Software Development Methodology. See how many of them that you know.

hyperjump

April 22, 2021
Tweet

More Decks by hyperjump

Other Decks in Education

Transcript

  1. 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
  2. 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.
  3. 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)
  4. 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.
  5. 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.
  6. 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).
  7. 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”
  8. 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).
  9. 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”.
  10. 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).
  11. 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”
  12. 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.
  13. 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.
  14. 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.
  15. 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.
  16. 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.
  17. 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
  18. 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
  19. 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.