Learning Center
Plans & pricing Sign in
Sign Out
Your Federal Quarterly Tax Payments are due April 15th Get Help Now >>

Primary purpose


									Software Projects
   CSC 394 / IS 376
        Primary purpose
Work in a team to complete a software
project by delivering a good-sized,
working, software system.
     Secondary purpose
Enable the next stage of the project --
enhance or replace the delivered system.
A team is necessary because
the software project will be so large and so
complex that a single individual cannot
accomplish the work.
    Criteria for a Successful Project
•   Meet business objectives
•   Meet requirements
•   Meet quality expectations
•   Stay within budget
•   Meet its time deadline
•   Deliver actual benefits
•   Provide the project team with professional
    satisfaction and an opportunity for learning
    What if the environment is

• fast-paced
• competitive
• full of uncertainty
Criteria for a Successful Project
     (Extreme environment)

• The product gets shipped
• The product approaches its mission profile
• The project team is healthy at the end.
   Project conceptualization
Develop a goal
– some business objective worth doing.
    Why search for a Goal?
• Every project needs at least one good goal
  to exist.
• Many projects have multiple goals.
• The goals also are known as the
  project mission.
Project Goals can come from:
•   Brainstorming sessions among colleagues
•   Researching market trends and literature.
•   Analyzing the competition
•   Interviewing customers
•   Surveys at conventions or trade shows
•   Feedback from user groups
Let’s Brainstorm some project
     Goals are clear if they
• are a deliverable
• are measurable and testable
• state the action needed to achieve the
  goal (build, deploy, etc.)
• are conversational (can be explained).
• are reasonable and doable.
• are communicated and published as part
  of the project charter
  The project goal becomes the
         project mission
Developers must determine whether the
 project mission
  – is purposeful
  – develops a sense of excitement and
  – is clear (know what to do)
  – has other developers that can be good
    teammates (trust, collaboration, etc.).
  The project goal becomes the
         project mission
Customers must determine whether the
 project mission:
  – identifies the business functions to be
  – has clear benefits (fills a need or takes
    advantage of an opportunity).
  The project goal becomes the
         project mission
The Executive Sponsor must get a good
 sense of the
  – intent of the project
  – project scope, schedule and resource
   The Team should determine
       the Scope of Work
Uncover hidden assumptions among team
• For each goal, brainstorm
  – what it is and make it a list
  – what it is not and make it a list
• Use both lists to
  – clarify assumptions
  – set boundary conditions
 The project mission also helps
    determine the software
A software requirement is a capability that
  someone wants
    “Good” software requirements
•   Correct (match customer needs)
•   Possible (feasible)
•   Necessary (rather than nice-to-have)
•   Prioritized (very important, important, optional)
•   Unambiguous (user’s language )
•   Concise
•   Verifiable (testable, measurable)
Since requirements will be used
 for development, they should
            also be:

•   Complete – have all significant requirements
•   Consistent – all documents internally consistent
•   Changeable – changes are a fact of life
•   Traceable – a requirement can followed from its
    source to its fulfillment in design and code.
  A list of requirements further
• Form agreement on what the system
  should do
• Provide a basis for planning the technical
  content of software solutions
• Give developers a better understanding of
  the system
    Requirements are elicited from

•   Users
•   Stakeholders
•   Customers
•   Sponsors
•   Focus groups
•   Use-case scenarios
   Output of requirements

• a prioritized list organized by
• a set of use case scenarios and
  prototypes, where applicable
Creative teams have a mix of
  individuals with different
      personality types

• One Model of Personality types is the
  Myers-Briggs Type Indicator (MBTI)
          MBTI Type Dimension
• Introvert (I)   Source and direction of energy:
• Extrovert (E)   • I: From internal concentration
                    (is drained of energy by being
                    around others)
                  • E: From external contact
                    (derives energy from others)
        MBTI Type Dimension
• Sensing     (S)     Preferred method of
• iNtuitive   (N)     information reception:
                    • S: Sensory, empirical data
                    • N: Meaningful patterns and
       MBTI Type Dimension
• Thinking   (T)   Way of processing information:
• Feeling    (F)   • T: Makes decisions
                     according to their impersonal
                   • F: Makes a decision
                     according to their personal
       MBTI Type Dimension
• Judging    (J)     Way of living out processed
• Perceiving (P)     information:
                   • J: Organizes all life events
                     and acts strictly according to
                     their plans
                   • P: Inclined to improvising
                     and seeking different
   Another model of Personality

• Kahler Process Communication Model
        PCM Type -- Dreamer
• Imaginative, reflective, calm, introspective,
• Motivated into action by others rather than self

• Solitude and Direction
• Time alone to reflect and to be creative
     PCM Type -- Workaholic
• Logical, responsible, organized, time-
• Perceptions through logic, things
• Work recognition: awards, bonuses, pat on
  the back.
• Structured time and a plan
       PCM Type -- Reactor
• Warm, sensitive, compassionate, kind,
  empathetic, nurturing.
• Perceptions through feelings and emotions
• A pleasant environment (both places and
• Comfort and relaxation
         PCM Type -- Rebel
• Spontaneous, creative, playful,
  expressive, energetic.
• Reactions through likes and dislikes
• Frequent interaction with others
• Personal contact and fun
      PCM Type -- Persister
• Dedicated, observant, conscientious,
• Evaluates through opinions
• Recognition of achievements due to strong
  commitment to a mission or goal
      PCM Type -- Promoter
• Adaptable, persuasive, charming,
• Action-oriented
• Risk taking,
• high finance
   Models of Individual Motivation
        Expectancy Theory

Victor Vroom

• An effort-performance relationship exists.
• People perform if they expect rewards
     Models of Individual Motivation
           Path-Goal Model
Robert House

• Clarify the path to a performer’s perceived
  goal and they will work to achieve it
    Models of Individual Motivation
        Goal-Setting Theory
Edwin Locke

• Commitment increases if performers set
  their own goals.
     Models of Individual Motivation
           Hawthorne Effect

• Just the act of measuring influences the
  outcome of social experiments.
• When watched, people perform as the
  watchers expect them to.
    Models of Individual Motivation
        Force Field Analysis
Kurt Lewin

• Status quo is maintained by driving and
  restraining forces in opposition.
     Models of Individual Motivation
         Theory X / Theory Y
Douglas McGregor

Attitudes towards people:
• X: People are inherently lazy and must be
  forced to work.
• Y: People will be self-directed and creative
  if favorably motivated.
    Models of Individual Motivation
               Theory Z
William Ouchi

• A combination of American and Japanese
  humanistic management
    Models of Individual Motivation
      Motivator/Hygiene Theory
Frederick Herzberg

• An element of work that satisfies a
  performer’s needs.
• Factors that must be present for any
     Models of Individual Motivation
         Hierarchy of Needs
Abraham Maslow

People have a needs hierarchy:
• Physiological (food)
• Safety (security, shelter)
• Love (social belonging)
• Self-esteem (ego)
• Self-actualization (fulfillment)
A team needs individuals with a
   variety of skills and work
HCI, domain programmers, database
programmers, architects, system analysts,
technical writers, work group leaders,
customers, etc
Functional Responsibility Matrix
A team can sing at the
  same time but not talk
  at the same time.

A framework is needed
  for working together.
     Team Formation Model
Bruce Tuckman

• Teams go through developmental stages
  when forming
             Team Stages
• Members find out what they will be doing,
  the styles of acceptable leadership and
  possible kinds of interpersonal and task
• Characterized by: courtesy, confusion,
  caution and commonality.
             Team Stages
• Members begin resisting the influence of
  the group. There is conflict over
  competing approaches to reaching the
  group’s goals.
• Characterized by: tension, criticism and
            Team Stages

• Resistance is overcome as the group
  establishes its rules and standards,
  develops intragroup cohesiveness and
  delineates task standards and
• Characterized by: cooperation,
  collaboration, cohesion and commitment.
             Team Stages
• The group is ready to focus attention on
  task accomplishment. Issues of
  interpersonal relations, member status and
  division of tasks are settled.
• Characterized by: challenge, creativity,
  group consciousness and consideration of
            Team Stages

• The group has fulfilled its purpose
• Characterized by: compromise,
  communication, consensus and closure
       Software Engineering
 Ethics and Professional Practices

Established by an IEEE-CS/ACM joint task
 force, the code is on the web at
       Your Team Formation
• introduce yourselves,
• pick 1 or more project goals that you
  would be interested in working on
• explain how you can help a team build the
• give other relevant background --
  schooling, work experience, relevant
  domain experience, etc
       Your Team Formation
• Two 10 minute sessions (20 minutes
  altogether) will be set aside so to meet
  with other’s interested in working on the
  same projects

• Teams will be made up of 5 (+1 or –1)
By next week, each team should
•   Project Charter
•   Prioritized list of software requirements
•   Responsibility Assignment Matrix
•   A web site containing all the above
 Before leaving today, each individual
     should hand in a card with
• Team name
• Team member’s name
• List the tasks the team member is
  responsible for accomplishing by the next
           Project Charter
• Describe the environment that the
  project will affect directly or indirectly
• Objectives: seize an opportunity; solve a
  problem, increase revenue, decrease
  costs, etc.
• Product name and category
• Customers: Who are they; what are their
  needs and how will the product help them.
    Project Charter (Continued)
• Features: major functionality and benefits of the
  product. Classify features as:
•    Strategic
     -- operating systems and hardware platforms
•    Competitive
     -- stuff the competition has or might implement
•    Customer satisfying
     – usually requested by customers
•    Paradigmatic
     – changes the way people work
   Project Charter (Continued)
• Performance: Generalized specifications
• Constraints: Limitations outside the team’s
• Scope: Boundaries of the project
• Costs/benefits: Rough order of magnitude
• Uniqueness of the product (does competition
  have anything comparable?)
• Risks to successful project completion

To top