UiPath Community: AI for UiPath Automation Developers
Effective Software Development in the 21st Century
1. Effective Software Development in the 21st Century: The New Face of Software Engineeri:ng Dr. Alistair Cockburn http://Alistair.Cockburn.us
2. People ... Solving a problem Creating a solution To an interpreter unforgiving of error Making decisions every decision has economic consequences and resources are limited. … they don’t understand which keeps changing Communicating Deciding Expressing ideas in a language … they don’t understand which keeps changing … they don’t understand which keeps changing Inventing
3. Craft Cooperative Game Knowledge Acquisition Flow Management Self-Awareness (Personalities) origami courtesy of Gery Derbier
9. Games have positions, moves, strategies Infinite Organization Survival Career Management Competitive Cooperative Open-ended Jazz music Finite goal-directed King-of-the-hill wrestling Poker Tennis Chess Rock-Climbing Theater Journalism Exploration Software Development Business Product Line Management IT Systems
10.
11. Adapt to your situation C6 C20 C40 C100 D6 D20 D40 D100 E6 E20 E40 E100 L6 L20 L40 L100 Project Classification Scale: Number of people coordinated 1 - 6 - 20 - 40 - 100 Comfort Essential moneys Life Discretionary moneys Criticality X X X X X
12. Richness of communication channel Communication Effectiveness 2 people on phone 2 people on chat (Question-and-Answer) Face-to-face is the most effective - Try Video Paper Videotape 2 people at whiteboard (Courtesy of Thoughtworks, inc.) (No Question-Answer)
15. Design = manufacturing if Inventory = Decisions! Users & Sponsors Testers Business Analysts A decision Programmers Every line of code is a decision UI Designers I wish they’d decide what style they want! I wish they’d decide what functions they want! I wish they’d decide on the UI design already! I wish they’d think a bit more carefully before coding!
16. Reduce decisions in motion & balance the flow Users & Sponsors UI Designers Programmers Testers Business Analysts Convert jams Users & Sponsors UI Designers Programmers Testers Business Analysts to continuous flow.
17. Learn from your queues and backups Enough Users & Sponsors Many Business Analysts Not enough Programmers Some Testers Enough Users & Sponsors UI Designer A few Business Analysts Lots of Programmers Single, solitary Database designer
19. Big-Bang Design is a late-learning strategy time Growth of knowledge with big-bang integration Delivers nearly no knowledge (or risk reduction) Knowledge comes at the “moment of truth”: final integration. cost
20. We can pay to learn early in the project time Growth of knowledge with early, continuous integration Applies to both business ("lean startups") & technical design Development sequence indifferent (with respect to knowledge) Delivers knowledge (risk reduction) cost
21. Develop for business value once risks are down time Knowledge growing (risk reduction) cost Business value growing Reduce risks: - Business - Social - Technical - Cost / Schedule
22. Payoff = Trim-the-Tail: Deliver by value or date Trim to deliver on-time (or early) Delay to get more or better
23. Craft Professions skills in a medium Cooperative Game communication teamwork strategies Knowledge Acquisition pay-to-learn trim-the-tail Flow Management unvalidated decisions = inventory, lean processes Self-Awareness (Personalities) the people, strategies, techniques actually used Designing in Teams origami courtesy of Gery Derbier