The action plan includes goals of manufacturing 100 lbs of dog food per week using a balanced recipe. It outlines purchasing ingredients in bulk, grinding and mixing ingredients according to the recipe, packaging the food in resealable bags, and selling the food at the store. Key actions include obtaining equipment, establishing suppliers, and setting pricing and promotion strategies.
Goals:
1. Manufacture 100 lbs of balanced dog food weekly for sale
2. Purchase ingredients in bulk to reduce costs
3. Package food attractively in resealable bags
4. Sell all food produced each week
Actions:
2. 1. Your Name: Loren Karl Schwappach
2. Describe the importance of the software process and the basic principles for improving
the development and maintenance of software.
Having a software process is extremely important when developing and maintaining
software and the methodology used can determine whether the software produced becomes
garbage or instrumental. Determining the scope of the process improvement plan,
developing an action plan to meet the improvement goals, and utilization of a risk
management plan can all allow for improvement of software processes.
A software life cycle model is a descriptive or prescriptive characterization of how
software is or should be developed. The models can be used as the basis for understanding
and improving the software development process. (Scacchi, 2001)
Most life cycle models usually include the following activities or Basic Principles..
(System Initiation/Planning, Requirement Analysis and Specification, Functional
Specification or Prototyping, Partition and Selection, Architectural Design and Configuration
Specification, Detailed Component Design Specification, Component Implementation and
Debugging, Software Integration and Testing, Documentation Revision and System Delivery,
Deployment and Installation, Training and Use, and Software Maintenance) (Scacchi, 2001).
A software process model represents a networked sequence of activities, objects,
transformations, and events that allow for software evolution throughout the life cycle
(Scacchi, 2001).
However, to the specifics of software development and maintenance I found a great
article by David Hooker where he lists the following top seven principles of developing and
maintaining software listed below. (Hooker, 1996). Although I am only a BSEE/BSCE
major at CTU and have had no experience in this field I can agree with Mr. Hooker’s
principles.
Top Seven Principles for Software Development:
2
3. #1: The Reason It All Exists. (Hooker, 1996).
A software system exists for one reason: to provide value to its users. All decisions
should be made with this in mind.
#2: KISS (Keep It Simple, Stupid!). (Hooker, 1996).
All design should be as simple as possible, but no simpler. This facilitates having a more
easily understood, and easily maintained system.
#3: Maintain the Vision. (Hooker, 1996).
A clear vision is essential to the success of a software project and is essential to
constructing a system that is understandable, can be extended and reorganized, and is
maintainable and testable.
#5: What You Produce, Others Will Consume. (Hooker, 1996).
Always specify, design, and implement knowing someone else will have to understand
what you are doing.
#5: Be Open to the Future. (Hooker, 1996).
Never design yourself into a corner. Always ask "what if ", and prepare for all possible
answers by creating systems that solve the general problem, not just the specific one. This
could very possibly lead to the reuse of an entire system.
#6: Plan Ahead for Reuse (Hooker, 1996).
Reuse saves time and effort. Achieving a high level of reuse is arguably the hardest goal
to accomplish in developing a software system. Planning ahead for reuse reduces the
cost and increases the value of both the reusable components and the systems into which
they are incorporated.
#7: Think! (Hooker, 1996).
3
4. Placing clear, complete thought before action almost always produces better results.
When you think about something, you are more likely to do it right. You also gain
knowledge about how to do it right again.
Hooker D. (1996). Seven Principles of Software Development, Retrieved from
http://c2.com/cgi/wiki?SevenPrinciplesOfSoftwareDevelopment
3. What are the five critical questions in process improvement?
#1 – (Motive) What are the business issues (goals/problems), etc. that are driving process
improvement? (Waina, 2002)
#2 – (Model) Which reference model best maps to the organizations practices? (Waina,
2002)
#3 – (Method) How can you quickly and effectively identify improvement opportunities?
(Waina, 2002)
#4 – (Managing Change) What factors impact the effectiveness of introduced changes?
(Waina, 2002)
#5 – (Measures) What are the critical factors in setting up a measurement program? (Waina,
2002)
Waina D. (2002). Five Critical Questions in Process Improvement, Multi-dimensional
Maturity. Retrieved from http://sstc-online.org/2002/SpkrPDFS/MonTracs/p471.pdf
4
5. 4. What are the critical business issues driving process improvement today?
I believe that the critical business issues driving process improvement today are cost
(how much can be saved by improving current processes), predictability (how will process
improvement allow for future predictability), amount of rework (can process improvement be
utilized to reduce the amount of rework being completed), customer satisfaction (can
customer satisfaction be improved through the process), and employee satisfaction (can turn
over rates be improved through process improvement).
5. One thesis from “Process Models in Software Engineering” is that contemporary models
of software development must account for the software, the interrelationships between
software products and production processes, as well as for the roles played by tools,
people and their workplaces. Explain what this means. (Make sure you describe what
“account for” is as defined by Walt Scacchi in his paper)
After thoroughly reading Mr. Scacchi’s white paper Process Models in Software
Engineering, several times, it seems that Mr. Scacchi’s provided conclusion statement...
“that contemporary models of software development must account for the software, the
interrelationships between software products and production processes, as well as for the
roles played by tools, people and their workplaces” (Scacchi, 2001) is stating that modern
day models (such as CMMI and current process centered emerging trends and new
directions) need to be concerned with “developing formal specifications of how a system
or family of software systems should be developed” (Scacchi, 2001). This includes the
connections between the production process and the software products. If the
interrelationships between these two are not accounted for the software model will fail to
fully merge/implement the models improvement incentives and goal actualization will be
limited. As Mr. Scacchi mentions “Such specifications therefore provide an account for
the organization and description of various software production task chains, how they
interrelate, when then can iterate, etc., as well as what software tools to use to support
different tasks, and how these tools should be used (Hoffnagel 1985, Osterweil 1987)”
(Scacchi, 2001). This is what Mr. Scacchi means by “account for”. As Mr. Scacchi states
5
6. “many process programming proposals (as of 1987) were focused almost exclusively to
those aspects of software engineering that were amenable to automation”, most of these
proposals failed because they did not take into account the production processes, roles
played by tools, or the people involved. However, using the Goal-Problem approach we
analyzed in class allied with models like CMMI and Six Sigma improve the odds.
Scacchi, W. (2001). Process Models in Software Engineering Retrieved from
http://www.ics.uci.edu/~wscacchi/Papers/SE-Encyc/Process-Models-SE-Encyc.pdf
6. What is Six Sigma and how is Six Sigma an enabler?
Six Sigma is a multifaceted approach to business improvement that is designed to
improve customer satisfaction by eliminating defects (any product, service, or process
variation that prevents meeting the customer’s needs and/or cost) and thereby increase
profitability. It includes a philosophy, a collection of performance measures (six sigma
means 99.9997% defect free), multiple improvement frameworks (to include the
commonly used Define-Measure-Analyze-Improve-Control, DMAIC framework), and an
analytical toolkit. (Siviy, Penn, Stoddard, 2008)
Six Sigma is said to be an enabler for CMMI because when used with CMMI it
results in better choices of improvement practices and project selection, accelerated
implementation of selected improvements, more effective implementation of the actions,
and valid measurement results and success through the use of Six Sigma framework and
toolset. (Siviy, Penn, Stoddard, 2008)
Appendix D.7.2 of the book CMMI and Six Sigma: Partners in Process
Improvement below shows several findings illustrating Six Sigma as an enabler of the
adoption of software, systems, and IT improvement models and practices and mentions
several findings which support this hypothesis. (Siviy, Penn, Stoddard, 2008)
Siviy, M. J., Penn, L. M., & Stoddard, W. R. (2008). CMMI and Six Sigma: Partners in
Process Improvement. Boston: Pearson.
6
7. 7. What is an action plan and how is it used?
An action plan is used to map goals/problems to actions that can be used to
accomplish the goals and eliminate the problems. Action plans can help you accomplish
the following: (Potter, Sakry, 2002)
Break each goal into smaller, manageable tasks.
Identify the most appropriate tasks and sequence that will achieve the desired
goals.
Determine feedback points to monitor progress.
Think ahead, so the benefits and consequences of each action are considered
before it is performed.
Communicate the actions and priorities to others who are affected.
Before creating an action plan you need to scope the improvement which includes:
(Potter, Sakry, 2002)
1. Establish plan ownership.
2. State the major goals and problems.
3. Group the problems related to each goal
4. Ensure the goals and problems are crystal clear and compelling.
5. Set goal priorities.
6. Derive metrics for the goals.
To develop an action plan you need to do the following: (Potter, Sakry, 2002)
1. Enumerate actions using brainstorming and a process framework.
2. Organize the action plan based on the goals and problems.
3. Add placeholders for checking progress and taking corrective action.
A good action plan model can be found in Figure 1-8 of the book Making Process
Improvement Work by Niel S. Potter and Mary E. Sakry (below).
Potter, N., and M. Sakry. (2002) Making Process Improvement Work: A Concise
Action Guide for Software Managers and Practitioners. Boston: Pearson.
7
8. 8. What is a risk management plan?
Risk management involves identifying applicable risks , analyzing those risks,
managing/mitigating risks, and finally reviewing risks. (Potter, Sakry, 2002)
Careful use of risk management techniques can help prevent problems from occurring
and allow anticipation of future problems allowing process improvement to run smoothly
(Potter, Sakry, 2002).
A risk management plan is used to accomplish risk management and involves the
following tasks: (Potter, Sakry, 2002).
1. Determine the scope (gaols/problems that will be addressed)
2. Selecting a risk management team and moderator (trying to limit to around
nine people to include the improvement team, stakeholders, previous
members, and subject area experts).
3. Identifying the risks (potential problems not guaranteed to occur)
4. Analyzing the risks (to include removing ambiguities, enumerating the
primary consequence of each risk, setting risk priorities by likeliness and
impact, and selecting a few risks to be managed).
5. Planning to Mitigate (reduce the likelihood and impact) each risk.
6. Periodic Risk Reviews.
A good risk management plan model can be found on Table 1-11 of the book Making
Process Improvement Work by Niel S. Potter and Mary E. Sakry (below).
Potter, N., and M. Sakry. (2002) Making Process Improvement Work: A Concise
Action Guide for Software Managers and Practitioners. Boston: Pearson.
8
9. 9. Describe and define the findings, inferences, and hypotheses of using Six Sigma?
Some of the general findings of using Six Sigma as an enabler from the SEI-
sponsored Independent Research & Development (IR&D) project were as follows:
(Siviy, Penn, Stoddard, 2008)
Six Sigma ensures that model-driven projects are focused on business needs.
Model-based improvement implementation undertaken with Six Sigma
consistently shows quantitative results meaningful to businesses.
Process improvement efforts led by Six Sigma tend to be focused on mission
critical business results.
Design for Six Sigma (DFSS) and DMAIC-based Six Sigma can be used to roll
out optimized model-based practices.
Six Sigma can be part of an integrated process solution and is influential in their
design.
Organizations that realize significant success using Six Sigma in conjunction with
other initiatives are fully utilizing Six Sigma.
Six Sigma typically spans organizational and enterprise boundaries.
There is a correlation between the presence of Six Sigma and good decision
making within an organization.
Six Sigma provides a unifying language across the enterprise.
Some of the general hypothesis (things that the SEI-sponsored IR&D believes to be
true) of using six sigma include: (Siviy, Penn, Stoddard, 2008)
Six Sigma has value for DoD organizations as well as commercial organizations
and government contractors.
Lessons learned from Six Sigma, CMMI, ITIL, and COBIT in large organizations
are directly applicable to DoD IT organizations and federal agencies.
Six Sigma can be a key driver in decision to use maturity models and proven best
practices.
The integration of Six Sigma with Domain-specific best practices and
improvement models is more critical for success in software systems and
engineering organizations and IT than in manufacturing.
9
10. Siviy, M. J., Penn, L. M., & Stoddard, W. R. (2008). CMMI and Six Sigma: Partners in
Process Improvement. Boston: Pearson.
10. What are CMM and CMMI? How does one map goals and problems to CMM and
CMMI?
Capability Maturity Model (CMM) is a development model (collection of process
and product development best practices, and a framework for process infrastructure) that
allows an effective approach to improve an organizations software development
practices. The Capability Maturity Model Integration (CMMI) project was sponsored by
the DoD and was developed to solve the problem of using multiple CMMs for software
development. CMMI is structured by process areas (PAs) to include Process
Management, Project Management, Engineering, and Support, each of which describes
goals and practices for a particular process. (Siviy, Penn, Stoddard, 2008)
Mapping goals and problems to CMM and CMMI are as easy as it sounds. You
take each goal/problems and map (match) it with a corresponding CMM/CMMI accepted
practice. The book Making Process Improvement Work below illustrates an example of
this mapping in Appendixes A (CMM) and B (CMMI). (Potter, Sakry, 2002).
Potter, N., and M. Sakry. (2002) Making Process Improvement Work: A Concise Action
Guide for Software Managers and Practitioners. Boston: Pearson.
Siviy, M. J., Penn, L. M., & Stoddard, W. R. (2008). CMMI and Six Sigma: Partners in
Process Improvement. Boston: Pearson.
11. What are some of the basic principles for improving the development and maintenance of
software?
See question #2 above as this is the same question.
10
11. 12. In your local New Age Healthy Pet Food Store, you plan to make enough dog food to sell
to 100 customers weekly. What process improvements would you include for the recipe
below? Provide an Action Plan with Goals on how you would manufacture the food.
Make sure your plan includes how the food is packaged and sold. How do you purchase
the raw ingredients? What recipe do you follow?
Eggs
Garlic
Meats
Dog Food Bowls
Meat
Grinders
Vegetables
Starches
Understanding that dogs need a diet that consists of 40% meat, 30% vegetables, and 30%
starch. Follow this formula to ensure that your dog has a well-balanced diet. Try making
a mixture of ground turkey, rice, and carrot for your own dog food. Meals made of
ground beef, brown rice, brewer's yeast and carrots are also popular. Use oatmeal, pasta,
rice or potatoes for your dog's starch requirement. Keep cooked dog food in the
refrigerator no longer than three days.
Local New Age Health Store Brainstorming .. Initial Ideas…
Goals:
- Make a large profit
Manufacture enough dog food to sell to 100 customers weekly (That’s 15 daily)
Selling the food (When/Where/How)
- Ensure a quality product
- Purchase of ingredients (Sellers/Cost)
- Delivery of ingredients (Freshness)
- Create dog food containing 40% meat, 30% vegetables, and 30% starch.
-(I’ll use Ground Beef, Carrots, Corn and Potatoes)
- Reduce costs while increasing yield
- Manufacturing the food
- Equipment, facilities, personnel
- Preserving the Food (Method)
- Packaging the Food (Method/Equipment needed)
-Storing the food (Method/Where)
-Advertising the product
11
12. Goal Purpose Action Priority Time Who
Manufacture enough dog Make a profit Ensure production levels are 7 2 wks. Loren
food to sell to 100 customers without wasting streamlined to produce an optimal
weekly (That’s 15 daily) product. 250lbs/day.
based on current selling
trending statistics. (low Y 50lbs/ high Y 350lbs)
(Assume: An average size dog
should consume approx 4 cups of
dog food a day – about 2.5lbs)
Create an Increase profit and Create an ordering/cancelation 8 1 wk. Loren
ordering/cancelation predictability and system to preorder / specify their
system for repetitive buyers. reduce wasted dog food quantities two
product weeks/month/year in advance
with savings incentives based on
amount purchased and pre-order
period. Cancelations must be
completed at least a week prior to
pick up date.
Test the dog food for taste. Make a profit by Perform a thorough pre-launch 9 1 wk. Loren
ensuring a quality product taste test to determine
product. the optimal nutritional/taste
balance need to ensure the food is
enjoyable by a wide range of dogs.
Research, Develop, and Reduce costs while Organize a competitive list of 8 2 wks. Loren
Implement a Manufacturing increasing yield. (quality/cost/availability/locality)
Method for Producing the for equipment requirements,
food. facility changes, and personnel
needed for implementing the large
quantities of dog food being
considered and perform a
cost/benefit analysis.
Preserve the Food when Reduce costs while Research methods (healthy to fit 6 1 wk. Loren
overages occur.
increasing yield. our stores modo) for preserving
the dog food for extended
durations (inspect each
component used).
Efficiently Package the Dog Reduce costs while Research/Implement beneficial 2 1 wk. Loren
Food. increasing yield. methods for packaging the food.
12
13. Storing the food during Reduce costs while Research/Implement beneficial 4 2 wks. Loren
extended periods. increasing yield. methods for storing the food
(Where/Methods Used)
Advertize the product. Make a larger Research/Implement methods for 5 1 mo. Loren
profit. cheap/effective product
advertising (Research advertising
costs/discounts via radio, paper,
internet, TV, social networking
sites, etc.)
Integrate with current
advertisement campaigns.
Purchase of ingredients. Ensure a quality Research/Test/Implement 3 1 wk Loren
product possible low cost whole sellers
and delivery methods for
purchasing the products
ingredients.
Create dog food containing Ensure a quality Determine optimal 40% Ground 10 2 wks Loren
Beef, 20% Carrots, 15% Corn and
optimal 40% meat, 30% product
25% Potatoes mixture needed as
vegetables, and 30% starch. well vitamin/mineral/flavoring
concentration needed for creating
quality/top-notch product at
minimal expense.
When done, please either hand in a printed copy during the last night of class or (ask the
bookstore to put it in my box), a floppy disk copy, CD, or email it to scottdp3@gmail.com
13