Sedista
    • Create new note
    • Create a note from template
      • Sharing URL Link copied
      • /edit
      • View mode
        • Edit mode
        • View mode
        • Book mode
        • Slide mode
        Edit mode View mode Book mode Slide mode
      • Customize slides
      • Note Permission
      • Read
        • Only me
        • Signed-in users
        • Everyone
        Only me Signed-in users Everyone
      • Write
        • Only me
        • Signed-in users
        • Everyone
        Only me Signed-in users Everyone
      • Engagement control Commenting, Suggest edit, Emoji Reply
    • Invite by email
      Invitee

      This note has no invitees

    • Publish Note

      Share your work with the world Congratulations! 🎉 Your note is out in the world Publish Note

      Your note will be visible on your profile and discoverable by anyone.
      Your note is now live.
      This note is visible on your profile and discoverable online.
      Everyone on the web can find and read all notes of this public team.
      See published notes
      Unpublish note
      Please check the box to agree to the Community Guidelines.
      View profile
    • Commenting
      Permission
      Disabled Forbidden Owners Signed-in users Everyone
    • Enable
    • Permission
      • Forbidden
      • Owners
      • Signed-in users
      • Everyone
    • Suggest edit
      Permission
      Disabled Forbidden Owners Signed-in users Everyone
    • Enable
    • Permission
      • Forbidden
      • Owners
      • Signed-in users
    • Emoji Reply
    • Enable
    • Versions and GitHub Sync
    • Note settings
    • Note Insights New
    • Engagement control
    • Transfer ownership
    • Delete this note
    • Save as template
    • Insert from template
    • Import from
      • Dropbox
      • Google Drive
      • Gist
      • Clipboard
    • Export to
      • Dropbox
      • Google Drive
      • Gist
    • Download
      • Markdown
      • HTML
      • Raw HTML
Menu Note settings Note Insights Versions and GitHub Sync Sharing URL Create Help
Create Create new note Create a note from template
Menu
Options
Engagement control Transfer ownership Delete this note
Import from
Dropbox Google Drive Gist Clipboard
Export to
Dropbox Google Drive Gist
Download
Markdown HTML Raw HTML
Back
Sharing URL Link copied
/edit
View mode
  • Edit mode
  • View mode
  • Book mode
  • Slide mode
Edit mode View mode Book mode Slide mode
Customize slides
Note Permission
Read
Only me
  • Only me
  • Signed-in users
  • Everyone
Only me Signed-in users Everyone
Write
Only me
  • Only me
  • Signed-in users
  • Everyone
Only me Signed-in users Everyone
Engagement control Commenting, Suggest edit, Emoji Reply
  • Invite by email
    Invitee

    This note has no invitees

  • Publish Note

    Share your work with the world Congratulations! 🎉 Your note is out in the world Publish Note

    Your note will be visible on your profile and discoverable by anyone.
    Your note is now live.
    This note is visible on your profile and discoverable online.
    Everyone on the web can find and read all notes of this public team.
    See published notes
    Unpublish note
    Please check the box to agree to the Community Guidelines.
    View profile
    Engagement control
    Commenting
    Permission
    Disabled Forbidden Owners Signed-in users Everyone
    Enable
    Permission
    • Forbidden
    • Owners
    • Signed-in users
    • Everyone
    Suggest edit
    Permission
    Disabled Forbidden Owners Signed-in users Everyone
    Enable
    Permission
    • Forbidden
    • Owners
    • Signed-in users
    Emoji Reply
    Enable
    Import from Dropbox Google Drive Gist Clipboard
       Owned this note    Owned this note      
    Published Linked with GitHub
    • Any changes
      Be notified of any changes
    • Mention me
      Be notified of mention me
    • Unsubscribe
    --- title: 'Syllabus TPM030a: Introduction to Cloud Infrastructures: The Effects of the Business of Computing on Practice' disqus: hackmd --- ![](https://i.imgur.com/VKaar1w.jpg) <span style="color:blue"> TPM030a Introduction to Cloud as Infrastructure: The Effects of the Business of Computing on Practice </span> === Overview: https://hackmd.io/om2FWqyCREK4Vo3I6uA6Ew Sessions: 1-3: https://hackmd.io/s/BJu_iY5Yt Sessions 4-8: https://hackmd.io/v6-57H-mSey99jOwfi5Wag Assignments: https://hackmd.io/0ywQqj3cRru54RXz40vGMg ## Table of Contents [TOC] ## Logistics The course takes place in Quarter 2, 2021/2022. Course times: 13.45-15.45 Wednesdays and Thursdays Room: TBA Online availability: the course is also available for online participation. Office Hours: 16.00-17.00 Wednesday Office Location: ## Course Description Why is there a rush to AI? What is the role of cloud computing in the multi-trillion dollar valuation of tech companies? Are mobile phones really personal devices? How has the way software is produced today changed the theory and practice of computing? And, what are the implications of the technical breakthroughs pushed by big tech companies (Google, Apple, Facebook, Amazon and Microsoft (GAFAM)) for our societies? These are some of the questions we will ask during this course. In this course, we will look at these questions through concrete shifts in the production of software and the business of computing that lead up to the GAFAMs. Examples of such shifts include the turn from personal computers to (mobile) devices attached to the clouds, waterfall methods to agile/lean methodologies, monolith architectures to (micro)services, instruction-based programming to AI, and the move from general-purpose to specialized chips. Throughout the course, you will also get to explore how (geo)political, economic and technological factors brought these shifts into being. Increasingly shaped by and for GAFAM, software production has gone through fundamental changes that impact how computing and our society is organized. Information and Communication Technologies (ICTs) have always been important for the functioning of public and private organizations. However, the turn to agile production with services based on current computational infrastructures (e.g., clouds, personal devices, (sensor) networks) is different in that it organizes computing in a way that increases dependencies on the tech giants and their economic underpinnings. These dependencies bring about significant changes that affect people, institutions and our common infrastructures (e.g., health, education, transportation, energy). These changes require a deeper understanding and a broader reflection as we implement digital services in all aspects of life using computational infrastructures dominated by GAFAM. Concretely, each week is made up of two blocks that focus on different aspects to uncover the shifts and their role in the making of current computational infrastructures. In block one, we will learn about the shift in the production of software and associated computational infrastructures through hands-on case studies. While some of these changes are historical, we will use different methods to uncover how these shifts play out in the context of GAFAMs today. In block two of each week, we will discuss how each shift raises novel privacy concerns and explore how the industry responds to these concerns by folding them back into a problem of design. Towards the end of the course, you will reflect on how these new forms of computing and software production aim to reconfigure organizations. As importantly, you will reflect on what this new form of production means for developers, engineers and (computer) scientists and the potentials and constraints it imposes on our ability to design systems that serve societal ends. **Acknowledgements** This course is the result of and feeds into the project "Programmable Infrastructures" at TU Delft. You can read more about the project [here](https://www.tudelft.nl/en/tpm/programmable-infrastructures/). Donald Jay Bertulfo, Nishant Shankar, Martha Poon, Femke Snelting, Michel van Eeten and Thijmen van Gend are the members of the team engaged in the production and implementation of the course. ## Important Details In the following, you find important details about the course, including an overview of the learning goals, how we will organize in and out of class activities and assignments to achieve these, and the assessment. Please note that the course language is English, meaning all session and all materials, the assignments and the exam will be in the English language. As of November 5th (the writing of this note), there is still uncertainty around whether the course will take place physically on campus, using online environments (BBB) or a combination of the two. Which of these will prevail will be determined by regulations as well as the input we receive from you. Please keep an eye out for the survey on Brightspace during the first week of class as to how we will organize the course. <details> <summary><b>Course Objectives</b></summary> ___ :::info 1. Demonstrate a basic understanding of the history of computing through exemplary shifts in software production 2. Compare the different roles big technology companies (Google, Apple, Facebook, Amazon, Microsoft shorthanded as GAFAM) play in providing current day computational infrastructures 3. Illustrate how software production has become more dependent on computational infrastructures 4. Reflect on the impact of new forms of software production on the capabilities of engineers, developers and scientists in designing and deploying systems 5. Analyze and assess different privacy concerns, and corresponding privacy technologies, that arise with shifts in software production 6. Explain how the rise of ML/AI technologies are related to computational infrastructures. 7. Speculate and predict possible futures of software production in the hands of GAFAM ::: </details> <details> <summary><b>Education Method & Course Materials </b></summary> --- The course sessions will be hands on, switching between lectures, class discussions and work groups. You are expected to peruse and digest the provided materials before coming to the course sessions. All materials will be available in or linked from Brightspace. In some cases, we will ask you to install software before coming to class. We will provide you with support in case you have troubles with the installation. Throughout the course, you will have the opportunity to complete case studies, presentations, and engage in self-study, group work, documentation and writing. As part of the course, we will ask you to prepare five small assignments that are based on academic and grey literature or various media (e.g., documentaries, commercials, technical artifacts). The assignments invite you to put to practice the concepts and insights you gained during the class session and to apply a variety of methods in uncovering how software production shaped and is shaped by computational infrastructures. For the assignments, we will supply you with some guidance on potential methods you may want to apply and sources you may want to use. You are also welcome to apply methods that you bring with you (that you learned during your studies or are curious to try out). If you are not sure about a method, you should get in touch with the instructors and we will provide you feedback. You will be given instructions for each of the five exercises minimum two weeks before they are due. All exercises will be accepted until the end of the semester with a one-point penalty for each week they are late. The exercises are to be completed in groups. We will give you feedback on your assignments as you make progress. You will also be given instructions for how to prepare for your oral exam. This course does not require a research paper or a written exam. </details> <details><summary><b> Assessment </b></summary> The assessment of the course is as follows: 10% engagement 50% 5 assignments 40 % oral exam The engagement is assessed based on the completion of a concrete assignment (e.g., preparing class notes + reflections on a select session). The oral exam must be graded with at least 5.0. Each assignment is graded with 10.0 points. The final grade consists of the weighted average of the three parts (engagement, assignments and exam), and the rounded grade must be at least 6.0 (5.75 rounded up). The final assessment is an oral exam which will be scheduled on January 18 and 19th, 2022. </details> <details> <summary><b>Enrollment/Application</b></summary> The class is intended for Master Students in the Faculty of TBM and EWI, as well as students in the 4TU Cybersecurity Specialization (https://www.4tu.nl/cybsec/en/minor/). </details> <details> <summary> <b>Accessibility and further Support </b> </summary> If you would like to participate in the course and because of a disability or other consideration may have a need for accommodation(s), please contact the course instructor or student services. Please also take note of the following student initiative for peer support: https://www.tudelft.nl/en/student/counselling/studying-with-a-disability/information/student-onbeperkt When studying, sometimes things may be too much; stress, anxiety, depression are common challenges for academics. Your mental health is as important as your physical health. TU Delft offers assistance for students: https://www.tudelft.nl/en/student/counselling/meet-us/psychologists/ or via email: psychologen@tudelft.nl You can contact them via mail to schedule a ‘Walk-in call’ before 11am every day (call is between 12:45 and 13:45) If you need any further support or assistance and do not know where to go, please contact the course instructor. </details> <details> <summary><b>Class Schedule</b></summary> TPM030a is taking place in Quarter 2 of the 2021/2022 academic year. The class has two sessions a week, consisting of two hour blocks each. The time slots are 13.45-15.45 Wednesdays and Thursdays. As of November 5th (the writing of this note), there is still uncertainty around whether the course will take place physically on campus, using online environments (BBB) or a combination of the two. Which of these will prevail will be determined by regulations as well as the input we receive from you. Please keep an eye out for the survey on Brightspace during the first week of class as to how we will organize the course. The first session of the course will take place physically and will be accessible online. Participation in this first session is mandatory. For online access we will make use of the BBB instance provided by the TBM faculty which you can reach here: [ @Thijmen, can you add the details here?] For an overview of the sessions, see below: [ @Thijmen: not sure if BS offers a better calendar function than this gantt chart. Happy to think with you on how to best do this. Finally, we are currently missinig assignment due dates. Something to come back to on Monday] </details> ```mermaid gantt title Overview of Sessions (axis = week number of the year) axisFormat %W section Block 1 Production Shifts Intro :a1, 2021-11-10, 7d Crisis :a2,2021-11-17 , 7d Virtual :a3, 2021-11-24, 7d Mobile : a4, 2021-12-1, 7d Agility: a5, 2021-12-8, 7d Chips : a6, 2021-12-15, 7d Nets :b7, 2022-01-06, 7d Future : a7, 2022-01-12, 7d section Block 2 Privacy Map CI :b1, 2021-11-11 , 7d Intro : b2, 2021-11-18, 7d Control : b3, 2021-11-25, 7d Bugnion : b4, 2021-12-02 , 7d Confid : b5, 2021-12-09, 7d Practice : b6, 2021-12-16, 7d AI :b7, 2022-01-06, 7d section Ass Release Ass 1 :b1, 2021-11-11, 7d Ass 2 : b3, 2021-11-25, 7d Ass 3 : b5, 2021-12-09, 7d Ass 4 : b6, 2021-12-16, 7d Ass 5 : b7, 2021-12-16, 7d Exams : b8, 2022-01-18, 7d ``` ## Course Sessions Each course session is made up of two blocks. Convention: Session 1, Block 2 -> S1B2 The different activities are color coded as follows: :::success Preparations for the class: text in green boxes describe activities we would like you to do before coming to class. ::: :::info Assignments: text in blue boxes describe the five assignments which will be used to assess your progress in the class. They are to be completed after a given block. Deadlines will be included in the description. ::: :::danger Takeaways: text in red boxes describe the main concepts and takeaways of the block. ::: :::warning In class activity: text in yellow boxes describe activities planned for us to work through during the blocks. ::: <details> <summary>S1B1: Introduction to Cloud as Infrastructure: The Course and the Team </summary> ___ **Block Prompts:** What is the point in taking this course? How is the course structured? What are important learning activities and how will these be assessed? What to do if you have special needs? How can we work together to make this course worth our time? **Block Overview** This course introduces you to transformations in software production that is dependent on the rise of GAFAM. We find ourselves today in a situation where a few technology companies have come to dominate computational infrastructures that shape what it means to do computing. While such infrastructures claim to provide economic and efficiency gains in the production of software and services, their power and dominance is informed by a number of transformations in software production that are just as much the product of business, geopolitics, regulation, and visions for consumer and business computing markets. Throughout the course, we will come to assess how a field of engineering, software production, as it becomes infrastructural, is not just shaped by those forces but has come to drive them. To make these transformations and the different forces at play more concrete, each week we will look at relevant privacy issues. We will explore how shifts in software production come to shape what counts as a privacy problem and how this recasting of the problem is addressed through privacy laws, consumer rights, public debate and software production. Towards the end of this course, you will have a deeper understanding of our current computational infrastructures, how they came to be and where they may be going. Equipped with this bigger picture, you will be able to assess the greater social, political, economic and organizational transformations brought about by the business of computing, and how they may impact your current studies and your future practice. ![](https://i.imgur.com/aOrEslt.png) *Image of FoxConn Assembly Tech Line for Apple phones from this [article](https://www.fastcompany.com/1819261/bad-labor-conditions-arent-just-problem-apple-we-all-have-stake)* During this first block, we will go through the main themes of the course, the learning objectives, time plan, learning activities, assessment, accessibility and special needs. We will also reserve some time to discuss your interests and expectations. :::success **Class Preparation:** Before coming to class, please answer the following questions in BS: 1) Introduce yourself shortly. 2) Share your thoughts on the following questions: * What is a possible development in computer science or the business of computing that will take place in 10 years? * What do you think your contribution will be to that development? ::: </details> <details> <summary>S1B2: Step by step towards the Business of Computing </summary> --- **Block Prompts:** What is a computer? What is hardware and software? What were computers used for in different decades? What shifts in the production of computational machinery and business models come to make or break players in the business of computing? **Block Overview**: In this session, we will visit the keldermannen collection at the Studieverzameling, EEMCS building. You can have a glimpse of the kelder collection [here](https://www.npostart.nl/de-keldermannen-van-de-tu-delft/20-10-2017/POMS_AT_11318409). We will be joined by Eric Winkel, curator of the kelder’s computer collection and former employee at the TU Delft’s ICT department. Eric will show us the computer collection, tell us about the rise and fall of Dutch computers and share with us his insights about how shifts in computing has influenced, shaped or changed the operational processes and practices in TU Delft’s ICT department over time. Studieverzameling is located at the basement of the Laagbouw of building 36. Entrance to the basement is on the right side of the hall just after DEMO. It is open for visits on Mondays. :::success *Class Preparation* Please watch the second episode of the PBS documentary "The Machine that Changed the World: Inventing the Future". This episode describes both the innovations in computing and the struggles of those inventors to create a business for computing. For class, take note of three different forces (business, government, media, etc.) that come to shape the rocky beginnings of the business of computing and help it to its feet. <iframe width="560" height="315" src="https://www.youtube.com/embed/GropWVbj9wA" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe> ::: **REFERENCES:** 1. *Future thinking for historical study collection.* https://www.tudelft.nl/2019/ewi/toekomstdenken-voor-historische-studieverzameling </details> <details> <summary> S2B1: The Crisis of Control, Software and IBM </summary> ___ **Block prompts:** Why did information come to have such an important role in the production of goods and services? How did software come to be? What are some challenges of software engineering? How has the business of computing dealt with these challenges? ![](https://i.imgur.com/5GWaD6I.png) *Software, picture taken at the [Computer Museum Nam IP](https://https://www.nam-ip.be/en/museum-3/) , image from the [Techno Galactic Guide to Software Observation](https://observatory.constantvzw.org/tgsoguide_1806051351.pdf)* **Block Overview:** In his seminal book, James Beniger argues that the technological and economic origins of the information society lied in the industrial revolution. The thesis of the book is that industrial revolution brought about a dramatic increase in "the speed, amount and complexity of industrial processes" brought about a crisis of control. According to Beniger, the "control revolution" that ensued relies on the transmission of information in new and dramatic ways and is directed at the control of production, distribution and application (consumption). ![](https://i.imgur.com/m2HnYzT.png) *Image from the NATO Software Engineering Conferences (unclear whether from the Garmisch or Rome, taken from http://stg-tud.github.io/sedc/Lecture/ws13-14/1-Introduction-General.html#mode=document) While the promise of computers in processing information more rapidly was true, the increasing availability of computational power post WWII gave rise to its own problems. An early and prominent crisis associated with computers was the "software crisis". The problem got its first mention in 1968, at a [NATO](https://www.nato.int/) conference. The participants were concerned about the inefficiency, if not high rates of failure in software projects. The event also inaugurated software engineering and the profession of programming which continue to be plagued by high rates of inefficiencies, difficulties in maintenance and high rates of failures. Coincidentally, months after the first [NATO Software Engineering Conference](http://homepages.cs.ncl.ac.uk/brian.randell/NATO/) IBM unbundled its "software" from its "hardware" products. [Explain what that is] This was an act that partially responded to the anti-trust case against IBM. Also called the "independence day of software", the unbundling of software from hardware gave rise to a vibrant software industry that also seeded companies like Microsoft and Apple. However, despite the increasing diversity of players in the business of software, and the great strides made in formalizing the field within computer science, the challenges of software engineering remained hard. Throughout the next weeks, we will ask how these challenges, and how they were managed, came to give rise to GAFAM and the dominant production paradigms in software engineering today. :::danger **Programmability** "A machine is programmable if it can be instructed to fulfill more than one task." Robert Vanparys, During guided tour at the [Nam IP Computer History Museum](https://www.nam-ip.be/en/museum-3/), October, 2021. While the term programmability has been used differently by different communities, the Software Crisis can be considered a product of making machines that can fulfill numerous tasks based on their programs. Wendy Chun notes: "As computers became machines, programmers became human and programming became functionally equivalent to the process of "setting up" the ENIAC -- the physical act of wiring the machine for a particular problem." The image below titled "Software" is an instance of a program for a Bull Machine. The program, that came in a kind of suitcase, changed the relays so that the machine would switch from, for example, computing invoices to credit notes (typical of the early use of computing machinery in business operations, billing, logistics etc.). You may want to look at the original text by Wendy Chun to understand the difference between analog and digital programming. In his Turing speech, Dijkstra noted the following: ""[The major cause of the software crisis] is that the machines have become several orders of magnitude more powerful! To put it quite bluntly: as long as there were no machines, programming was no problem at all; when we had a few weak computers, programming became a mild problem, and now we have gigantic computers, programming had become an equally gigantic problem. In this sense the electronic industry has not solved a single problem, it has only created them, it has created the problem of using its products." [Check this summary, inlude the bit about dropo in hardware costs while the programming costs remain constant] Dijkstra here points to the complexity of programming a machine. His solution is to reduce the space of programmability and abstract problems in a way that they can be programmed more structurally. In many ways, Dijkstra's ideas have shaped the field of software engineering, but as importantly, the field of computer science. ![](https://i.imgur.com/jl23WHK.png) Image taken from the following [blog](https://histinf.blogs.upv.es/files/2010/12/crisis.png) However, programmability is not only challenging due to the difficulty of programming machines, but is further complicated as a result of the humans (and physical environments) experiencing it. As Matthew Fuller puts it, "The mad attempt to prescribe and anticipate every desire of the user produces a massive feature mountain whose potential interaction sequences mean that a user's actions cannot be completely determined in advance: the more features a program providers, the more possibilities for the user to act unpredictably." We will see in the future weeks that the challenges of programmability continue to inform efforts to wield these using computer science, technical mechanisms, engineering practices, management of developers and organizational measures. For further references: Software Studies Lexicon: Programmability, by Wendy Hui Kyong Chun, p. 224-229, in Software Studies: A Lexicon, Matthew Fuller (Ed), 2008. https://desarquivo.org/sites/default/files/matthew_fuller_software_studies_a_lexicon_2008.pdf Dijsktra's Turing Award Speech "The Humble Programmer" disecting the software crisis and providing a vision for software engineering, programming and computer science. The recording of the talk: https://www.youtube.com/watch?v=6sIlKP2LzbA Add Matt Fuller's piece on MS Word. ::: :::warning **Software Engineering: permanent crisis** "Software and cathedrals are much the same, first we build them and then we pray." Sam Redwine, 4th International Software Process Workshop, 1988. The NATO Software Engineering conference is said to have given birth to the field of "software engineering", playing a seminal role in framing the problems of the field. However, while the discussions and the resulting reports have well stood the test of time, the problems continue to challenge the business of computing today. Specifically, the explicit motivation for the NATO conference was to address was the high failure rate of the business of computing to produce and maintain large and complex software systems. The Standish Group has since 1994 published reports that take stock of whether software production failure rates have improved. Take a moment to study the 1995 and 2015 Chaos report: The Chaos Report (Standish Group, 2015): https://www.standishgroup.com/sample_research_files/CHAOSReport2015-Final.pdf How are the reports compiled? What are main outcomes of the reports? Is it possible to talk about improvements over the decades in successful software production? What criteria do the reports use to determine success or failure? What other criteria can you think of to evaluate whether a software project is a success? How do rates of failure play out today? See for example: It is estimated that 85% of AI projects will fail in 2022 [probably better to find something that is less of a company advertisement]: https://research.aimultiple.com/ai-fail/ Conversational Bot Failures: https://research.aimultiple.com/chatbot-fail/ Considering that most ML systems require costly production and compute, who are the winners and loosers of this high rate of failure in ML? What are the consequences of the production and deployment of ML in the world? ::: :::warning **Why NATO, why "software engineering"?** It is peculiar that the Software Engineering Conferences were organized by NATO and both of them took place in Europe. But, why? At the time of the conferences, the US was leading the software industry, so why would they organize an event in Europe? And, why would a military alliance be interested in the success of the business of computing and the challengese of software engineering? Here is a related series of events that may provide some explanation. In 1966, Charles de Gaulle downgraded France's membership in NATO, a military alliance . This also had to do with the unfulfilled desire of France to integrate its own nuclear deterrent into the alliance. Three months after withdrawing (partially) from NATO, France struck a bilateral cooperation agreement with the Soviets to collaborate on computer science research. In general, de Gaulle was interested in challenging American domination of the French computing market, potentially one of the earlier instances of concerns around "digital sovereignty. As part of this program, de Gaulle nationalized the Belgian-Norwegian computer company Bull and kicked of the Institut National de Recherche en Informatique et Automatique (INRIA). You can read more about the cooperation [here](https://link.springer.com/content/pdf/10.1007/978-3-642-22816-2_28.pdf). Could this be a geopolitical explanation of why NATO and why Europe for these two seminal conferences? Further, the conference was celebrated for the dawn of the field of "software engineering". However, at the time, most activities the conference referred to would be considered "computer programming" and were conducted by women. In [this](https://sci.bban.top/pdf/10.1109/mahc.2014.54.pdf?download=true) article, Sandy Payette argues that the selection of terms were symbolic of different programming cultures that existed at the time. She reads them through the different (and conflictual) approaches to programming of Grace Hopper and Edsger Dijkstra. The author also highlights that images of the conference show that the rooms were full of (white) men, scarcely showing the presence of women (although the reports were written by teams which included women). What cultures of programming existed then and which ones exist today, and how to they impact the demographic make up of computer science and the business of computing? ::: Further resources: A timeline of the control crisis: https://thecontrolrevolution.com/ Software Studies Lexicon: Programmability, by Wendy Hui Kyong Chun, p. 224-229, in Software Studies: A Lexicon, Matthew Fuller (Ed), 2008. https://desarquivo.org/sites/default/files/matthew_fuller_software_studies_a_lexicon_2008.pdf Dijsktra's Turing Award Speech "The Humble Programmer" disecting the software crisis and providing a vision for software engineering, programming and computer science. The recording of the talk: https://www.youtube.com/watch?v=6sIlKP2LzbA The Chaos Report (Standish Group, 2015): https://www.standishgroup.com/sample_research_files/CHAOSReport2015-Final.pdf </details> <details> <summary> S2B2: Introduction to Privacy </summary> </details> <details> <summary> S3B1: Sharing Compute: Time Share to Virtualization </summary> ```gherkin= Shift: Serial computing to Time Sharing # tech: the technology that materially manifests the shift Tech: Time Sharing Bla bla bla Bla ble blu # business model: either how the technoogy is shaped by or shapes or transformations the business of computing Business Model: Accounting of compute cycles, meta-billing Given the Maker has started a game with the word "silky" When the Breaker joins the Maker's game Then the Breaker must guess a word with 5 characters # company: which companies play a central role in the shift Company: IBM Other things # political context: any (geo)political issues associated with the shift Political context: US imperialism Bla bla bla # privacy: types of privacy issues associated with the shift Privacy: data in the registers can leak sensitive data Bla bla bla ``` </details> <details> <summary> S3B2: Privacy as Control: A matter of choice </summary> </details> <details> <summary> S4B1: The End of the Personal Computer </summary> ___ **Block Prompts** What makes a computer 'personal'? What social and economic processes are reorganized when computing goes mobile? Do you think of your smartphone as a computer? **Block Overview** *The Computer Moves In* ![](https://img.timeinc.net/time/magazine/archive/covers/1983/1101830103_400.jpg) IBM, emblematic of 'big business' and centralized corporate power as manifested in its mainframes, released the IBM PC in 1981, primarily intended for business use. The IBM PC business model was based on an open architecture: the hardware design was realized with 'off-the-shelf' components from third party manufacturers, and the operating system developed by Microsoft. Following the standard set by IBM, PC 'clones' proliferated the market, with Microsoft and Intel selling their products (OS, processors) to IBM's competitors as well. IBM was unable to break into the home computing market, and its approach to software production was slow and full of quality testing, unlike Microsoft's buggy but market-ready software production. With more PCs being sold every year, IBM's share of the PC market shrank from roughly 80 percent in 1982–1983 to 20 percent a decade later. References: https://spectrum.ieee.org/how-the-ibm-pc-won-then-lost-the-personal-computer-market (James Cortada, an IBM business historian) *The computer moves* Beginning in the late 80s and well into the 90s, discussions regarding the future of computing were taking place in industry and research communities. Mark Weiser's conception of ubiquitous computing, for example, envisioned computing as background to everyday life. Simultaneously, mobile computing as a field was emerging, and luggables, portables, and handhelds were new ways of moving the stationary personal computer aimed not just at consumers but for various sectors (healthcare, supply chain management, military, etc) to make certain operations more efficient. But this is not all the 90s has in store for us. Kenji Kushida claims that the liberalization of the telecommunications industry (and anti-trust efforts) in the 80s and 90s in three markets (Europe, US, and Japan) can be viewed as the setting for the development of a mature computer services industry in the US, equipment manufacturers in Europe, and telecommunications carriers in Japan. As this was happenning, telecommunications and networked-computing technologies were converging, setting the stage for mobile phones. References: (Meryl Alper https://journals.sagepub.com/doi/abs/10.1177/2050157918813694, Kenji Kushida https://link.springer.com/content/pdf/10.1007/s10842-014-0191-3.pdf, D.G. Messerschmitt https://ieeexplore.ieee.org/document/533962) *The mobile computes... or does it?* Apple introduced the iPhone in 2007, following up with the App Store in 2008. Google-led Open Handset Alliance (the group of equipment manufacturers contractually obligated to operate withing the Android ecosystem) was formed in 2007, with the first Android phone released in 2008. These devices possessed considerable computational power, with a growing array of sophisticated sensors. Smartphones can be thought of as a Matryoshka doll of platforms (the OS is a platform, offering the App Store platform, which offers social media apps that are platforms as well). In mobile computing research, mobile devices are considered resource poor as compared to static computing elements, and therefore one strand of research focused on remote execution of processes. This meant using mobile devices as essentially an ingress point, with computations being performed remotely, and then relayed back to the device for user engagement. The problem with this model was of course the lack of an infrastructure that could support these remote computations. Amazon was developing such an infrastructure in the form of the 'cloud', independent of mobile computing concerns. As handheld computers were initially billed as 'accessories to the PC', can mobile devices be conceptualized as accessories to the cloud? References: (PE of Android/Mobile Internet, https://firstmonday.org/ojs/index.php/fm/article/view/4050/3271, Cloud offload https://www.pdl.cmu.edu/PDL-FTP/CloudComputing/satya-getmobile-offload2014.pdf) :::success Preparations for the class: text in green boxes describe activities we would like you to do before coming to class. ::: :::danger Mobility Platform Open Source ::: :::warning **Personal Computers** Computer magazines served many purposes and targeted different audiences. Archivists and historians read magazines as media that is indicative of how computing practices were emerging. This is a challenging task, as there is often a lot to wade through, and the contents of the magazine cannot be removed from the political and socioeconomic conditions of the time. So in this task we attempt to look at this material together in order to examine the (changing?) position of the computer in the 1980s and 1990s. Divide the class into small groups and assign each group either a time period or a magazine to explore. They can use https://archive.org/details/computermagazines Here are some questions to guide your exploration: What were computers used for in the 1980s/90s? Who was using computers? Who are the advertisers? Are there companies that are familiar to you in today's computing industry? Are the advertisements targeted for home users or business users? Is there a specific industry that is being targeted? Are there advertisements for software? If so, what kind of software? ::: :::warning **Tracing the convergence** Divide the class into three groups that each focus on the computing industry, telecom carriers and equipment manufacturers during liberalization (80s/90s) to see how and where investments were flowing. What companies/institutions were the primary players in your industry? What was their business model? Which part of the world were they operating in? Compare and contrast with the state of your industry in the 2000s/2010s. ::: More fun stuff: Doris Norton "Personal Computer" https://www.youtube.com/watch?v=_3S-u_llVEE IBM PC Ads https://www.youtube.com/watch?v=kQT_YCBb9ao (could be a preliminary) </details> <details> <summary> S4B2: Guest Speaker: Ed Bugnion (EPFL, Co-founder of VMWare) </summary> Title and Abstract: TBA </details> <details> <summary> S5B1: Agile Businesses over Agile Software Development </summary> ___ **Block Prompts:** What does it mean for an organization to be agile? What is agile development and what role does it play in a larger project of restructuring global socio-economic and political relations? What does software and services have to do with agile? **Block Overview** According to the dictionary, to be “agile” means “to move quickly or easily.” Agile is therefore associated with both pace and ease of motion. However, motion implies a change of state and as we will see in this section, the state that needs to be changed is usually a crisis situation. Viewed in this manner, agile is a crisis response model just as how finance and neoclassical economics became instruments of control post-WWII. While we can reflect on the lexical definition of agile, it does not tell us anything about the direction of agile movement, the circumstances that bring about the need for agile, whether or not agile is a normative imperative and if so, in which cases. In this session, we will adopt a critical lens on “agile,” both in business and in software development. *The Elephant Dances* ![](https://i.imgur.com/GRjVNIV.jpg) *Dancing elephants in ancient Rome. Image taken from https://bibliolore.org/2017/09/07/dancing-elephants-in-ancient-rome/* In [*The Elephant Vanishes,*](https://www.newyorker.com/magazine/1991/11/18/the-elephant-vanishes) a short story published in 1991, Japanese novelist Haruki Murakami tells a mystical story of an aged elephant that mysteriously vanishes together with its keeper. The tale is popular for its depiction of the sense of imbalance that contemporary urban society creates, leading to the alienation of its dwellers. Around the same time, another ‘elephant’ was suffering from a prolonged corporate crisis and was in the brink of a financial disaster partly due to the meteoric rise of the personal computer and the decline in customer interest in mainframe computers. This elephant, IBM, was in turmoil and a change in leadership was in order. ![](https://i.imgur.com/r3V60Y0.jpg) *Published in 1993, Ferguson and Morris chronicle the decline of IBM. Negative business sentiment against the company became too intense, partly due to the publication of this book, to the point that it frightened commercial banks that were lenders to IBM.* In *Who Says Elephants Can’t Dance?* (2002), former IBM CEO Louis “Lou” Gertsner Jr. recounts IBM’s painstaking journey towards survival during the 1990s to demonstrate that large corporations can ‘dance’ – that is, can adapt to changing contexts by appropriating its business models and harnessing organizational change efforts to stay afloat in a volatile business environment. ‘Agile’ as a buzzword might not have gained ground just yet during the publication of Lou’s book, but you may find “dancing elephants” to be a fitting metaphor for what agile means in the context of large corporations. Lou Gertsner took the helm in 1993 after IBM announced the retirement of his predecessor, John Akers. Lou had a background in management consulting for McKinsey & Company and was the CEO of a consumer products business, RJR Nabisco, prior to being IBM’s CEO. He was a particularly peculiar character in the lineage of IBM CEOs as he was the first one to occupy that position despite the lack of an engineering background or prior experience in the computer industry business. Under his leadership, IBM made two big and “risky” bets with underlying visions that preceded the Internet and looked beyond the PC versus mainframe debate. He notes: > We saw two forces emerging in the industry that allowed us to chart a very different course. At the time, it was fraught with risk. But perhaps because the other alternatives were so unpalatable, we decided to stake the company’s future on a totally different view of the industry. >The first force emanated from the customers. I believed very strongly that customers would grow increasingly impatient with an industry structure that required them to integrate piece parts from many different suppliers. This was an integral part of the client/server model as it emerged in the 1980s. So we made a bet—one that, had we articulated it loudly at the time, would have left our colleagues in the industry rolling in the aisles. >Our bet was this: Over the next decade, customers would increasingly value companies that could provide solutions—solutions that integrated technology from various suppliers and, more important, integrated technology into the processes of an enterprise. We bet that the historical preoccupations with chip speeds, software versions, proprietary systems, and the like would wane, and that over time the information technology industry would be services-led, not technology-led. >The second force we bet on was the emergence of a networked model of computing that would replace the PC-dominated world of 1994. The first bet marked the early traces of a vision that would eventually materialize as a core shift in the business of computing: the shift from products to services. Mid-1990s, IBM’s vision was to position itself away from being a hardware company towards becoming an IT integrator of choice, a provider of “solutions” rather than products. Within IBM, business ideation around the ‘services-led model’ sprung out of an encounter with Dennie Welsh, then IBM vice president and president of IBM subsidiary named Integrated Systems Services Corporation which provides customized IT services to industries during that time. Dennie’s vision backed by solid technical knowledge seems to have cross-pollinated with Lou’s prior strategic experiences in running service-oriented businesses. Interestingly, this vision involved ‘companies *taking over* and *acting in behalf of customers* in *all* aspects of IT.’ In his book, Lou recalls his first private meeting with Dennie: >It was our first private meeting, but he didn’t waste much time on small talk. He told me that his vision of a services company was not one that did just IBM product maintenance and strung together computer codes for customers. He envisioned a company that would literally take over and act on behalf of the customers in all aspects of information technology—from building systems to defining architectures to actually managing the computers and running them for the customers. >My mind was afire. Not only was he describing something I’d wanted when I was a customer (for example, I had tried unsuccessfully to outsource the running of RJR Nabisco’s data centers), but this idea meshed exactly with our strategy of integration. Here was a man who understood what customers were willing to spend money on, and he knew what that meant—not just the business potential for IBM, but the coming restructuring of the industry around solutions rather than piece parts. >However, Dennie pointed out, this system was not going to be easy to implement inside the IBM culture. To be truly successful, we would have to do things that would shake the place to its roots. For example, the services unit would need to be able to recommend the products of Microsoft, HP, Sun, and all other major IBM competitors if that, in fact, was the best solution for the customer. Of course, we’d have to maintain and service these products as well. What Dennie and Lou took to be a ‘strategy of integration’ with an incredible ‘business potential’ in order to reverse IBM’s waning corporate power might have been one of the predecessors of software business models that extract continuous streams of rent from clients, generate deep dependency relationships with GAFAM, and reorganize the way we interact with software in the current day and age. In fact, Lou recognized the centrality of software, which he referred to as ‘the connective tissue of the networked world,’ as a linchpin to the services-led model that IBM was imagining during that time. A key part of the ‘IBM transformation’ story, as popular articles would put it, is the massive organizational transformation that had to happen for IBM to refocus its strategy toward a different business trajectory. This involved recasting the IBM Research Division as a key strategic asset, prioritizing broader technology dispersion and embarking on a more aggressive strategy to sell IBM technology. Lou describes these priorities below: * >The IBM Research Division was far more fertile and creative than our ability to commercialize all of its discoveries. We were under-utilizing a tremendous asset. * >Dispersing our technology more broadly would drive our ability to influence the definition of the standards and protocols that underlie the industry’s future development. * >Selling our technology would recoup some of our substantial R&D expenditures and open up a new income stream. According to Lou, IBM was so focused on the mainstream vs PC battle, deterring the commercialization of other products by its IBM Research Division. One way to push for a broader dispersion of technologies is through *third-party licensing,* which is what IBM did. This allowed other companies access to IBM’s patent portfolio or process technology. Income generated from this business grew three-fold from $500 million in 1994 to $1.5 million in 2001, Lou says in his book. Lou also recognized the importance of “a strategy built around providing fundamental building blocks of the computing infrastructure,” in preparing for a post-PC world that he anticipates (we will go back to this later). In line with this, IBM went on and attempted to prove that it is serious in the business of selling technology components through chips. The principal product that IBM offered then were simple memory chips called DRAMs. It proved profitable at the onset, but suffered because of the chip downturn of 1998 (an event we will return to in a separate session). Nevertheless, the entry of IBM into the chip market was part of a larger imaginary: >We were ready to tackle the emerging opportunity in the components business: The change in computing that we’ve been talking about was driving a fundamental shift in the strategic high ground in the chip industry. >As I’ve discussed, the action was going to be driven by the proliferation of Internet access devices, exploding data and transaction volumes, and the continued build-out of communications infrastructure. All that was driving demand for chips—and, to our great delight, chips that would have fundamentally different characteristics from the lookalike processors that powered lookalike personal computers. In this new model, value would shift to chips that powered the big, behind-the-scenes processors. At the other end of the spectrum there would be demand for specially designed chips that would go inside millions, if not billions, of access devices and digital appliances. And in between would be chips in the networking and communications gear. The imaginary alluded to above pertains to ‘networked world’ that would displace PC off the center stage. He imagined what this ‘post-PC’ world would look like and how that contrasts with a PC and client/server world, and the place of ‘large-scale’ systems in a post-PC world. >There were further implications of a networked world. The PC would be pushed off center stage. Very fast, high-bandwidth networks would allow many of the PC’s functions to be performed by larger systems inside companies and the network itself. This system would allow an untold number of new kinds of devices to attach to networks—intelligent TVs, game consoles, handheld devices, cell phones, even household appliances and cars. The PC would be one—but only one—of many network access devices. And if the world was going to be populated by billions of different kinds of computing devices, there would be huge demand for customized chips to power each of these unique devices. >More important for IBM, increasing numbers of people and enterprises conducting business over networks would drive a corresponding increase in computing workloads. The difficult task of managing all of that free-flowing digital information certainly was not going to be done on desktop computers. Those workloads would have to be handled by large-scale systems—meaning huge demand for computing infrastructure products, in addition to networking gear. >Finally, this new landscape would change who made technology buying decisions. In a PC and client/server world, consumers, end-users, and small-department heads were in the driver’s seat. But with the action shifting back to enterprise systems and mainstream business strategies, the decision makers would once again be chief technology officers and senior business leaders—people IBM knew and understood. IBM carries with it some historical pride in advancing the early stages of computing. IBM was instrumental in the production of mainframe computers, and the rise of software as an industry separate from hardware ("unbundling"). To prevent the demise of IBM into complete obsolescence, organizational changes had to happen. Strategy had to be rearticulated, business models had to be junked while new ones had to formed, and reorganization had to happen from "the company's roots", according to Lou. Lou's account argues that "elephants" can dance. Making it dance, however, is a nontrivial exercise that demands disruption in the standard ebb and flow of things. The story of disruption is typically erased or glossed over in popular discussions of agile which focus on the state of being agile ("quick" and "easy"), but not the path towards agile. Moreover, for organizations with lots of dependencies, "dancing elephants" may cause the ground to wobble. In some instances, they may cause the ground to crack. *The Manifesto for Agile Software Development* On February 11-13, 2001, seventeen men got together (some of whom have never known each other prior to the meeting) at Snowbird Ski Resort in Utah to “talk, ski, relax and try to find common ground – and of course, to eat.” At that time, these men (see below list of attendees) were tackling a particularly important emerging class of software development methodologies which were then called *‘lightweight methods,’* (although most, if not all, didn’t like the term). It is important to mention that they were associated with alternative *methodologies,* and therefore was not acquainted to just one view of what software development ought to be. The group had representatives from Extreme Programming (XP), Scrum, DSDM, Adaptive Software Development, Feature-Driven Development and Pragmatic Programming. *Snowbird Meeting Participants* | Participant | Profile | | -------- | -------- | | Kent Beck | Creator of *extreme programming (XP),* a software methodology that eschews rigid formal specification for a collaborative and iterative design process; leading proponent of [test-driven development](https://en.wikipedia.org/wiki/Test-driven_development). | | Mike Beedle | One of the early developers of the Scrum framework, along with Jeff Sutherland and Ken Schwaber. | | Arie van Bennekum | Represented the [UK DSDM consortium in the Snowbird meeting](https://www.todaysoftmag.com/article/2349/interview-with-arie-van-bennekum-about-agile-manifesto) and was involved in rapid application development. | | Alistair Cockburn | Studied how teams succeed for the [IBM Consulting Group, Inc. in the 1990s](https://www.linkedin.com/in/alistaircockburn), which led to the publication of the book *Surviving Object-Oriented Projects* in 1997; produced work that grew to become the [Crystal](https://en.wikiversity.org/wiki/Crystal_Methods) family of technologies. | | Ward Cunningham | Developed the first *Wiki* program, which made it possible to enter, edit and delete information by multiple users; contributed to the development of object-oriented programming and extreme programming; created the class-responsibility-collaboration (CRC) design method for object-oriented software. | | Martin Fowler | Popularized in his book *Refactoring* the practice of code refactoring, and authored a few other books like *Analysis Patterns,* *UML Distilled* and *Planning Extreme Programming* prior to the Snowbird meeting. | | James Grenning | Was an extreme programming coach and trainer, with professional roots in embedded software; published *Test Driven Development for Embedded C* in 2001. | | Jim Highsmith | Creator of *Adaptive Software Development,* a software development process that grew out of work on *Rapid Application Development* and embodies the principle of continuous process adaptation. | | Andrew Hunt | Co-authored *The Pragmatic Programmer,* a collection of tips to improve the software development process in a pragmatic way, with Dave Thomas. | | Ron Jeffries | One of the founders of XP, and was one of the coaches in the *Chrysler Comprehensive Compensation System* project, where XP was invented. | | Jon Kern | Started working on jet engine R&D before becoming an “object oriented evangelist,” worked closely with Peter Coad on [*Feature-Driven Development*](https://www.informit.com/articles/article.aspx?p=1739476) and on books *Java Design* and *Modeling in Color with UML*. | | Brian Marick | A programmer and software testing consultant who was working on projects involving *Test Driven Development* before the Snowbird meeting. | | Robert C. Martin | Founder of ObjectMentor which provided instructor-led training on the XP methodology; recognized for developing software design principles, five of which are now popularly known by the mnemonic [*SOLID*](https://en.wikipedia.org/wiki/SOLID). | | Steve Mellor | Developed the [Shlaer-Mellor method](https://en.wikipedia.org/wiki/Shlaer%E2%80%93Mellor_method), a method that championed a new object-oriented paradigm to overcome the weaknesses of structured analysis and design methods of the 60s and 70s, and [*Executable UML*](https://en.wikipedia.org/wiki/Executable_UML), a software development method and language which supports [*model-driven architecture*](https://en.wikipedia.org/wiki/Model-driven_architecture). | | Ken Schwaber | One of the early developers of the Scrum framework, along with Jeff Sutherland and Mike Beedle | | Jeff Sutherland | One of the early developers of the Scrum framework, along with Ken Schwaber and Mike Beedle; served as Chief Technology Officer of many software technology companies prior to the Snowbird meeting | | Dave Thomas | Co-authored *The Pragmatic Programmer,* a collection of tips to improve the software development process in a pragmatic way, with Andrew Hunt | *Source: Wikipedia profiles and https://agilemanifesto.org/authors.html. The Manifesto webpage does not include the profiles of Kent Beck, James Grenning and Steve Mellor.* ‘Lightweight methods’ were arising as an antithesis to “documentation-driven, heavyweight software development processes.” What transpired from the meeting was a set of four values (and, thereafter, twelve principles) that articulated a common vision for how software development ought to be – the *Manifesto for Agile Software Development,* now popularly known as *The Agile Manifesto.* You can check out [this article](https://www.kaizenko.com/a-behind-the-scenes-look-at-the-writing-of-the-agile-manifesto/) which describes the meeting "behind the scenes" with nice photographs about the process of crafting the manifesto. :::warning **Reliving the Snowbird meeting** The Agile Uprising Podcast has interviewed 14 out of 17 authors of the *Manifesto for Agile Software Development.* You can listen to them [here](https://agileuprising.libsyn.com/category/Manifesto+Series). The interviews follow a core interview structure, which means that the authors are asked with common questions (e.g., about his recollection of the Snowbird meeting), substantiated by interview-specific probing questions. 1. Pick one character from the list of attendees. Conduct a preliminary research of his background before coming to class. Include, in your search, what happened to him after the Snowbird meeting (some of the original signatories dissociated themselves from agile, and it would be nice to know what factors contributed to the falling-out) 2. Listen to his interview (before class) and jot down notes (What was his background? Who invited him to the meeting? What was his contribution to the discussions?) In the in-class sharing activity, we will reconstruct what happened during the Snowbird meeting from Day 1 to Day 3. You will represent the character you selected in the discussion. As the discussion proceeds, look at things from your character's perspective and try to see which propositions in the manifesto he may have agreed or disagreed with or contributed to. You may want to hear about the views of the three other authors who did not/were not able to participate in the Agile Uprising Podcast series. Here are they: - Kent Beck: https://www.youtube.com/watch?v=oXcfwChnfNs - Ward Cunningham: https://www.youtube.com/watch?v=RYmVjYqnu_o - Dave Thomas: https://www.youtube.com/watch?v=gLkHnte0W-8 ::: :::danger **THE MANIFESTO FOR AGILE SOFTWARE DEVELOPMENT** ![](https://i.imgur.com/xrJBJAU.png =x600) *Image taken from https://agilemanifesto.org/* ::: In the above image, we took a screenshot of the manifesto to show what it looks like from the source itself. Now, let's pause to examine the structure of the manifesto. [[SOME NOTES TO BE REMOVED LATER]] 1. There is a way in which the agile movement alienated the programmers in the group. Agile became dominated by business-minded people, although it was initially intended to help programmers build software better. 2. Factions post-Agile manifesto: (1) Scrum (extremely enterprise-centric, brought in certification), (2) adaptive/Crystal (consulting, listening-centered, OD, neutral/tolerant position), (3) others (technical XP+pragmatic+FDD who are now very critical of agile) *Why 'Agile'* - Who in the group suggested the use of "agile"? - No one knows - What were the other candidates? adaptive, responsive, flexible. Alistair said that adaptive and agile were tied towards the end of the selection process - Why not use the word *extreme* even though many of them were associated with XP? "Extreme" was not a good hook, and sounds a bit revolting. The link between 'agile' and IBM comes up in a recollection of the Snowbird meeting by Mike Beedle, who claims that he came up with the word agile. The word 'agile' predates the 2001 Snowbird meeting and, going back in time, reveals a connection with a book published in 1994 and the "Agile Consortium" of the mid-1990s. >I can tell you. I came up with the word. That's the one thing I can remember because I was familiar with the book by Goldman... *Agile Competitors and Virtual Organizations.* I was at IBM when our manager brought this stuff. IBM became a part of this so-called Agile Consortium... After the bankruptcy of Chrysler, the U.S. was really afraid that we are losing our competitive advantage towards Japan, China and Germany - Mike Beedle, Agile Uprising Interview (2016) ![](https://i.imgur.com/fr2V4ur.jpg) *Cover of Agile Competitors and Virtual Organizations (1994), the book that according to Mike Beedle, inspired him to propose the word 'agile' in the brainstorming session for the Manifesto title* After doing some further digging, we find that what Beedle referred to as the "Agile Consortium" was originally called the DSDM Consortium, incorporated in 1993 (see [here](https://www.parnglobal.com/Public/News_/PARN%20Blog%20Agile%20Business%20Consortium%20become%20a%20new%20professional%20body.aspx)) >I think anything along the line of adaptive or responsive or anything with that connotation might have been a better choice in hindsight. Because one of the central messages that people lose is this idea of adaptation and changing your approaches. In fact, everybody kinda lost that in the sun. Maybe we should have emphasized that even more. - Andrew Hunt, Agile Uprising Interview (2016) >The fundamental weakness of agility as a brand is it’s too attractive. Everybody wants to say that they are. It’s like structured programming. Nobody’s going to say that they do unstructured programming. 'We’re rigid. We’re inflexible.' Nobody’s going to say that and so there’s an incentive for everybody to pile into ‘Agility’ – capital A. I took the heat for calling it extreme programming. But the thing about ‘extreme’ is that nobody’s going to say that unless they earned it… It really means something. And [agility] was something that came up at that original meeting that was my objection. I did not have a better alternative, so I’ll go along with it but in the end that prediction has played out. Everybody piles in with the same social structures, the same dysfunctional communication patterns, the same dysfunctional responsibility and consequence patterns and lo and behold, the inputs are the same, the outputs are the same. - Kent Beck, [Agile Caravanserai Kent Beck (Youtube Vid)](https://www.youtube.com/watch?v=oXcfwChnfNs) >I wish that we have been able to retain some of the elements mostly lost in the average agile installation. I remember that Kent said that what he had in mind with XP was to make the world safe for programmers, and I believe that what we are seeing today is that agile is not making the world safe for programmers - Ron Jeffries, Agile Uprising Interview (2016) *The Title: It's NOT The Agile Manifesto* Notice that it was originally titled *The Manifesto for Agile Software Development,* and not *The Agile Manifesto,* as it is commonly referred to in popular texts (notice though that the website *agilemanifesto.org* exactly does this, which may raise a concern about intentionality). In a GOTO 2015 talk entitled ["Agile is Dead"](https://www.youtube.com/watch?v=a-BOSpxYJ9M), *Dave Thomas*, one of the original signatories of the manifesto and author of *The Pragmatic Programmer*, intimated that the tacit rewording of the manifesto's title is part of a larger project to entrepreneurialize agile. The semantic wordplay transformed *agile,* an *adjective* that describes a way of doing something (in this case, software development) into a *noun* - a sort-of thing that can be bought or sold in the market - and made a whole new industry out of it. Thomas explains: > If I have some adjectives - like for example, green - I can't sell it to you. I can't come up to you and say, 'Hey, there's some green.' If I said, have some green paint or some green vegetables, I can sell you that. I can sell you nouns but I can't sell you adjectives. And the industry that sprang up out of the Agile Manifesto... wanted to sell you things... They wanted to sell you things and so they needed to convert agile from an adjective into a noun. And they succeeded! Very quickly! They can sell you training, consultancy and books and conferences. So this whole industry has grown up around the noun." It gets worse when one looks at how *Agile* (as a noun, with a capital letter A) is sold as a sort-of market commodity. Selling agile requires cultivating the *fear* that naturally arises when people encounter something new - in this case, a new way of doing things that would, as the sellers would argue, 'revolutionize' it. This new process has its own set of jargons. To gain access to 'Agile,' enterprises that would like to adopt Agile would have to pay people who can tell them more about it. This type of knowledge transfer is, in itself, a service, and management consultants allegedly profitted and created a new empire by building productized services around it (e.g., books that teach organizations how to be Agile, training and certifications on Scrum, among others). *The Introduction* *The Values: Dichotomous Writing Style* Notice that the articulation of values follows a common form: *X over Y* (e.g., "Individuals and collaborations over processes and tools"). - What explains the dichotomous writing style? - What were the implications of the dichotomous writing style? --Kent Beck, Ward Cunningham and Dave Thomas led the brainstorming session that led to the 'double positives' form of the manifesto --The writing form for the four statements was a deliberate choice. Future interpretations of the word 'over' did not quite align with the original intention --'Software' was supposed to be 'code'. Stephen Mellor fought for the word 'software' instead of 'code' --There was contention about the phrase 'Working software over comprehensive documentation' --Everyone agreed that the first line ('Individuals and interactions over processes and tools') should come first. [[Also discuss context? - Before agile manifesto]] - what was happening in the 1980s? transfer of managerial knowledge from Japan to US (Japan was doing so well in automotive, US was playing catch-up) -> entry of lean methods into the US -> lean production applied to other industries like software -> programmers were not happy with work - creation of WWW shifted the power from managers to programmers - programmers were wealthy and can dictate their workload (many of the creators of alternative software methodologies were doing *consulting* work); the shift in power may have contributed to the rise of resistance against the prevailing management-centric waterfall model (story behind the power shift is in Ensmenger et al's book) - Y2K bug of 2000 :::danger **THE PRINCIPLES BEHIND THE AGILE MANIFESTO** Our highest priority is to satisfy the customer through early and continuous delivery of valuable software. Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage. Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale. Business people and developers must work together daily throughout the project. Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done. The most efficient and effective method of conveying information to and within a development team is face-to-face conversation. Working software is the primary measure of progress. Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely. Continuous attention to technical excellence and good design enhances agility. Simplicity--the art of maximizing the amount of work not done--is essential. The best architectures, requirements, and designs emerge from self-organizing teams. At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly. ::: :::danger **THE (UNFILTERED) PRINCIPLES BEHIND THE AGILE MANIFESTO** (what we think has happened) Our highest priority is to *extract continuous streams of rent from customers* through early and continuous delivery of *meaningless* software. Welcome changing requirements, even late in development. Agile processes harness *capture* for the *businesses'* competitive advantage. Deliver working software frequently, from a couple of weeks to a couple of *minutes, even seconds*, with a preference to the shorter timescale. Business people and developers *will work* *independently* throughout the project. Build projects around motivated individuals *to benefit from unpaid labor*. Give them the environment and support they need *as long as they bear the direct cost*, and trust them to get the job done *while completely ignoring what may have gone wrong*. The most efficient and effective method of conveying information to and within a development team is face-to-face conversation. *Meaningless* software is the primary measure of *financial accumulation.* Agile processes promote *uneven* development and *the accumulation of massive corporate power*. The sponsors, developers, and users should be able to maintain a *constantly agile* pace indefinitely. Continuous attention to excellence *in trial and error* and *iterative* design enhances agility. *Complexity*--the art of maximizing *capture*--is essential. The best architectures, requirements, and designs emerge from self-organizing teams. At regular intervals, the team *brainstorms* on how to *deliver more meaningless software into the world,* then tunes and adjusts its behavior *depending on what is likely to bring in more money.* ::: **ADDITIONAL NOTES** 1. Lou Gertsner talks about the cloud in his 2002 book: >If the strategists were right, the cloud... would cause two revolutions - one in computing, and one in business. >It would change computing because it would shift the workloads from PCs and other so-called client devices to larger enterprise systems inside companies and to the cloud - the network - itself. This would reverse the trend that had made the PC the center of innovation and investment - with all the obvious implications for IT companies that had made their fortunes on PC technologies. >Far more important, the massive, global connectivity that the cloud depicted would create a revolution in the interactions among millions of businesses, schools, governments and consumers. It would change commerce, education, healthcare, government services, and on and on. It would cause the biggest wave of business transformation since the introduction of digital data processing in the 1960s. **REFERENCES** 1. The Agile Uprising Podcast has interviewed 14 out of 17 authors of the *Manifesto for Agile Software Development.* Listen to them [here](https://agileuprising.libsyn.com/category/Manifesto+Series). 2. Andrew Hunt. *The Failure of Agility.* https://growsmethod.com/articles/the_failure_of_agile.html 3. Martin Fowler. *FlaccidScrum.* https://martinfowler.com/bliki/FlaccidScrum.html </details> <details> <summary> S5B2: Privacy as Practice: A matter of community </summary> </details> <details> <summary> S6B1: The End of Moore's Law?: General Purpose to Specialized Chips </summary> --- **Block Prompts:** Why are chips so important for the production of software? Is Moore's law really dead? Who "leads" the field of semiconductor engineering and manufacturing? Assuming that Moore's law is dead, what does the future of chip production look like? ![](https://i.imgur.com/xR2jfQv.png) A representation of the global semiconductor value chain. Image taken from Varas et al. (2021). [Strengthening the Global Semiconductor Supply Chain in an Uncertain Era.](https://www.semiconductors.org/wp-content/uploads/2021/05/BCG-x-SIA-Strengthening-the-Global-Semiconductor-Value-Chain-April-2021_1.pdf) **Block Overview** *The Moore's Law as a self-fulfilling prophecy* :::danger **Moore's Law** In 1965, Gordon Moore made a provocative observation which charted the future of semiconductor engineering. This provocation, now popularly known as the Moore’s law, originated from Moore's remark regarding the rate with which the number of electronic components in an integrated circuit doubles. Moore originally predicted, in his article "Cramming more components onto integrated circuits" (you can read a copy of the original article [here](https://hasler.ece.gatech.edu/Published_papers/Technology_overview/gordon_moore_1965_article.pdf)), that the number of electronic components (not necessarily transistors) inside an integrated circuit (IC) would increase by a factor of two *every year.* Ten years after, Moore revisited this prediction and revised it from every year to *every two years.* Why does Moore's words hold so much weight in the 1960s? Get to know more about Gordon Moore [here](https://www.sciencehistory.org/historical-profile/gordon-e-moore). *Fun facts about the Moore's law* * The man often credited for the first mention of the Moore's law, Carver Mead, isn't sure whether he was actually the first one to coin the term (see [here](https://spectrum.ieee.org/the-murky-origins-of-moores-law)). * In 2005, Intel went on a scavenger hunt, offering a $10,000 reward for an original copy of the April 19, 1965 issue of *Electronics*, the journal where Moore made his famous forecast. (see [here](https://www.nbcnews.com/id/wbna7476820)) ![](https://i.imgur.com/UpS39TG.png) Screenshot of a cartoon from Moore's 1965 article in the *Electronics* journal ::: In 1975, Moore noted: > [It was initially] just an observation, an attempt to predict this was a way to cheap electronics... but the industry made it a self-fulfilling prophesy now, the industry road maps are based on that continued rate of improvement, various technology nodes come along on a regular basis to keep us on that curve, so all the participants in the business recognize that if they don’t move that fast they fall behind technology, so essentially from being just a measure of what has happened, it’s become a driver of what is going to happen. Something I never would have imagined initially. Moore alluded to a peculiar relationship between science and industry - that somehow the world patterns itself and performs in conjunction with what is predicted by (some) scientific models that men define or believe to be real. This notion of *self-fulfilling prophecy* predates Moore, as is already articulated by Robert Merton, a prolific sociologist of science, in the 1940s (see [here](https://www.jstor.org/stable/4609267?seq=1#metadata_info_tab_contents)). In addition, Moore's recollection demonstrates how observations can lead to *unintended consequences*. Moore described that he has never imagined that his initial observation will drive the future of semiconductor engineering. Looking beyond 1975, semiconductor production quite astonshingly kept pace with the predicted cadence until recently, when empirical evidence regarding the disintegration of the Moore's law (with some declaring the extreme case: ["end of Moore's law"](https://www.technologyreview.com/2016/05/13/245938/moores-law-is-dead-now-what/)) has gained public attention. *The End of Moore's Law? Track 1* Let's take a moment to examine the reasons underpin "the end of Moore's law." As noted above, the strict formulation of the Moore's law is based on the number of electronic components that can be crammed inside an integrated circuit. Since the invention of the transistor, transistors took up a huge fraction of electronic components inside an IC. Because of this, transistor density has become a key (shorthand) metric for tracking whether engineering improvements are behaving in accordance to the Moore's law. From an engineering point of view, keeping up with the Moore's law is a problem of *transistor miniaturization.* Advancements in miniaturization meant better performance in terms of greater computing power or energy efficiency. To provide a concrete benchmark as to how far we have already achieved in terms of miniaturization, note that IBM unveiled its 2 nanometer transistor technology this year (see [here]((https://www.youtube.com/watch?v=HD5KbeR5mtc&t=129s))). 2-nanometer transistors are smaller than a strand of DNA. With such nanoscopic transistors, it may seem that traditional miniaturization is already close to its limit. The end of traditional scaling had already been forecasted in the [final industry report](http://www.semiconductors.org/wp-content/uploads/2018/06/0_2015-ITRS-2.0-Executive-Report-1.pdf) of the now-defunct International Technology Roadmap for Semiconductors (ITRS) published in 2015. However, the same release of the roadmap called out reports that claim the end of Moore’s law for being ‘alarmist,’ saying that it is only the era of traditional scaling that will end. :::success **The beginning and the demise of ITRS** The International Technology Roadmap for Semiconductors (ITRS) was an international collaboration between the semiconductor industry associations of Europe, Korea, Japan, Taiwan and the U.S. to produce a document that "provides guidance for the whole industry [that] would benefit from inputs from all regions of the world that have leadership activities in the field of semiconductors." (see [here](https://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=906261&casa_token=RSbfW6pOAScAAAAA:pGYxFad5jMi_yVRnNVs__wQuZtDlJQy7KLbd-PniVUIbhq63w7ucxeRFpV0e3VUGCWeFx4zogEA&tag=1)) This global roadmapping effort began in 1998, six years after the inception of the National Technology Roadmap for Semiconductors (NTRS) by the U.S. Semiconductor Industry Association (SIA). It was SIA that extended the invitation to Europe, Korea, Taiwan and the U.S. to take part in ITRS. 1. What was happening in the 1990s with respect to the semiconductor industry? How do you think those events shaped the creation of an international roadmapping effort? 2. Why do you think the U.S., which already had its own semiconductor roadmapping effort, decide to go global by extending an invitation to other regions of the globe? 3. Why Taiwan, Korea, Japan and Europe? The last ITRS report was released in 2015. What we know is that the U.S. opted out of the roadmapping effort it established. Quoting the IEEE Report titled [*Transistors could stop shrinking in 2021*](https://spectrum.ieee.org/transistors-could-stop-shrinking-in-2021): "Citing waning industry participation and an interest in pursuing other initiatives, the Semiconductor Industry Association—a U.S. trade group representing the interests of IBM, Intel, and other companies in Washington, D.C., and a key ITRS sponsor—will do its own work, in collaboration with another industry group, the Semiconductor Research Corp., to identify research priorities for government- and industry-sponsored programs. Other ITRS participants are expected to continue with a new road-mapping effort under a new name, which will be conducted as part of an IEEE initiative called Rebooting Computing." 4. Was there a change in the countries that occupy "leadership activities in the field semiconductors" between 1998 and 2015? Why? 5. What was happening between 2010 and 2015 in terms of chip production? How do you think did those events influence the disbandment of ITRS? 6. What does SIA mean by "interest in pursuing other initiatives"? What are these initiatives that are potentially different from the goals of the Rebooting Computing initiative? ::: Quoting ITRS (2015): > The question of how long will Moore’s Law last has been posed an infinite number of times since the 80s and every 5-10 years publications claiming the end of Moore’s Law have appeared from the most unthinkable and yet ‘reputedly qualified’ sources. Despite these alarmist publications, the trend predicted by Moore’s Law has continued unabated for the past 50 years by morphing from one scaling method to another, where one method ended the next one took over. This concept has completely eluded the comprehension of casual observes that have mistakenly interpreted the end of one scaling method as the end of Moore’s law… > By 2020-25 device features will be reduce[d] to a few nanometers and it will become practically impossible to reduce device dimensions any further. At first sight this consideration seems to prelude to the unavoidable end of the integrated circuit era but once again the creativity of scientists and engineers has devised a method *‘To snatch victory from the jaws of defeat.’* According to ITRS (2015), producers have been having problems with the scaling method then because they are running out of horizontal space. Producers don’t need to fret, ITRS says, because a new scaling method “characterized by vertical integration and performance specifications towards reduction of power” is coming. The said method goes by the uncreative name “vertical scaling.” This solves both physical constraints and associated economic costs that are also stalling advancements in chip production. Despite this, talk about the alleged end of Moore’s law persists, and it’s changing the market for chips in unexpected ways. *The End of Moore's Law? Track 2* For chip producers and industry players, the Moore’s law is not just a self-fulfilling prophecy. It is an organizing principle that coordinates expectations within the business of chip engineering. With the (anticipated or perceived) downfall of a key coordinating principle, companies that rely on chips and chip manufacturers themselves will likely build their own “organizing principles” which, in this case, may shape expectations or beliefs about the future of chip engineering. These expectations may be viewed as bets on the future of chips and, by virtue of association, the future of computing. Such bets will determine which applications will get more attention and which ones less. [Thompson and Spanuth (2019)](https://ide.mit.edu/wp-content/uploads/2019/03/2018-08-Thompson.Abcopy3-6.pdf) posited that the deterioration of the Moore’s law will spur a new wave of fragmentation of computing alongside the decline of computers as a general-purpose technology. Bifurcated priorities will materialize at the level of “applications,” and will manifest as a tug-of-war between the production of (a) general-purpose chips which is expected to get stuck with “slow lane” applications and (b) specialized (and customizable) chips designed to become a key base for powering “fast lane” applications. Thompson and Spanuth (2019) finds that some applications are disproportionally reaping benefits from the shift from general to specialized chips. Deep learning is one of them. To illustrate, data reveals a rosy market for deep learning chips. Valued at $4.4 billion in 2020, the deep learning chip market is projected to grow up to $81.8 billion in 2030, with a compounded annual growth rate of 35.2% between 2020 and 2030. This is remarkable considering that the pandemic-induced economic downturn has led to a global crunch in chip supply. :::warning **Is the fragmentation of chip production already happening?** In so far as the Moore's law has become a self-fulfilling prophecy, expectations surrounding the end of Moore's law and the anticipated fragmentation of computing that is deemed to be a consequence of it may become self-fulfilling prophecies too. In this in-class activity, we will investigate whether fragmentation of chip production is already happening. If so, how and why. Look through news reports, blogs and other gray literature from 2015-2020 and document the new chips that have been developed/are being developed. For this activity, we will only focus on new chip *designs* 1. Who/what companies are designing which new chips? (e.g., Apple M1 chip) 2. What are the specs of these new chips? 3. Who is the clientele of these new chips? (the company's own data servers? customers? businesses or a combination of these?) 4. What are these chips being designed for? (e.g., to run artificial neural networks faster? to increase general compute performance?) Do you see any pattern in these new chip offerings? Based on your findings, would you say that fragmentation of chip production is already occurring? Why or why not? Where do you think is the future of chip production headed towards? ::: *What has Moore's law got to do with software production?* Why are we talking about chips then? Why are chips so important in the production of software? In [this article](https://www.forbes.com/sites/ciocentral/2014/05/19/why-software-doesnt-follow-moores-law/), empirical evidence supporting a strong positive relationship between the Moore's law and increase in size of operating systems is presented. According to it, advances in chip performance and efficiency have enabled engineers to write larger, more complex systems code. In relation to this, software development practices have adapted to developments in chip production (and vice versa). It's a puzzle, however, that the cost of software production has not declined despite cost-effective and performance-boosting developments in chip engineering (that is, there is no Moore's law in software production). Why is that so? Here are some of the [reasons](https://www.forbes.com/sites/ciocentral/2014/05/19/why-software-doesnt-follow-moores-law/) why the cost of software production has not kept pace with the Moore's law: * *Lazy design.* Increasing power and capacity have greatly reduced the need for efficient architectures and economic designs. According to [Gent](https://singularityhub.com/2020/06/08/computing-power-can-keep-growing-as-moores-law-winds-down-heres-how/) (2020), > Because regular boosts in speed were guaranteed, software development focused on cutting the time it took to develop an application rather than the time it takes to run that application. Similarly, there was little incentive to develop a chip specialized to a particular task when you knew that in a couple of years a general-purpose chip would outperform it. With the 'end of Moore's law' (if we believe that it is true and if specialization won't solve the problems associated with it), we may have to look beyond chip engineering to address the problem of rising computational burdens (this is not to say that hardware is not important, as [improving chip design](https://www.design-reuse.com/articles/36150/moore-s-law-is-dead-long-live-soc-designers.html) remains a priority). For compute-heavy tasks like deep learning, for instance, there is a growing research interest in running smaller neural networks without sacrificing performance and reducing training costs (see Thompson's [*Deep Learning's Diminishing Returns*](https://spectrum.ieee.org/deep-learning-computational-cost)). On a separate note, software engineering is going to be important in delivering more efficient code (see [*Can Software Performance Engineering Save Us from the End of Moore's Law*](https://spectrum.ieee.org/software-engineering-can-save-us-from-the-end-of-moores-law)) but this path is not without challenges. It will require retraining of software engineers and programmers, as well as combatting institutional inertia, especially when it comes to replacing legacy systems (related to the next issue). * *The Legacy Problem.* New operating systems require perfectly good software applications, in which millions of dollars were invested, to be upgraded or rewritten with essentially the same business logic as the previous version. * *Maintenance and support.* Cost of maintaining software programs over their lifetime can greatly exceed the initial cost of writing them. * *Forced Obsolescence.* Virtually every software application suddenly experiences a significant drop in performance when upgraded to a new operating system, forcing an upgrade to a faster machine. An interesting view on forced (or planned) obsolescence posits that major software revisions are optimized to run on the processing power of the day (see [here](https://www.suite3.com/news/moores-law-planned-obsolescence-and-the-5-year-lifecycle)). Take the case of Microsoft, which releases a new version of Office on a two- to three-year basis (i.e. Microsoft Office 95 / 97 / 2000 / 2003 / 2007 / 2010 / 2013 / 2016 / 2019…), potentially a response to the Moore's law (doubling of transistor density every two years). Moore's law has been moving so quickly, which meant faster software revisions to keep up with developments in hardware. Manufacturers and designers of technology have to take into account this pace of development in hardware and software in a planned manner so as to be able to implement ground-level supply chain manufacturing practices in consonance with market expectations. Say software revisions take place every two to three years, it may be reasonable to expect that performance differences would be felt after two or three revisions (approximately five years). Manufacturers then take this expectation into account, giving rise to the concept of 'planned obsolescence.' Viewing 'planned obsolescence' in this manner may seem pragmatic from a management perspective considering supply chain dependencies (it is, in a way, a technique to ensure stability of supply chain processes happening on top of volatile hardware and software developments). But should it be the norm? Consumers disagree, and it's not good from the point of view of sustainability (see, for instance, [lawsuits against Apple](https://www.circularonline.co.uk/news/france-confronts-planned-obsolescence-with-repairability-rating/#:~:text=The%20French%20Government%20is%20set,within%20a%20given%20time%20frame.) due to planned obsolescence). If we believe that the 'end of Moore's law' is true, how will this affect the 'planned obsolescence' strategy? * *Virtualization and the Cloud.* Typical web applications, many of which are written in Java, do not run directly on the operating system. They require an application platform such as Weblogic, Websphere, or Apache Tomcat, which in turn runs in a Java Virtual Machine that then runs on a Linux operating system. In a virtualized computing environment, the operating system itself will run inside a virtual machine such as VMware, Xen or KVM. So the business logic in the application is now separated by four levels of intervening software from the underlying chip. *ADDITIONAL NOTES* 1. Mukesh Khare, Vice President of IBM Hybrid Cloud Research, unveiled the vision for IBM's two nanometer chip technology. > It will *accelerate AI workloads for 5G and beyond.* It will *unlock edge computing gains* to unforeseen levels, including in areas like space exploration. Not just the future, it also has immediate implications for what the world is going through right now with the Coronavirus pandemic -- this new 2-nm chip technology will aid the *discovery of new materials, new drugs,* which requires very high performance computing to simulate molecular structures. And finally, this technology will also be very valuable for *climate and sustainability* because of the significant benefit towards reduced power consumption" (see [here](https://www.indiatimes.com/technology/news/ibm-2-nm-chip-nanosheet-technology-mukesh-khare-interview-544760.html)). Could this be related to IBM's vision for the [future of AI hardware](https://www.youtube.com/watch?v=uhgY3MeTdLo)? </details> <details> <summary> S6B2: Privacy as Confidentiality: A matter of trust </summary> </details> <details> <summary> S7B1: From the bottom of the sea to the tip of the atmosphere: Cloud Networking </summary> </details> <details> <summary> S7B2: </summary> </details> <details> <summary> S8B1: Speculating the Future of the Clouds </summary> </details> <details> <summary> S8B2: Exclusive Compute: AI, Blockchain, Quantum Computing </summary> </details> ## Assignments Course assignments are designed to help you understand, using a specific case, how the business of computing is entangled with the rise of computational infrastructures (e.g., cloud, smartphones and (sensor) networks) and GAFAM. At the beginning of the course, you will be asked to select a tech company which will be the subject of your case study. Some recommended selections include Pinterest, Twitter, Spotify, Zoom, Uber, Deliveroo, Netflix and Snap. Throughout the course, you will follow your selected company by answering some guide questions. Each set of guide questions (see below) correspond to one assignment. Feel free to go beyond what is asked in the guide questions if you find other interesting analytical angles as you deepen your understanding about your selected company. You are highly encouraged to stick with just one company as you go through the assignments. Let the course facilitators know if this is not possible (perhaps due to lack of available resources, among others). [[We should also explain when they are expected to submit the assignment, through which channel and in what form]] The final output for each assignment is a 2-3 page (recommended length) integrative essay on your answers to the guide questions, excluding references. Observe proper citation [[should we specify one citation style?]] and append a list of references (you may include recommended references not necessarily cited in the essay) together with your main output. :::info **A1. Getting to know your company (Submit after session S1B1)** This assignment encourages you to investigate and critically reflect on what your selected company does and what possible effects it may have on society at large. Companies differ in size, industry, strategy, customer base, among others. Before anything else, it would be nice to gather preliminary information about your selected company. *What does your selected company do? When was it founded, by whom, and why? What is its (public-facing) mission and vision? What does it consider to be the risks to its growth? What do reports say about its growth trajectory (is it expected to grow? why or why not?)? How does it earn money and what is its main source of revenue?* *What kind of software does it make? Have any of their products/features failed, been rolled back?* Once you have gathered these preliminary information, think about the following questions: *Apart from what is indicated by the references you gathered, what do you see as other risks to the company's growth? Does it pose risks to other businesses, the environment, its customers, its employees and other stakeholders? How so?* For this assignment, you may consider referring to the company's 10-K or Annual Reports (Form 20-F). Valuable information may also be found in news articles, blogs, videos, among others. ::: :::info **A2. Exploring cloud dependencies (Submit after session S3B1)** In order to serve its customers at scale, your selected company is most likely using massive compute resources. In this assignment, you will know more about the underlying compute infrastructure that underpins your tech company's business operations. *Is your selected company dependent on the cloud? If so, name its cloud provider(s). Can you find out why they selected that particular provider(s) and the risks associated with it? If possible, list down the cloud services the company uses (and for which purposes). Did it switch from one cloud provider to another? If so, can you find out why? How much does it spend on the cloud? Can you find some information on how it manages its cloud costs?* *Has it considered building or does it already have its own compute infrastructure? If yes, when did this happen and can you find out the reasons that underlie this decision?* For this assignment, you may consider using tech blogs as among your main references. Valuable information may also be found in news articles, annual reports, among others. ::: :::info **A3. Service architectures and mobility (after S5B1)** In this assigment, you will look at how your selected company conceptualizes and instruments their software, specifically mobile applications. Is your app on both the Android and Apple app stores? If so, what relationship do they have with Google and Apple? Now let us try to look at the services that the app relies on. *By analyzing app manifests and/or using network proxies find out what services and SDKs your app uses? For what purposes (analytics, monetization, etc) are they used?* *How does the company architect their system to be able to deliver not just a mobile application, but a service? How do they organize teams, manage developer operations? What are the economic considerations behind their software architecture?* *Has the company always organized software production in the same way? If not, how and why did it change?* Developer and engineering blogs are a good resource to understand some of the internal decisions that these companies make. ::: :::info **A5. Situating your company within a larger societal context (Submit after session S6B1)** While companies may aim to manage or optimize their internal resources, their decisions, operations and sustenance are shaped and influenced by larger historical, social, political and economic factors and considerations. In this assignment, you are encouraged to critically examine the context within which your selected company is situated. *How do you think is your selected company influenced or shaped by resource constraints (e.g., chip shortage), geopolitics (e.g., trade wars and international regulations like GDPR) and other social, political, and economic issues? Please focus on just one or two aspects and expound on these in detail. Can you also relate these aspects to how the company selects its computational infrastructure?* *What is the role of machine learning or artificial intelligence in the production of software by your selected company?* For this assignment, you may consider using news articles, informative videos, opinion pieces and business reports as among your main references. Valuable information may also be found in blogs, annual reports, among others. ::: ___ **PARKING LOT FOR MARKDOWN TEMPLATES PLEASE IGNORE THE REST** ```gherkin= Feature: Guess the word # The first example has two steps Scenario: Maker starts a game When the Maker starts a game Then the Maker waits for a Breaker to join # The second example has three steps Scenario: Breaker joins a game Given the Maker has started a game with the word "silky" When the Breaker joins the Maker's game Then the Breaker must guess a word with 5 characters ``` > I choose a lazy person to do a hard job. Because a lazy person will find an easy way to do it. [name=Bill Gates] ```gherkin= Feature: Shopping Cart As a Shopper I want to put items in my shopping cart Because I want to manage items before I check out Scenario: User adds item to cart Given I'm a logged-in User When I go to the Item page And I click "Add item to cart" Then the quantity of items in my cart should go up And my subtotal should increment And the warehouse inventory should decrement ``` > Read more about Gherkin here: https://docs.cucumber.io/gherkin/reference/ User flows --- ```sequence Alice->Bob: Hello Bob, how are you? Note right of Bob: Bob thinks Bob-->Alice: I am good thanks! Note left of Alice: Alice responds Alice->Bob: Where have you been? ``` > Read more about sequence-diagrams here: http://bramp.github.io/js-sequence-diagrams/ > Read more about mermaid here: http://mermaid-js.github.io/mermaid/ ## Appendix and FAQ :::info **Find this document incomplete?** Leave a comment! ::: ###### tags: `Templates` `Documentation`

    Import from clipboard

    Paste your markdown or webpage here...

    Advanced permission required

    Your current role can only read. Ask the system administrator to acquire write and comment permission.

    This team is disabled

    Sorry, this team is disabled. You can't edit this note.

    This note is locked

    Sorry, only owner can edit this note.

    Reach the limit

    Sorry, you've reached the max length this note can be.
    Please reduce the content or divide it to more notes, thank you!

    Import from Gist

    Import from Snippet

    or

    Export to Snippet

    Are you sure?

    Do you really want to delete this note?
    All users will lose their connection.

    Create a note from template

    Create a note from template

    Oops...
    This template has been removed or transferred.
    Upgrade
    All
    • All
    • Team
    No template.

    Create a template

    Upgrade

    Delete template

    Do you really want to delete this template?
    Turn this template into a regular note and keep its content, versions, and comments.

    This page need refresh

    You have an incompatible client version.
    Refresh to update.
    New version available!
    See releases notes here
    Refresh to enjoy new features.
    Your user state has changed.
    Refresh to load new user state.

    Sign in

    Forgot password

    or

    By clicking below, you agree to our terms of service.

    Sign in via Facebook Sign in via Twitter Sign in via GitHub Sign in via Dropbox Sign in with Wallet
    Wallet ( )
    Connect another wallet

    New to HackMD? Sign up

    Help

    • English
    • 中文
    • Français
    • Deutsch
    • 日本語
    • Español
    • Català
    • Ελληνικά
    • Português
    • italiano
    • Türkçe
    • Русский
    • Nederlands
    • hrvatski jezik
    • język polski
    • Українська
    • हिन्दी
    • svenska
    • Esperanto
    • dansk

    Documents

    Help & Tutorial

    How to use Book mode

    Slide Example

    API Docs

    Edit in VSCode

    Install browser extension

    Contacts

    Feedback

    Discord

    Send us email

    Resources

    Releases

    Pricing

    Blog

    Policy

    Terms

    Privacy

    Cheatsheet

    Syntax Example Reference
    # Header Header 基本排版
    - Unordered List
    • Unordered List
    1. Ordered List
    1. Ordered List
    - [ ] Todo List
    • Todo List
    > Blockquote
    Blockquote
    **Bold font** Bold font
    *Italics font* Italics font
    ~~Strikethrough~~ Strikethrough
    19^th^ 19th
    H~2~O H2O
    ++Inserted text++ Inserted text
    ==Marked text== Marked text
    [link text](https:// "title") Link
    ![image alt](https:// "title") Image
    `Code` Code 在筆記中貼入程式碼
    ```javascript
    var i = 0;
    ```
    var i = 0;
    :smile: :smile: Emoji list
    {%youtube youtube_id %} Externals
    $L^aT_eX$ LaTeX
    :::info
    This is a alert area.
    :::

    This is a alert area.

    Versions and GitHub Sync
    Get Full History Access

    • Edit version name
    • Delete

    revision author avatar     named on  

    More Less

    Note content is identical to the latest version.
    Compare
      Choose a version
      No search result
      Version not found
    Sign in to link this note to GitHub
    Learn more
    This note is not linked with GitHub
     

    Feedback

    Submission failed, please try again

    Thanks for your support.

    On a scale of 0-10, how likely is it that you would recommend HackMD to your friends, family or business associates?

    Please give us some advice and help us improve HackMD.

     

    Thanks for your feedback

    Remove version name

    Do you want to remove this version name and description?

    Transfer ownership

    Transfer to
      Warning: is a public team. If you transfer note to this team, everyone on the web can find and read this note.

        Link with GitHub

        Please authorize HackMD on GitHub
        • Please sign in to GitHub and install the HackMD app on your GitHub repo.
        • HackMD links with GitHub through a GitHub App. You can choose which repo to install our App.
        Learn more  Sign in to GitHub

        Push the note to GitHub Push to GitHub Pull a file from GitHub

          Authorize again
         

        Choose which file to push to

        Select repo
        Refresh Authorize more repos
        Select branch
        Select file
        Select branch
        Choose version(s) to push
        • Save a new version and push
        • Choose from existing versions
        Include title and tags
        Available push count

        Pull from GitHub

         
        File from GitHub
        File from HackMD

        GitHub Link Settings

        File linked

        Linked by
        File path
        Last synced branch
        Available push count

        Danger Zone

        Unlink
        You will no longer receive notification when GitHub file changes after unlink.

        Syncing

        Push failed

        Push successfully