Presentation is loading. Please wait.

Presentation is loading. Please wait.

Www.ischool.drexel.edu INFO 636 Software Engineering Process I Prof. Glenn Booker Week 10 – Process Definition 1INFO636 Week 10.

Similar presentations


Presentation on theme: "Www.ischool.drexel.edu INFO 636 Software Engineering Process I Prof. Glenn Booker Week 10 – Process Definition 1INFO636 Week 10."— Presentation transcript:

1 www.ischool.drexel.edu INFO 636 Software Engineering Process I Prof. Glenn Booker Week 10 – Process Definition 1INFO636 Week 10

2 www.ischool.drexel.edu INFO636 Week 102 Defining Processes We’ve mostly assumed that processes for developing software have been provided (such as the scripts) Now focus a little more on the creation of processes, or the refinement of existing processes to meet new circumstances

3 www.ischool.drexel.edu INFO636 Week 103 Process versus Procedure Terminology note; a process is assumed to be a larger set of activities, and hence more complex than a procedure –A procedure is defined to the detailed step-by-step instructions level –A process is defined in terms of the major activities needed, some process steps may be defined in procedures

4 www.ischool.drexel.edu INFO636 Week 104 Process Familiarity To be able to define a process, you either need to be familiar with its activities, or have someone readily available who is Processes not only define what is needed to meet the goal of the process, but also to meet larger management objectives (plan, track, measure, etc.)

5 www.ischool.drexel.edu INFO636 Week 105 Process Objectives Processes, in keeping with process maturity goals, should be –Defined in writing somewhere –Repeatable – able to be performed consistently over and over –Measurable – so we can assess key aspects of the process and improve on them

6 www.ischool.drexel.edu INFO636 Week 106 Process Elements Processes need –A script or description of the major steps involved in performing the process –Forms, where appropriate, to help ensure consistent data gathering –Standards to help guide common decisions (like the defect and review standards) –Ability to improve (like the PIP form)

7 www.ischool.drexel.edu INFO636 Week 107 Process Formats Many ways have been developed to document processes –Here is one I used frequentlyHere Processes need to be as simple as possible – people won’t read complex documents if they can avoid them –The technique cited here is information mapping, by Horn

8 www.ischool.drexel.edu INFO636 Week 108 Information Mapping Information mapping follows some basic principles –Chunking – group actions into manageable chunks of activity –Relevance – only cite relevant activities, and put similar things together –Labeling – Label each chunk – name it

9 www.ischool.drexel.edu INFO636 Week 109 Information Mapping –Consistency – make sure to use consistent terminology, names for each chunk, organizational references, and formatting –Graphics – use graphics where possible to help show what you mean –Detail – use an appropriate level of detail for your audience –Hierarchy – group chunks by topic, and label each topic

10 www.ischool.drexel.edu INFO636 Week 1010 Process Definition (This is a departure from the text) Process definition typically starts with assessing the inputs needed to start the process, and determining the outputs the process should produce Then work out the steps needed to get from the inputs to the outputs –Are there processing options to consider?

11 www.ischool.drexel.edu INFO636 Week 1011 Process Definition Look for the trigger, or event that tells when the process should start Look for products from the process –What stuff should someone see or use to perform this process? Look for connections to other processes –What comes before or after this process?

12 www.ischool.drexel.edu INFO636 Week 1012 Process Definition Look for things to measure –Any process can measure how often it’s performed, & how long it takes to perform –Is there a size, quantity, or quality of the stuff produced by the process? Look for review and approval steps in the process –Who verifies the process’ outputs?

13 www.ischool.drexel.edu INFO636 Week 1013 Process Definition Ask who performs each step of the process – the answers may be insightful For complex process steps, you can cite detailed procedures (scripts) for performing steps within the process Look for the policy or organization mission that authorizes the process to occur

14 www.ischool.drexel.edu INFO636 Week 1014 Personal Process The previous four slides can be used for any kind of process definition Here, Humphrey uses a process improvement-based process to define personal processes –Determine your needs and their priorities –Define process goals, objectives, and quality criteria

15 www.ischool.drexel.edu INFO636 Week 1015 Personal Process –Assess your current process maturity –Assess your desired or target process –Establish a strategy to get from current to desired process –Define your initial processes –Validate (test) your initial process –Keep improving your process

16 www.ischool.drexel.edu INFO636 Week 1016 Process Phases When ready to define your process, the steps outlined earlier are typically used –Define purpose of the process –Define who performs the process –Establish entry criteria –Define the process tasks –Define exit criteria – when are you done? –What is the next phase?

17 www.ischool.drexel.edu INFO636 Week 1017 Process Definition Concerns A key to establishing a good set of processes is to use the right level of detail consistently –Too much detail wastes time –Too little detail allows the correct process to become forgotten Often start simply and add details where needed

18 www.ischool.drexel.edu INFO636 Week 1018 Process Evolution Processes should be allowed to evolve over time Expect that you will tweak them periodically to make them work better, refine measurements, etc. –The initial process should pretty well match what you were originally doing –The target process is the “final” objective

19 www.ischool.drexel.edu INFO636 Week 1019 Process Development Process You can even define a process for developing processes –Often helpful for a process improvement team (SEPG) to follow such a process Like any other process, measure the time spent on developing and refining processes, and your productivity in creating them (e.g. pages/hour)

20 www.ischool.drexel.edu INFO636 Week 1020 Process Development Process For a large organization starting from scratch (no processes), you can use an estimation form like on page 465 –Like the infamous C39/N39, it uses proxies to estimate the time needed –Based on historic data, you can keep refining the proxies

21 www.ischool.drexel.edu INFO636 Week 1021 Using the PSP Since this is a personal process, you ultimately get to choose how to use it While rare to find anyone who uses the full process (unless it’s part of the organizational culture to do so), you can pick and choose which parts of this you’ll take with you

22 www.ischool.drexel.edu INFO636 Week 1022 Personal Commitment Like any other change to the way you behave, applying the PSP requires commitment to stick with it –Obviously it doesn’t help much to use it for two months and then quit

23 www.ischool.drexel.edu INFO636 Week 1023 How PSP Helps Specific ways the PSP can help include –Help you make better plans of your activities –Help you stick to your plan under pressure –Give you a sound basis for your estimates

24 www.ischool.drexel.edu INFO636 Week 1024 Sharing the PSP (This set of slides sounds like proselytizing, doesn’t it?) It’s easiest to use the PSP if you’re in an organization which supports commitment to it –Doing the PSP solo can be done, but it requires lots of discipline (see title of text!)

25 www.ischool.drexel.edu INFO636 Week 1025 Cost of the PSP The costs of using the PSP include –The time to use it –The cost of maintaining discipline –Potential risk to your ego when you see what’s really happening in your work Most software engineers think themselves above average; it’s sobering if you’re not

26 www.ischool.drexel.edu INFO636 Week 1026 Competence William Hayes of TI defined four stages of competence in doing something, which the PSP follows –Stage 1 is unconscious incompetence, when you don’t know you’re doing poorly –Stage 2 is conscious incompetence, when you do know you’re doing poorly

27 www.ischool.drexel.edu INFO636 Week 1027 Competence –Stage 3 is conscious competence, when you are aware of doing reasonably well –Stage 4 is unconscious competence, when you’re doing well, and no longer have to think about it That’s where we want to be; when we no longer have to focus on doing well

28 www.ischool.drexel.edu INFO636 Week 1028 PSP Benefits Don’t forget there are benefits to using the PSP –Insight into how you work –Tons of ideas for improving your work –Having a structure for improving yourself professionally –Achieving control over your work

29 www.ischool.drexel.edu INFO636 Week 1029 PSP Benefits –Sense of accomplishment from planning and doing something –Improves your ability to contribute to a team (because you know yourself well) –Confidence in a job well done

30 www.ischool.drexel.edu INFO636 Week 1030 PSP Coaching Coaching or mentoring is ill-developed in software engineering, but the PSP could form the foundation for it –Helping push each other to excellence is a good thing

31 www.ischool.drexel.edu INFO636 Week 1031 The Future By following a good process, we can –Understand our strengths and weaknesses, –Learn from our history, and –Form a strong foundation from which to try new things


Download ppt "Www.ischool.drexel.edu INFO 636 Software Engineering Process I Prof. Glenn Booker Week 10 – Process Definition 1INFO636 Week 10."

Similar presentations


Ads by Google