Presentation is loading. Please wait.

Presentation is loading. Please wait.

Slide 1 ©Alistair Cockburn 2008 Alistair Cockburn Effective Software Development in the 21st Century: The New Face Of Software.

Similar presentations


Presentation on theme: "Slide 1 ©Alistair Cockburn 2008 Alistair Cockburn Effective Software Development in the 21st Century: The New Face Of Software."— Presentation transcript:

1 Slide 1 ©Alistair Cockburn 2008 Alistair Cockburn http://Alistair.Cockburn.us Effective Software Development in the 21st Century: The New Face Of Software Engineering

2 ©Alistair Cockburn 2008 Slide 2 Developing software consists of people making ideas concrete in an economic context People inventing and communicating, Solving a problem they don't yet understand which keeps changing Creating a solution they don't yet understand which keeps changing Expressing ideas in languages they don’t understand which keep changing To an interpreter unforgiving of error Making decisions with limited resources where every choice has economic consequences

3 ©Alistair Cockburn 2008 Slide 3 Foundation 1 Software development is a Cooperative Game of invention and communication

4 ©Alistair Cockburn 2008 Slide 4 Games have moves, strategies & don’t repeat! Infinite Organization Survival Career Management Competitive Cooperative No fixed end Jazz music King-of-the-hill wrestling Endpoint- directed Tennis Poker Chess Product Line Management Journalism Swamp game Rock-Climbing Theater Expeditions Software Development IT system evolution

5 ©Alistair Cockburn 2008 Slide 5 Each project has conflicting subgoals: Deliver this software and Set up for the next game!

6 ©Alistair Cockburn 2008 Slide 6 C6C20C40C100 D6D20D40D100 E6E20E40E100 L6L20L40L100 Project Classification Scale: Number of people coordinated 1 - 6- 20- 40- 100 Comfort Essential moneys Life Discretionary moneys Criticality X X X X X Adjust to the situation

7 ©Alistair Cockburn 2008 Slide 7 Kim Pat 12 people: = $100,000 / yr penalty 12 people = $300,000 / yr penalty Kim Pat Distance is expensive KimPat Programming in pairs “Distance Matters” “Managing the Flow of Technology”

8 ©Alistair Cockburn 2008 Slide 8 Richness of communication channel Communication Effectiveness 2 people on phone 2 people on chat (Question-and-Answer) 2 people at whiteboard (Courtesy of Thoughtworks, inc.) Face-to-face is the most effective - Paper (No Question-Answer) Consider video ! Video

9 ©Alistair Cockburn 2008 Slide 9 Normal team Aligned team Improve amicability ; align people’s goals Amicability = willingness to listen with good intention

10 ©Alistair Cockburn 2008 Slide 10 People issues determine a project’s speed Can they easily detect something needs attention? (Good at Looking Around) Will they care enough to do something about it? (Pride-in-work; Amicability) Can they effectively pass along the information? (Proximity; face-to-face)

11 ©Alistair Cockburn 2008 Slide 11 Foundation 2 Software development is a craft

12 ©Alistair Cockburn 2008 Slide 12 Craft is continuously growing skills in a medium 1 Deciding what to build 2 Managing (people and projects) 3 Modeling 4 Designing the external view 5 Large-scale design (architecting) 6 Fine-scale design (programming) 7 Validating the work

13 ©Alistair Cockburn 2008 Slide 13 PEOPLE learn skills in 3 stages Shu : Follow Learn a technique Ha : Break away Collect techniques Ri: Fluent Blend techniques

14 ©Alistair Cockburn 2008 Slide 14 Foundation 3 Lean processes

15 ©Alistair Cockburn 2008 Slide 15 Unvalidated decisions are design inventory I wish they’d decide what style they want! I wish they’d decide on their priorities! I wish they’d think a bit more carefully before coding! I wish they’d decide on the UI Users & Sponsors UI Designers Programmers Testers Business Analysts

16 ©Alistair Cockburn 2008 Slide 16 Lean Manufacturing strategies apply continuous flow time Testers 100 lines of code show up for testing # of decisions Decisions being validated or broken How long this line of code / screen / use case / decision sits in the testing queue Decisions arriving

17 ©Alistair Cockburn 2008 Slide 17 Lean Manufacturing strategies apply attend to backed-up queues Enough Users & Sponsors Many Business Analysts Not enough Programmers Some Testers Users & Sponsors absent UI Designers Business Analysts some Programmers Database designers Tester Enough Users & Sponsors UI Designer A few Business Analysts Lots of Programmers Single, solitary Database designer

18 ©Alistair Cockburn 2008 Slide 18 Foundation 4 Design as Knowledge Acquisition

19 ©Alistair Cockburn 2008 Slide 19 We best how to build the system after we ship it! How can we make use of this depressing fact?

20 ©Alistair Cockburn 2008 Slide 20 Delivers nearly no knowledge (or risk reduction) Knowledge comes at the “moment of truth”: final integration. Waterfall is a late-learning strategy time cost Growth of knowledge with big-bang integration

21 ©Alistair Cockburn 2008 Slide 21 Development sequence indifferent (with respect to knowledge) Delivers knowledge (risk reduction) We can pay to learn early in the project time cost Growth of knowledge with early, continuous integration

22 ©Alistair Cockburn 2008 Slide 22 Develop for business value once risks are down time Knowledge growing (risk reduction) cost Growth of business value Business value growing

23 ©Alistair Cockburn 2008 Slide 23 Be able to choose to deliver by value or date time Trim functions or quality to deliver on-time or early Delay to get more or better function “Trim the tail”

24 ©Alistair Cockburn 2008 Slide 24 In the 21st century, software engineering will use craft, cooperative game & lean principles Craft developing skills in a medium shu - ha - ri progression Cooperative game of invention and communication teamwork, communication, strategies Lean processes ( “ unvalidated decisions = inventory ” ) small queues, cross-trained people,... Design as knowledge acquisition early integration pay to learn early trim the tail at the end

25 ©Alistair Cockburn 2008 Slide 25 http://Alistair.Cockburn.us


Download ppt "Slide 1 ©Alistair Cockburn 2008 Alistair Cockburn Effective Software Development in the 21st Century: The New Face Of Software."

Similar presentations


Ads by Google