CSCI 663

Chapter 1

Copyright Dr. H. Joel Jeffrey, Ph.D.

1

Software development as a student
• • • • • Professor hands you assignment You code the assignment You run the tests the professor tells you to run You doc it You hand it in

Copyright Dr. H. Joel Jeffrey, Ph.D.

2

Real world software development
• • • • • • You are part of team that decides on what code will do You are part of team that decides how it will do it You code part of project You define the tests you need to make, to be sure your code will not break You test your code Someone else tests your code together with other people's code Someone installs your product on client computers Client decides whether to pay you
3

• •

Copyright Dr. H. Joel Jeffrey, Ph.D.

A few years later...
• You get promoted, are a manager • After which you never:
– design – code – test

• Instead:
– You are responsible for having other people do these things

Copyright Dr. H. Joel Jeffrey, Ph.D.

4

Which means...
• • • Life in the real world: nothing like anything you have done in computing so far. This course: all the other stuff. The undergraduate A&D course (CSCI 467/567): Good intro course. Programming: much more than you learn in your first course. Same with A&D/software engineering: much more to than you learn in your first A&D course Goal of this course: you are prepared for real world SW development, and prepared to manage real world SW development.
5


Copyright Dr. H. Joel Jeffrey, Ph.D.

Goal of this course – in more detail
• Give you an edge over your competition
– Most IT professionals:
• • Good at design & programming. Mediocre to poor at understanding customers & their IT needs Poor at understanding their clients.

This course: Much more advanced knowledge about
– How organizations work – What you do with your customers

Copyright Dr. H. Joel Jeffrey, Ph.D.

6

You will gain..
• • • Knowledge of how to deal with clients Skills for dealing with customers Very sophisticated procedures for doing frequent tasks
– Ex:
• • • • How do find out what your customers want and need How to design a meeting/presentation How to estimate a software project What to do when the project slips its schedule

Copyright Dr. H. Joel Jeffrey, Ph.D.

7

In the real world:
• What matters: producing systems that
– Meet the needs of your clients – they agree meets their needs

• Not:
– Software efficiency, system power, technical elegance & sophistication, etc.

Copyright Dr. H. Joel Jeffrey, Ph.D.

8

Why this emphasis?
• Most A&D courses: focus is on technical content: architecture, good designs, patterns, programming techiniques • This course: how to work with clients, how to run meetings, how to understand clients, how to manage SW projects and teams • Why the difference?

Copyright Dr. H. Joel Jeffrey, Ph.D.

9

Because...
• What we study in here is what matters the most in real world SW development: – Biggest effect on SW project success – Biggest effect on satisfying SW clients

Copyright Dr. H. Joel Jeffrey, Ph.D.

10

Industry track record

Copyright Dr. H. Joel Jeffrey, Ph.D.

11

Industry track record
• • • • 28% success 23% failure (cancelled) 49% “challenged.” “Challenged”: over budget, over time, and fewer features/functions than planned. • Summary: 28% delivered what was promised, at the promise time, for the promised price!!

Copyright Dr. H. Joel Jeffrey, Ph.D.

12

How "challenged"?
• Cost overruns: 45% • Time overruns: 63% • Features: 67% • This is shameful. By academic standards, the industry gets an F.

Copyright Dr. H. Joel Jeffrey, Ph.D.

13

Not due to technical problems
• 20% of software project failures due to a failure of technology • Overwhelmingly, causes are:
– Bad job on the requirements – Lack of customer involvement

Copyright Dr. H. Joel Jeffrey, Ph.D.

14

Relationship between technical and non-technical

Figure - ground

Copyright Dr. H. Joel Jeffrey, Ph.D.

15

Two faces or a vase?

Copyright Dr. H. Joel Jeffrey, Ph.D.

16

Software development figure/ground
Vase: technical

Faces: human/ organizational
Copyright Dr. H. Joel Jeffrey, Ph.D. 17

Figure/ground: the real point

When you're looking at the faces, the vase is gone – can't see it, ask questions about it, analyze it. And vice versa.
Copyright Dr. H. Joel Jeffrey, Ph.D. 18

No sloppy talk!
• • • • Technical and human/org intimately intertwined Changing one changes the others Talking about one IS talking about the other BUT:
– Usually: we are very careful and precise in describing the system. – We are very sloppy, loose, intuitive, crude, vague in describing the client's organization and what they need. – pop psychology – no specification of who what system used for – abstractions

• THIS IS NOT GOOD ENOUGH! • Being sloppy about client org IS being sloppy about the system!
Copyright Dr. H. Joel Jeffrey, Ph.D. 19

Needed:
• Resources for being as precise in describing the customers as we are in describing the design and code. • Sloppiness: deadly in code, and deadly in talking about customer needs • Human system model: only such resource available
– Communities & intentional action parametric formulations – Applications to software engineering situations & tasks
Copyright Dr. H. Joel Jeffrey, Ph.D. 20

Learning to be precise about clients
• Major goal of next 6 weeks: learn to specify client work completely and precisely – Nothing left out – Nothing added

• ONLY way to do this: learn to dissect ordinary English to find the logical structure of client org and its work • Be warned: this is HARD
Copyright Dr. H. Joel Jeffrey, Ph.D. 21

Let's start: What is software engineering?
1. Simplest definition: Developing SW in the RW 2. Better: Developing SW for use by a group of people 3. Better yet: Development of a SW system by one grp of people for use by another grp of people 4. A complete, formal definition: the outcome of the work practices of one group of people is a SW system which is to be used in the work practices of another group of people.
Copyright Dr. H. Joel Jeffrey, Ph.D. 22

Definition 1 vs. Definition 4
• Definition 1: correct, but not helpful • Definition 4: result of the work practices of one grp of people is a SW system which is to be used in the work practices of another grp of people.

Define formally!

Copyright Dr. H. Joel Jeffrey, Ph.D.

23

Payoff
• We can be as precise & rigorous about the human/organizational set of facts as we are about the technical ones

Copyright Dr. H. Joel Jeffrey, Ph.D.

24

3-part system
3 components of 1 system!
Computer system

Producers

Human systems

Clients

Copyright Dr. H. Joel Jeffrey, Ph.D.

25

Implications
• The facts we need, as analysts, include are 2 distinct kinds of objects, processes, events, and situations:
– Technical – Human/organizational.

• Technical facts and human/organization facts are not separate sub-systems; they are two views of one system: figure/ground • Neither is the whole story.
Copyright Dr. H. Joel Jeffrey, Ph.D. 26

Decisions
• • • • • One system, not separate sub-systems. Result: each kind of fact affects the other kind: technical things affect the human/organizational and vice versa. Result: There is no such thing as a purely technical decision
– (a choice about technical things, like code and data structures based on technical attributes and characteristics).
Copyright Dr. H. Joel Jeffrey, Ph.D. 27

Facts NEVER speak for themselves
• Many think: the facts “speak for themselves”
– Put the technical facts and attributes on a scale; the side of the scale with the most reasons wins

• Never, never, never! • Brute fact: ALL decisions are made by individual persons, based on whatever they consider relevant relevant, some of which may are technical.

Copyright Dr. H. Joel Jeffrey, Ph.D.

28

Good analysts must be able to...
• Understand the whole story, including the technical and the human/organizational aspects – i.e., the human-technical system.
– Recognize when a situation calls for a focus on one or other – Switch focus when called for – Recognize when thing are going wrong due to aspects of the other world
System functioning

• Ex: System does not provide functions to gather data unique to how thus client does due diligence, because of their company philosophy Client
Client values practice
29

Copyright Dr. H. Joel Jeffrey, Ph.D.

Sign up to vote on this title
UsefulNot useful

Master Your Semester with Scribd & The New York Times

Special offer for students: Only $4.99/month.

Master Your Semester with a Special Offer from Scribd & The New York Times

Cancel anytime.