Anyone who is a true animal lover will tell you that the loss of a pet can sting every bit as much as losing a human friend or family member.Unfortunately the sad truth is that most pets don’t have the same type of life span as a person. This means that losing a pet is often inevitable. For those who feel the loss of a pet, pet memorials can offer a sense of closure. It’s important to remember that a beloved pet is just as much a part of the family as any human being is. Honoring pets with pet memorials gives grieving family members the opportunity to come together and say goodbye.We have memorial services when we lose friends and family members, to have one for a pet is a normal part of the grieving process.Just because a pet was an animal does not reduce the significance that they had in your life. You can form a loving bond with a pet that can be very painful when it comes to an end.As pets get older there may come a time when an especially difficult decision must be made. When a beloved pet is suffering due to age and injury it is in the best interest of the animal to consider euthanasia. Although the thought of losing a pet may seem like it is too much to take, keeping a pet around that is suffering isn’t fair to the animal.When the time comes, euthanasia is a way for you to allow your pet to rest in peace and escape the suffering that age can bring. You can choose to take your pet to a local vet, or many vet offices will even come to your home to perform this merciful and compassionate service for you. Although the pain may be overwhelming at first, you can take comfort in knowing that you have done what is right for your pet. Your pet is no longer suffering, and can finally rest in peace.Once your pet has passed away it’s possible to still feel close to them when you choose pet cremation. Cremating your pet allows you to keep their remains in a manner which is legal and safe. Burying your pet has health issues and there are often laws in place that prevent you from doing so. Instead of burial you can choose to cremate your pet and keep their remains, and memory close to you. There are many types of urns for pet ashes that can be purchased allowing you to keep the ashes of your pet nearby. Memorial pet urns are a way to remember your pet and give them an honored place in your home.You can place a pet cremation urn on your mantle, or in another place of significance, allowing you and your family to remember how much your pet meant to you.Loss is a part of life. All of us lose loved ones and friends over time, and the loss of a pet can be just as painful. Why not honor your pet by choosing pet cremation? Your pet was a part of your life, for many people a pet could have been a companion for many years. You owe it to your pet to make certain that the end their lives with dignity and respect.When the time comes, and your pet is no longer healthy enough to function normally, you may have a difficult choice to make. You may have to choose euthanasia. Know that while this choice may be painful, it is the right choice to make. Even after yourpet has passed away you and your family can still feel close to him by placing his remains in one of the many pet memorial urns that are available. With your pet’s ashes nearby you and your family will be reminded not of the pain of losing him, but of the joy that he brought to your lives.Your pet probably spent most of his life in loyal service to you and your family. He probably wanted nothing more than to please and protect his human masters. By having a memorial service for him, and choosing pet cremation, you can honor him in the way that he deserves.
Custom ERP Software Development: Is It Worth It?
Most business organizations today are quickly adopting the use of custom ERP software solutions because as opposed to the common use of manual procedures and legacy applications, ERP programs are cost-effective and efficient. The Enterprise Resource Planning program is a system of integrated applications that are designed to automate different department/office operations (product planning, development, manufacturing, sales and marketing) to a single database.Nevertheless, not all ERP software will meet to every requirement of your organization. Therefore, when deciding on the ERP software to adopt, you need to choose the most reliable one as far as your business needs and processes are concerned. In turn, here are the two types of ERP systems:Off-the-shelfThese are systems easy to implement due to the fact that they are developed out of the experience of other organizations (user groups) other than yours. From the discussions on how each of those companies’ best use the system, you acquire information on how best to adopt the system for your business.Custom ERP softwareWith custom ERP, the system is developed based on your company’s experience. A programmer gets to design the ERP system in accordance what exactly you want the software to be able to do and ideally, the process it should follow in order to do perform and facilitate your operations.WY COMPANIES CHOOSE CUSTOM ERP SOFTWARE
There is a greater chance of a company meeting its user requirements when it goes for custom-built ERP software other than a generic system solution. This is so despite the high upfront costs and time consumption to get the system started. You can always start small and add the essential layers as you go by and in the end meet, the target software for your business. Plus, it is also a way to spreading the initial expenses throughout.Custom ERP software is also designed to fit your business processes instead of the business fitting into it, this is somehow relieving since as far as training of the company’s staff is concerned, there will be less of it. All they have to do is make little adjustments to coordinate with the system.A good example of such approach is Tesla, who carefully evaluated all pros, cons, and risks and decided to build custom ERP solution having above mentioned benefits in mind. Tesla CIO Jay Vijayan calculated the costs of SAP implementation in “millions of dollars” and a year to perform all the required integrations. Tesla managed to achieve same functionality within 4 month and much lower budget with custom built ERP. As the result, they’ve got independence from third-party vendor and Enterprise Resource Planning System that is tailor-made for their established internal business and manufacturing processes.HOW MUCH IT WOULD COST TO BUILD CUSTOM ERP SOFTWARE
It is obvious that the cost of custom ERP software development would depend on what you require, the number users and its complexity. For instance, if you are going for a sophisticated custom ERP system, you might not find complete designs that fulfill your needs. Therefore, you will have to incur extra cost for complimentary products to ensure the software fully functions.Nevertheless, the general cost of the ERP system will range between $25k to 75k. The extra incurring costs for future modules or top-up services and tools would go for $5k to 25k.RISKS OF DEVELOPING CUSTOM ERP SOFTWARE
The solutions and services that custom ERP software development is meant to provide, is usually not in box therefore, it requires a lot of time and finances to initialize the design resulting to high upfront fee.Since development of a custom ERP software is on basis of your requirements, to get a high-quality system that maneuvers around future changes easily despite it being a first-time project, you require a developer with experience. Such resources are hard to come by as you are outsourcing.In addition, your contact with the developer who initialed the system needs to be consistent. This is because they would understand the system better during the development cycle: design, testing, QA/ testing, and training. This may be hard to do especially if the developer is not reliable.Despite that, custom ERP software helps to save an enormous amount of money in long-term perspective. You may ask how is that possible. Each company counts on continued growth, including the number of employees, field force, and offices. In many cases, a bigger number of users means the continually growing expenses for the licensed ERP solution. Enterprise support packages are often sold as extra services and are way more expensive than support from the custom software development provider whose support is often included in the contract. Also, it is worth to mention that your organization will be the only one supported for the product which means better and faster communication.So, the expenses for the existing user licenses, new licenses, and support of the off-the-shelf solution is growing exponentially and completely overlap custom ERP software development costs in a couple of years. In its turn, custom ERP software will justify its high upfront costs, because your enterprise won’t be locked to the provider, will own the solution and all the data stored in the cloud as the result, and won’t pay for licenses when new user accounts will be needed.CUSTOM ERP SOLUTIONS EXAMPLES IN DIFFERENT INDUSTRIES
From the advantages of the existence of a software that can meet your business requirements and solutions, most companies have been seen heading to custom ERP system development for the management of their operations. Below are a few of such companies:Oil and Gas Companies
Oil and gas companies have a great plus with custom ERP software development but, it is usually a tragedy if the system does not support the operations efficiently. Therefore, when going for a tailored system for such a massive company more considerations are put in place other than the obvious; meeting the user needs.Custom ERP software for gas and oil companies should most importantly have applications to handling the environment safety. Energy companies are known to be hazardous to their environment and if not taken care of it would cause damage and to some extent shutting down of the organization. Therefore, the system should be able to provide data to the technicians as warnings in case of any threat so that they can mitigate the risks.Also, other than facilitating the operations of the company, a custom ERP software development should be able to open up opportunities for high profit returns investments for the business. That is, it should have a cost management application too.Finally, oil and gas fields are known to be really massive and some are usually in dense remote areas but since it’s business, every asset should be accounted for. In turn, a custom ERP software with good networking is essential to integrating and managing all the company’s operations regardless of the location. Such location difficulties are curbed with high-tech optimization tools to managing all labor and resources throughout.Manufacturing companies
With manufacturing firms, custom ERP system are saviors when it comes to saving costs, eliminating office paperwork, tracking business performance and improving customer experience. This is made possible by integrated custom applications platforms for management of its operations.Nevertheless, managing a national or to some extent international business operations can be a challenging task. A centralized custom ERP software can however, bring light to all your businesses processes as it enables management of creation of product, marketing and availing of the product across all the decentralized outlets. In addition, it integrates all that data thus incorporating workflow and control automatically.Education (schools)
Schools that are going for complete computerization of their functions and processes have custom ERP system development to opt for. A great number of schools have been seen heading to this direction with use of highly tailor-made programs to handle the school management and they are known to be very successful.Whether it is nursery/ kindergarten, high school or colleges, custom ERP systems have proven to provide efficient management of the institutions.WHAT ADVANTAGES WILL YOU GET IF DECIDE TO DEVELOP CUSTOM ERP
A custom ERP software is more of a prototype system whereby you can start designing the most basic and important features and function that you have in mind then later, during testing and maintenance, you can add other essentials bringing you to a very efficient software.
With a custom-tailored system, you are likely to achieve the solutions or attain the services you are going for from a software seamlessly.
The staff is usually at an advantage of comprehending how the system works easily because it was designed in accordance to the business practices and language. In turn they have little to adjust on their side.
Custom ERP systems are usually flexible in terms of future technological or even business changes. There is always a capacity for incorporating any developing trends.
Unlike the offshore system, you get to own the custom ERP system and its design is made specifically to meet your needs. Therefore, you need not to wait for feature requests and enhancements as you are in complete control of the system.
In summary, the basic things you need in hand while planning to adopt custom ERP system is you have to budget for high upfront fees. You will require a team of tech-experts from programmers, quality controllers, database engineers to designers and probably more. Then there is patience needed too, developing software that uniquely fits your business, just like Rome cannot be built in a day. It will require a lot of work which will consume time months or even year.In addition, you need to be fully aware of the company you have set your eyes on to work with because that would be a tragic decision as well as a blessing even before you start. The expertise, as well as a software development company’s stability, is very essential to check while assessing them. Have they done this before? Do they understand your business needs? Are the type of questions you should have answered before moving forward with them.
Software Maintenance Implications on Cost and Schedule
Abstract The dictionary defines maintenance as, “The work of keeping something in proper order.” However, this definition does not necessarily fit for software. Software maintenance is different from hardware maintenance because software doesn’t physically wear out, but often gets less useful with age. Software is typically delivered with undiscovered flaws. Therefore, software maintenance is: “The process of modifying existing operational software while leaving its primary functions intact.” Maintenance typically exceeds fifty percent of the systems’ life cycle cost . While software maintenance can be treated as a level of effort activity, there are consequences on quality, functionality, reliability, cost and schedule that can be mitigated through the use of parametric estimation techniques.1. INTRODUCTION One of the greatest challenges facing software engineers is the management of change control. It has been estimated that the cost of change control can be between 40% and 70% of the life cycle costs . Software engineers have hoped that new languages and new process would greatly reduce these numbers; however this has not been the case. Fundamentally this is because software is still delivered with a significant number of defects. Capers Jones estimates that there are about 5 bugs per Function Point created during Development . Watts Humphrey found “… even experienced software engineers normally inject 100 or more defects per KSLOC . Capers Jones says, “A series of studies the defect density of software ranges from 49.5 to 94.5 errors per thousand lines of code .” The purpose of this article is to first review the fundamentals of software maintenance and to present alternative approaches to estimating software maintenance. A key element to note is that development and management decisions made during the development process can significantly affect the developmental cost and the resulting maintenance costs.2. SOFTWARE MAINTENANCE Maintenance activities include all work carried out post-delivery and should be distinguished from block modifications which represent significant design and development effort and supersede a previously released software package. These maintenance activities can be quite diverse, and it helps to identify exactly what post-delivery activities are to be included in an estimate of maintenance effort. Maintenance activities, once defined, may be evaluated in a quite different light than when called simply “maintenance”. Software maintenance is different from hardware maintenance because software doesn’t physically wear out, but software often gets less useful with age and it may be delivered with undiscovered flaws. In addition to the undiscovered flaws, it is common that some number of known defects pass from the development organization to the maintenance group. Accurate estimation of the effort required to maintain delivered software is aided by the decomposition of the overall effort into the various activities that make up the whole process.3. APPROACHING THE MAINTENANCE ISSUE Maintenance is a complicated and structured process. In his textbook, Estimating Software Intensive Systems, Richard Stuzke outlines the typical software maintenance process. It is apparent that the process is more than just writing new code.The following checklist can be used to explore the realism and accuracy of maintenance requirements.o Which pieces of software will be maintained?o How long will the system need to be maintained?o Are you estimating the entire maintenance problem, or just incremental maintenance?o What level of maintenance is required?o Is that which is being called maintenance in fact a new development project?o Who will do the maintenance? Will it be done organically by the original developer? Will there be a separate team? Will there be a separate organization?o Will maintainers be using the same tools used during development? Are any proprietary tools required for maintenance?o How much Commercial-Off-The-Shelf (COTS) is there? How tightly coupled are the interfaces?o Some follow-on development may be disguised as maintenance. This will either inflate maintenance figures, or else cause shortfalls if basic maintenance gets pushed aside. These questions will help you ask whether maintenance is being honestly represented.o Is the activity really an incremental improvement?o Are healthy chunks of the original code being rewritten or changed?o Will additional staff be brought in to perform the upgrade?o Is the maintenance effort schedule regular and fairly flat, or does it contain staffing humps that look like new development?4. SANITY CHECKS Although sanity checks should be sought on a year-by-year basis, they should not be attempted for overall development. The reason for this is that maintenance activities can be carried on indefinitely, rendering any life-cycle rules useless. As an example, consider Grady (p. 17):We spend about 2 to 3 times as much effort maintaining and enhancing software as we spend creating new software.This and similar observations apply at an organizational level and higher, but not for a specific project. Any development group with a history will be embroiled in the long tail ends of their many delivered projects, still needing indefinite attention. Here are a few quick sanity checks:o One maintainer can handle about 10,000 lines per year.o Overall life-cycle effort is typically 40% development and 60% maintenance.o Maintenance costs on average are one-sixth of yearly development costs.o Successful systems are usually maintained for 10 to 20 years.Finally, as in development, the amount of code that is new versus modified makes a difference. The effective size, that is, the equivalent effort if all the work were new code, is still the key input for both development and maintenance cost estimation.5. FIVE ALTERNATIVE APPROACHES All software estimation techniques must be able to model the theory and the likely real world result. The real world scenario is that over time, the overlay of changes upon changes makes software increasingly difficult to maintain and thus less useful. Maintenance effort estimation techniques range from the simplistic level of effort method, through more thoughtful analysis and development practice modifications, to the use of parametric models in order to use historical data to project future needs.5.1 Level of Effort As is sometimes the case in the development environment, software maintenance can be modeled as a level of effort activity. Given the repair category activities and the great variance that they show, this approach clearly has deficiencies. In this approach, a level of effort to maintain software is based on size and type.5.2 Level of Effort Plus Stuzke proposed that software maintenance starts with basic level of effort (minimum people needed to have a core competency and then that that basic core staff must be modified by assessing three additional factors; configuration management, quality assurance, and project management. His process addressed some of the additional factors affecting software maintenance.5.3 Maintenance Change Factor Software Cost Estimation with COCOMO II (Boehm 2000) proposes a deceivingly simple, but also quite useful methodology for determining annual maintenance. Maintenance is one of the menu selections in the menu bar. In COCOMO II Maintenance encompasses the process of modifying existing operational software while leaving its primary functions intact. This process excludes:o Major re-design and re-development (more than 50% new code) of a new software product performing substantially the same functions.o Design and development of a sizeable (more than 20% of the source instructions comprising the existing product) interfacing software package which requires relatively little redesigning of the existing product.o Data processing system operations, data entry, and modification of values in the database.The maintenance calculations are heavily based upon the Maintenance Change Factor (MCF) and the Maintenance Adjustment Factor (MAF). The MCF is similar to the Annual change Traffic in COCOMO81, except that maintenance periods other than a year can be used. The resulting maintenance effort estimation formula is the same as the COCOMO II Post Architecture development model.As stated previously, three cost drivers for maintenance differ from development. Those cost drivers are software reliability, modern programming practices, and schedule. COCOMO II assumes that increased investment in software reliability and use of modern programming practices during software development has a strong positive effect upon the maintenance stage.Annual Maintenance Effort = (Annual Change Traffic) * (Original Software Development Effort)The quantity Original Software Development Effort refers to the total effort (person-months or other unit of measure) expended throughout development, even if a multi-year project.The multiplier Annual Change Traffic is the proportion of the overall software to be modified during the year. This is relatively easy to obtain from engineering estimates. Developers often maintain change lists, or have a sense of proportional change to be required even before development is complete.5.4 Managing Software Maintenance Costs by Developmental Techniques and Management Decisions During DevelopmentWhen it comes to maintenance, “a penny spent is a pound saved.” Better development practices (even if more expensive) can significantly reduce maintenance effort, and reduce overall life cycle cost. The more effort put into development, the less required in maintenance. As an example, the software development cost and schedule can be significantly impacted (reduced) by letting the number of defects delivered grow. This cost and schedule reduction is more than offset by the increase in maintenance cost. The following discussion is an example of how management decision can significantly affect/reduce software maintenance costs.Lloyd Huff and George Novak of Lockheed Martin Aeronautics in their paper “Lockheed Martin Aeronautics Performance Based Software Sustainment for the F-35 Lightning II” propose a series of development and management decision designed to impact and reduce software maintenance costs. They propose an eight step process to estimate and control software maintenance . Their proposed steps are:1. Strive for Commonality2. Apply Industrial Engineering Practices to Software3. Engage4. Adopt a Holistic Approach to Sustainment5. Develop Highly Maintainable Systems and Software6. Manage the Off-the-Shelf Software7. Plan for the Unexpected8. Analyze and Refine the Software Sustainment Business Case (use Parametric software sustainment cost estimates)5.5 A Parametric Assessment of Software MaintenanceParametric models like SEER for Software allow maintenance to be modeled in either of two ways:Estimating maintenance as a part of the total lifecycle cost. Choosing the appropriate Maintenance category parameters will include an estimate of maintenance effort with the development estimate for the individual software program. Several reports and charts show breakdowns of development vs. maintenance effort. This method is best used to evaluate life cycle costs for each individual software program.Estimating maintenance as a separate activity. Using the appropriate maintenance parameters for the software to be maintained you can model the maintenance effort as a separate activity. This method will allow you to fine tune your maintenance estimate by adjusting parameters. Maintenance size should be the same as development size, but should be entered as all pre-existing code. This method can also be useful in breaking out total project maintenance costs from project development costs.A good parametric estimate for maintenance includes a wide range of information. Critical information for completing a software maintenance estimate is the size or amount of software that will be maintained, the quality of that software, the quality and availability of the documentation, and the type or amount of maintenance that will be done. Many organizations don’t actually estimate maintenance costs; they simply have a budget for software maintenance. In this case, a parametric model should be used to compute how much maintenance can actually be performed with the given budget.Estimating and planning for maintenance are critical activities if the software is required to function properly throughout its expected life. Even with a limited budget, a plan can be made to use the resources available in the most efficient, productive manner. Looking at the diagram above, you can see that not only are the multiple inputs that impact the maintenance, but there are several key outputs that provide the information necessary to plan a successful maintenance effort.6. Conclusion The conclusions of this article are:o Software maintenance can be modeled using a simplistic method like Level of Effort Staffing, but this technique has significant drawbacks.o Software maintenance costs can be significantly affected by management decisions during the developmental process.o Software maintenance can be accurately estimated using parametric processes.o Software maintenance is best modeled when development and management decisions are coupled with parametric cost estimation techniques.REFERENCES [1] Software Maintenance Concepts and Practices (second Edition) by Penny Grubb and Armstrong Takang, World Scientific, 2005.[2] Estimating Software Intensive Systems; Richard Stuzke, 2005, Addison-Wesley.[3] Lloyd Huff, George Novak; Lockheed Martin Aeronautics; Lockheed Martin Aeronautics Performance Based Software Sustainment for the F-35 Lightning II.[4] G. Edward Bryan, “CP-6: Quality and Productivity Measures in the 15-Year Life Cycle of an Operating System,” Software Quality Journal 2, 129-144, June 1993.[5] Software Sizing, Estimation, and Risk Management; Daniel D. Galorath, Michael W. Evans, 2006, Auerbach Publications.