This document discusses dealing with software development. It begins by raising awareness that software development is closer to a craft or art than pure engineering. It notes software is created by humans and can have beauty. The document then explores what software development is from a practitioner's perspective, noting it is a continuous process of transforming knowledge through iterative and incremental practices. Developers do complex work transforming knowledge into executable code. Finally, the document provides advice for dealing effectively with software, including working in short cycles that deliver working software frequently and being value-driven rather than fixed on plans, resources or time.
Understanding complexity - The Cynefin frameworkKeith De La Rue
A brief overview of the Cynefin framework, with discussion on complexity, and why it is important to understand how organisations work in order to implement change.
GDG Cloud Southlake #24: Arty Starr: Enabling Powerful Software Insights by V...James Anderson
Enabling Powerful Software Insights by Visualizing Friction and Flow
In an Agile software development process, a software team will typically meet on a regular basis in a “retrospective meeting” to reflect on the challenges faced by the team and opportunities for improvement. On the surface, this challenge might seem straight-forward, but modern software projects are complex endeavors, and developers are human – identifying what’s most important in a complex sociotechnical system is a task humans struggle to do well. What if developers had tools that recorded and helped them explore their historical experiences with the code, and they could identify hotspots of team friction, worthy of discussion, based on empirical data? This talk will explore the possibility and impact of such tools through a design fiction and working prototype of an Augmented Reality (AR) Code Planetarium powered by FlowInsight developer tools.
Arty Starr, PhD student, University of Victoria & Founder, FlowInsight
Arty is a recognized Flow Experience expert, researcher, speaker and thought leader, and the author of Idea Flow. This expertise, along with her experience as a former CTO and software engineer inspired Arty’s mission to improve the efficiency and morale of engineering teams, culminating in her founding FlowInsight.
Arty teaches system models for better understanding the Flow Experience of software development, and the practice of using Flow Metrics to systematically optimize programming flow. “Flow as a practice” is the art of getting in and staying in flow state to optimize productivity.
The company she founded, FlowInsight, is on a mission to bring back joy to our everyday work.
Understanding complexity - The Cynefin frameworkKeith De La Rue
A brief overview of the Cynefin framework, with discussion on complexity, and why it is important to understand how organisations work in order to implement change.
GDG Cloud Southlake #24: Arty Starr: Enabling Powerful Software Insights by V...James Anderson
Enabling Powerful Software Insights by Visualizing Friction and Flow
In an Agile software development process, a software team will typically meet on a regular basis in a “retrospective meeting” to reflect on the challenges faced by the team and opportunities for improvement. On the surface, this challenge might seem straight-forward, but modern software projects are complex endeavors, and developers are human – identifying what’s most important in a complex sociotechnical system is a task humans struggle to do well. What if developers had tools that recorded and helped them explore their historical experiences with the code, and they could identify hotspots of team friction, worthy of discussion, based on empirical data? This talk will explore the possibility and impact of such tools through a design fiction and working prototype of an Augmented Reality (AR) Code Planetarium powered by FlowInsight developer tools.
Arty Starr, PhD student, University of Victoria & Founder, FlowInsight
Arty is a recognized Flow Experience expert, researcher, speaker and thought leader, and the author of Idea Flow. This expertise, along with her experience as a former CTO and software engineer inspired Arty’s mission to improve the efficiency and morale of engineering teams, culminating in her founding FlowInsight.
Arty teaches system models for better understanding the Flow Experience of software development, and the practice of using Flow Metrics to systematically optimize programming flow. “Flow as a practice” is the art of getting in and staying in flow state to optimize productivity.
The company she founded, FlowInsight, is on a mission to bring back joy to our everyday work.
Human Thinking Applied To Software Testing DisciplineLalatendu Rath
I am inspired by humans and human thinking. Thoughts solve problems, change the outcomes and better the world. But how do we think thinking? I have devised my own thinking framework, have applied it and have succeeded in everything thereby. Its your turn now.
Teaching Elephants to Dance (and Fly!) A Developer's Journey to Digital Trans...Burr Sutter
We can be brilliant developers, but we won’t succeed—and won’t lead our organizations to succeed—without a new perspective (if you will) and new assumptions about the components of the “technology ecosystem” that are fundamentally critical to our success. This includes the operators, QA team, DBAs, security folks, and even the pure business contingent—in most cases, each of these individuals and groups plays a critical role in the success of what we create and give birth to as developers. What we do in isolation might be genius, but if we insulate ourselves—especially with arrogance—from these colleagues, neither our code nor our organizations will realize their full potential, and most will fail. The bottom line is that our old ways are no longer viable, and as the elite within our industry, we will be the leaders and heroes who discard old assumptions and adopt a new perspective in this exciting journey to digital transformation—where the impossible can become reality.
On the Future of Libraries: How? not What? (Skills Assessment) - METRO - 13_0115jeffreylancaster
Presentation to METRO Annual Meeting on January 15, 2013 - "Using Formative Skills Assessment to Drive Staff Training Decisions and Organizational Change"
OnePointech is a small business consulting firm that specializes in helping you runs your business. It was established with the aim to be a “OnePointech is a small business consulting firm that specializes in helping you runs your business. It was established with the aim to be a “One Point Shop” for all the needs of small business operators.
Developing a software project is definitely not like building a house. If you focus on the learning aspects instead of the simple building you'll probably discover something interesting and unexpected.
UiPath Test Automation using UiPath Test Suite series, part 5DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 5. In this session, we will cover CI/CD with devops.
Topics covered:
CI/CD with in UiPath
End-to-end overview of CI/CD pipeline with Azure devops
Speaker:
Lyndsey Byblow, Test Suite Sales Engineer @ UiPath, Inc.
GridMate - End to end testing is a critical piece to ensure quality and avoid...ThomasParaiso2
End to end testing is a critical piece to ensure quality and avoid regressions. In this session, we share our journey building an E2E testing pipeline for GridMate components (LWC and Aura) using Cypress, JSForce, FakerJS…
More Related Content
Similar to Dealing with Software by being softaware
Human Thinking Applied To Software Testing DisciplineLalatendu Rath
I am inspired by humans and human thinking. Thoughts solve problems, change the outcomes and better the world. But how do we think thinking? I have devised my own thinking framework, have applied it and have succeeded in everything thereby. Its your turn now.
Teaching Elephants to Dance (and Fly!) A Developer's Journey to Digital Trans...Burr Sutter
We can be brilliant developers, but we won’t succeed—and won’t lead our organizations to succeed—without a new perspective (if you will) and new assumptions about the components of the “technology ecosystem” that are fundamentally critical to our success. This includes the operators, QA team, DBAs, security folks, and even the pure business contingent—in most cases, each of these individuals and groups plays a critical role in the success of what we create and give birth to as developers. What we do in isolation might be genius, but if we insulate ourselves—especially with arrogance—from these colleagues, neither our code nor our organizations will realize their full potential, and most will fail. The bottom line is that our old ways are no longer viable, and as the elite within our industry, we will be the leaders and heroes who discard old assumptions and adopt a new perspective in this exciting journey to digital transformation—where the impossible can become reality.
On the Future of Libraries: How? not What? (Skills Assessment) - METRO - 13_0115jeffreylancaster
Presentation to METRO Annual Meeting on January 15, 2013 - "Using Formative Skills Assessment to Drive Staff Training Decisions and Organizational Change"
OnePointech is a small business consulting firm that specializes in helping you runs your business. It was established with the aim to be a “OnePointech is a small business consulting firm that specializes in helping you runs your business. It was established with the aim to be a “One Point Shop” for all the needs of small business operators.
Developing a software project is definitely not like building a house. If you focus on the learning aspects instead of the simple building you'll probably discover something interesting and unexpected.
UiPath Test Automation using UiPath Test Suite series, part 5DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 5. In this session, we will cover CI/CD with devops.
Topics covered:
CI/CD with in UiPath
End-to-end overview of CI/CD pipeline with Azure devops
Speaker:
Lyndsey Byblow, Test Suite Sales Engineer @ UiPath, Inc.
GridMate - End to end testing is a critical piece to ensure quality and avoid...ThomasParaiso2
End to end testing is a critical piece to ensure quality and avoid regressions. In this session, we share our journey building an E2E testing pipeline for GridMate components (LWC and Aura) using Cypress, JSForce, FakerJS…
Essentials of Automations: The Art of Triggers and Actions in FMESafe Software
In this second installment of our Essentials of Automations webinar series, we’ll explore the landscape of triggers and actions, guiding you through the nuances of authoring and adapting workspaces for seamless automations. Gain an understanding of the full spectrum of triggers and actions available in FME, empowering you to enhance your workspaces for efficient automation.
We’ll kick things off by showcasing the most commonly used event-based triggers, introducing you to various automation workflows like manual triggers, schedules, directory watchers, and more. Plus, see how these elements play out in real scenarios.
Whether you’re tweaking your current setup or building from the ground up, this session will arm you with the tools and insights needed to transform your FME usage into a powerhouse of productivity. Join us to discover effective strategies that simplify complex processes, enhancing your productivity and transforming your data management practices with FME. Let’s turn complexity into clarity and make your workspaces work wonders!
Climate Impact of Software Testing at Nordic Testing DaysKari Kakkonen
My slides at Nordic Testing Days 6.6.2024
Climate impact / sustainability of software testing discussed on the talk. ICT and testing must carry their part of global responsibility to help with the climat warming. We can minimize the carbon footprint but we can also have a carbon handprint, a positive impact on the climate. Quality characteristics can be added with sustainability, and then measured continuously. Test environments can be used less, and in smaller scale and on demand. Test techniques can be used in optimizing or minimizing number of tests. Test automation can be used to speed up testing.
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfPaige Cruz
Monitoring and observability aren’t traditionally found in software curriculums and many of us cobble this knowledge together from whatever vendor or ecosystem we were first introduced to and whatever is a part of your current company’s observability stack.
While the dev and ops silo continues to crumble….many organizations still relegate monitoring & observability as the purview of ops, infra and SRE teams. This is a mistake - achieving a highly observable system requires collaboration up and down the stack.
I, a former op, would like to extend an invitation to all application developers to join the observability party will share these foundational concepts to build on:
Pushing the limits of ePRTC: 100ns holdover for 100 daysAdtran
At WSTS 2024, Alon Stern explored the topic of parametric holdover and explained how recent research findings can be implemented in real-world PNT networks to achieve 100 nanoseconds of accuracy for up to 100 days.
Transcript: Selling digital books in 2024: Insights from industry leaders - T...BookNet Canada
The publishing industry has been selling digital audiobooks and ebooks for over a decade and has found its groove. What’s changed? What has stayed the same? Where do we go from here? Join a group of leading sales peers from across the industry for a conversation about the lessons learned since the popularization of digital books, best practices, digital book supply chain management, and more.
Link to video recording: https://bnctechforum.ca/sessions/selling-digital-books-in-2024-insights-from-industry-leaders/
Presented by BookNet Canada on May 28, 2024, with support from the Department of Canadian Heritage.
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024Neo4j
Neha Bajwa, Vice President of Product Marketing, Neo4j
Join us as we explore breakthrough innovations enabled by interconnected data and AI. Discover firsthand how organizations use relationships in data to uncover contextual insights and solve our most pressing challenges – from optimizing supply chains, detecting fraud, and improving customer experiences to accelerating drug discoveries.
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...Neo4j
Leonard Jayamohan, Partner & Generative AI Lead, Deloitte
This keynote will reveal how Deloitte leverages Neo4j’s graph power for groundbreaking digital twin solutions, achieving a staggering 100x performance boost. Discover the essential role knowledge graphs play in successful generative AI implementations. Plus, get an exclusive look at an innovative Neo4j + Generative AI solution Deloitte is developing in-house.
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...DanBrown980551
Do you want to learn how to model and simulate an electrical network from scratch in under an hour?
Then welcome to this PowSyBl workshop, hosted by Rte, the French Transmission System Operator (TSO)!
During the webinar, you will discover the PowSyBl ecosystem as well as handle and study an electrical network through an interactive Python notebook.
PowSyBl is an open source project hosted by LF Energy, which offers a comprehensive set of features for electrical grid modelling and simulation. Among other advanced features, PowSyBl provides:
- A fully editable and extendable library for grid component modelling;
- Visualization tools to display your network;
- Grid simulation tools, such as power flows, security analyses (with or without remedial actions) and sensitivity analyses;
The framework is mostly written in Java, with a Python binding so that Python developers can access PowSyBl functionalities as well.
What you will learn during the webinar:
- For beginners: discover PowSyBl's functionalities through a quick general presentation and the notebook, without needing any expert coding skills;
- For advanced developers: master the skills to efficiently apply PowSyBl functionalities to your real-world scenarios.
Unlocking Productivity: Leveraging the Potential of Copilot in Microsoft 365, a presentation by Christoforos Vlachos, Senior Solutions Manager – Modern Workplace, Uni Systems
PHP Frameworks: I want to break free (IPC Berlin 2024)Ralf Eggert
In this presentation, we examine the challenges and limitations of relying too heavily on PHP frameworks in web development. We discuss the history of PHP and its frameworks to understand how this dependence has evolved. The focus will be on providing concrete tips and strategies to reduce reliance on these frameworks, based on real-world examples and practical considerations. The goal is to equip developers with the skills and knowledge to create more flexible and future-proof web applications. We'll explore the importance of maintaining autonomy in a rapidly changing tech landscape and how to make informed decisions in PHP development.
This talk is aimed at encouraging a more independent approach to using PHP frameworks, moving towards a more flexible and future-proof approach to PHP development.
Threats to mobile devices are more prevalent and increasing in scope and complexity. Users of mobile devices desire to take full advantage of the features
available on those devices, but many of the features provide convenience and capability but sacrifice security. This best practices guide outlines steps the users can take to better protect personal devices and information.
National Security Agency - NSA mobile device best practices
Dealing with Software by being softaware
1. Dealing with Software Development
By being aware of software Ruben Gonzalez Blanco
rubenb@tid.es
Telefonica Digital
Product Development and Innovation
2. Agenda
1. Raising Awareness
2. Understanding Software Development
3. Dealing Effectively with Software
DISCLAIMER
Following are a set of personal opinions and understandings about
software development and software engineering profession. The
purpose of this presentation is just sharing those not convincing you
or changing your mind.
12. The Artist continuous flow
The SW Developer
Synthesis
Intention Realization
Feedback
13. The Artist attributes
Knowledge
Mastery
Talent
Motivation
Creativity
Inspiration
Passion
Genius
14. The Artist attributes
The SW Developer
Knowledge
Mastery
Talent
Motivation
Creativity
Inspiration
Passion
Genius
15. Art vs pure Engineering
Unpredictable Planned
Practices VS Process
Tacit Explicit
Human Industrial
16. Art vs pure Engineering
Software Development
Unpredictable Planned
Practices VS Process
Tacit Explicit
Human Industrial
17. Crafting or Engineering?
Software Development seems to be closer to
Crafting and Artistic work rather than pure
Engineering work….
…but some good practices of Engineering
disciplines can still be applied.
18. Craft or Art?
Just a matter of genius and talent
Software code written by humans can have “beauty” in the way is
written, run, structured and how collaborate/ interact between its parts
19. 2. What it is Software and
Software Development?
A practitioner view
22. Based on Continuous Synthesis
knowledge
Learning by doing
Time
Knowledge
transformation
What How
Source Executable
Code SW
Human
23. Both Iterative and Incremental
Iteratimental
ITERATIVE
• To find out “what” and “how”
• To improve the System
INCREMENTAL
• To release functionality incrementally
• To gradually add parts to the System when “what” and “how” are known
From Jeff Patton : http://www.agileproductdesign.com/blog/dont_know_what_i_want.html
24. Software emerges and grows
continuously along the process of
creation (iterative + incremental)
Idea System “Specs”
Need Architecture
Problem Software System
Emergence is the key characteristic of complex systems.
25. Requires Understanding “What” and
“How” at multiple levels of detail
Domain
What
System
User Component
What
What
What
How
How
What What
How
How
How
How
Team
Multiple Levels Multiple
of Iteratimental Disciplines
Cycles Individuals
26. Software Developers work at the
highest level of detail and complexity
Problem
User Space
Level of Detail
Software Space
Developers
work here Technical Solution
27. Software Developers are Essential
Source Executable
Code SW
They do the most complex and relevant task :
Transforming Knowledge into Code
28. Software is a form of Knowledge
Problem Solution
What
How
Source Executable
Code SW
29. 3. Dealing effectively with Software
Pieces of advice to understand agile
and software crafting practices
30. Work in small Short Steps
• Each Cycle Delivering “Working” Software
– Measure of Progress = Working Software
• Each Cycle Embraces the Change naturally
Team Cycles or Sprints (1-4 weeks)
• New Features • New Features
• Changes • Changes
Intention • Enhancements • Enhancements
IT1 IT2 IT3
Adapt Adapt Adapt
Value
Driven Feedback Feedback Feedback
Synthesis
Working Software
Individuals Cycles (minutes, hours, day)
Incremental + Iterative Development Cycles = Iteratimental Cycles
31. Be Value Driven
Fixed Fixed
Scope Resources Time
Value
Driven
Plan
Driven
The Plan creates feature intent & commitment to
cost/schedule estimates deliver the max value
Resources Time Scope
Estimated Intentional &
Max Possible
SOURCE : DSDM
BasedFrom Dean Leffingwell
32. Grow-Emerge the system
• From Idea to Realization based on continuous
synthesis-feedback and adaptation
33. Avoid BUFs
Big Up Front Designs, Specifications, Plans…
• Make your Design and Specification Emerge
– Plans, Estimations and Designs must be Intentional
35. Blend a Multiple Disciplines in a Team
Collaborating together
Users
Ux Designers
Domain Experts
Business Analysts
Testers
Developers
Architects
Product Managers Deployment Engineers
System Engineers
Human Factors
Foster Open Communications and Collaborations
36. Have a Creative Environment
Foster and attract Creative minds
37. Have the Conditions that Inspire Creativity
Creativity needs both the “connected mind” and the “creative pauses”
38. Do not set Goals, create Challenges
give Directions
Facilitate, Support and Help
39. Simplify Essential Complexity
Diminish Accidental Complexity*
Essential complexity is caused by the problem to be solved, and nothing can
remove it. Represents the difficulty inherent in any problem.
Accidental complexity grows from the things we feel we must build to
mitigate essential complexity. Relates to problems that we create on our own
and which can be fixed.
*By Neal Ford in “97 things every architect should know”.
40. Adapt Methods to the Team
Not the opposite
FDD
Crystal
DSDM
Pragmatic Programming
Adaptive Software Development
Remember: There is No Silver Bullet…. Fred Brooks
44. Agile Manifesto
We are uncovering better ways of developing software by doing it and helping others do it.
Through this work we have come to value:
Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan
That is, while there is value in the items on the right, we value the items on the left more
http://agilemanifesto.org/
45. Craftsmanship Manifesto
As aspiring Software Craftsmen we are raising the bar of professional software development by
practicing it and helping others learn the craft. Through this work we have come to value:
Not only working software,
but also well-crafted software
Not only responding to change,
but also steadily adding value
Not only individuals and interactions,
but also a community of professionals
Not only customer collaboration,
but also productive partnerships
That is, in pursuit of the items on the left we have found the items on the right to be indispensable.
http://manifesto.softwarecraftsmanship.org/