Sunday, July 14, 2013
The Top Five Tips for ITIL Change Management
Nowadays businesses are faced with everlasting opposition, varying conditions and enlarged customer requirements. To remain practicable and economical, their IT and services organizations must be in total affiliation with the tactical aims of the company.
In commerce, this means that IT has to be an associate in bringing value to the customer. One of the central objections of doing this is to guarantee, that changes are implemented without disturbing the delivery of that use to the customer. While no tactic can promise complete achievement, a uniform Change Management process with evidently definite duties and responsibilities, intensifies the chances that the business objectives and aims are effectively attained, and confines the possibility of upsetting and costly errors in implementation. Here is a compiled list of the top five tips to use when implementing an ITIL Change Management process.
1. Make Achievements Clear
Many companies fight back with ITIL in general and Change Management in particular. The most ordinary misapprehension is the supposition that implementing Change Management will mend issues that are associated to Release Management or Configuration Management.
2. Articulate The Benefits
A top-down executive method is the most effective way of bringing Change Management to your company. Inform the clients and the employees about the benefits in detail, which can be extremely useful in executing Change Management.
3. Recognize The Business
Normally, higher-ranking executives put out goals and objectives for the coming year. Individual production units then settle on what activities they need to take, to collaborate with them. But how can IT find out what these objectives are? With necessary research finished, there is loads of work to do. Asking is one thing, but it has to be supported by dedication from those influenced.
4. Know Information Technology
Though IT has to be all over the commerce side to determine goals and line up to existing activities, the opposite doesn't essentially hold true. It isn't compulsory for industry executives to get caught up in all the information of how different processes are executed, much less how the original expertise infrastructure works.
5. Describe What A Change Is
The most central concept to pass on is that everything in the IT world can have a change aspect to it. This can be true if you are implementing Change Management in an undeveloped, silo-structured corporation.
These tips should serve as a starting point to help you in your process of ITIL change management.
Affordable Quality Software Development Services In India
The arena of the Web is vast and universal. This global medium has reached a point that no one can fathom and expansion that can be measured. The world is a nation without borders or language, thanks to web development and web applications. They are creating brands that are global and universal. They are holistic in terms of scalability, flexibility and performance friendly.
As Web applications continue to reach new horizons, there are some drawbacks too. Web applications generally consist of planning (usually with the client to model a structuring for a website), design, development, testing and implementation of the application. However, maintenance costs, poor quality, poor design or configuration management, maintenance and usability occur. To resolve this problem, here are some points that should be considered for Web experiences problems with the software vendor offshore development application.
Understanding requirements Most problems occur because of the offered web development services are different from what customers want or need. The solution to this problem is simple and straightforward to listen and understand. The gap between needs and differences and pattern of delivery can be completed by working smart and understanding of the objectives and needs of the client's business.
In addition, treatment of customers and how the site looks is important, along with making sure the development is as per the clients requirement. This builds your reputation for hitting the bull's-eye along with and customer satisfaction with excellence.
Internationalization and localization It is true that the World Wide Web is universal. It binds the whole world into one. However, in the desire to be global, you as a offshore development company should not forget the local elements to ensure the long-term success. Your web applications should support local language and respond to international visitors as well. However, it should not highlight the cultural and regional differences.
Estimated price The other major dam in offshore web development services is the correct estimate of the cost of services. Customers visiting foreign suppliers because of high quality solutions and cost effective methodology. To maintain the credibility of your performance and services, it is recommended to choose the transparency of operations and while the costs of listing for the job.
Customer satisfaction with quality solutions Quality of the solutions is mandatory in this world of celebrities. Testing and troubleshooting of the application before launch is extremely important. Verification and validation must be done to ensure the successful implementation of software and web applications. Compatibility issues with between local and foreign technologies must be resolved before implementation.
Output The result must match the expectations of your customer. The Web application must be maintained keeping market trends in mind.
About Computer-aided Software Engineering (case) Tools And Their Limitations
Per se, the process of custom software programming typically involves analysis, design, documentation and eventual code generation in a particular language followed by maintenance of the software viz. version updating and so on. Computer-Aided Software Engineering (CASE) tools automate the methods for these processes and hence
Quicken the process of development of software
Ease the maintenance of any software
Apply an engineering approach to the entire software development and maintenance process.
But naturally, CASE tools make up the integral part of todays custom software development services.
In tandem with the various stages of development of software, there are various CASE tools available for use, which are implemented both collectively and individually during custom software programming, depending upon the discretion of the various custom software development services. The various CASE tools typically used by custom software development services include,
Data Modeling tools
Configuration Management tools
Source code generation tools
Model transformation tools
Refactoring tools
Unified Modeling Language
Beyond doubt, CASE tools are generally very helpful in easing the entire process of software development and integration. However, there are some prevalent issues as well that keep the software development and user communities vigilant, namely,
Lack of standardisation across different CASE tools developer companies may hamper smooth communication/ integration between different CASE tools.
Impractical expectations out of CASE technology are another major handicap as developers tend to confuse its use for substantially cheaper development of software , which is not true. Also, developers cannot always expect quickened implementations of the developed software, especially when implementing CASE technology into a traditional software development environment.
Unreliable access control to CASE repositories typically makes the custom software programming vulnerable to security breaches or damages to documentation, code and system design.
Saturday, December 8, 2012
Cost-efficient Offshore Software Development Services
Software development is the process of producing or improving already existing software in order to fulfill the needs of a specific business appropriately, to provide solutions for perceived needs of a potential customer group or for personal reasons such as to computerize a simple task. Indian market has emerged as the major region where businesses can easily locate a reliable offshore computer software development company.
Offshore custom software development services have been established as a revolutionary turnaround for enterprising process throughout the world. Offshore development from India proves to be an appropriate solution for those companies throughout the world, which seek for technological advantage in a cost-effective way for improvement of their products and services without increasing too much infrastructural costs. Along with that, Indian technicians also provide excellent custom web site development services. Outsourcing for software development or software process improvement and custom web site development proves cheaper because it reduces the administrative cost and the process of hiring employees that may prove to be costly.
Appraising the ability of an Offshore Software Development Company
Before employing an offshore software development company for a particular task, one may try to assess the capacities of the working team of the development company by ensuring that the company is capable to
1. Perform inspections and experiments for codes, design, test cases, plans and other critical work products
2. Perform black-box testing which uses design to derive test cases, specifications, requirement and other external description of the software
3. Provide a working team that can proficiently perform the configuration management of plans, test cases, codes, design and other critical work products
In addition, other points of importance regarding outsourcing software development services are-
1. The offshore company should have ample cross-site development version controls
2. The network stability of the offshore company should be appreciably fine
3. The company should be proficient in using the process of risk management and estimations
Indian software development companies are proving to be a success because they provide excellent services at minimal costs. Indian software development companies ensures proper software process improvement and development, first they spend time in analyzing and understanding the clients need and expectations and then they manage the process of software development or software process improvement in such a way that ensures better results.
Cost-effective Mobile Mapping Solutions Using Gps And Speed Sensors
The new system was designed as a drop-in component and takes the serial NMEA data from current GPS receivers, blends it with inertial sensors and outputs the improved data in the same NMEA format. Other input and output formats are also supported. It has already been used in a wide variety of projects such as power line monitoring where the systems are mounted on a helicopter or light aircraft. Road applications include measuring vegetation along roads prior to hedge trimming. Road safety planners have also used mobile mapping because it can give vital information about potential road hazards like how far round a bend a driver can see from ground level. Improving road safety is an important project for the European Union and many companies are looking at ways of giving clearer information to drivers about road hazards.
What are the advantages of the new technology?
Smooth Position
GPS often jumps because of multipath and changes to the satellite constellation. The Inertial+2 measurements are computed from the gyros and accelerometers, or speed sensors, which do not jump. GPS is used to update these measurements and prevent them from drifting.
Continuous Position
Even when GPS is not able to make a measurement, the Inertial+2 will output from its inertial solution. Using a wheel speed sensor input, the drift rate in position can be as low as 5 metres in 2 minutes.
Orientation
As well as improving position and velocity measurements, the Inertial+2 measures Heading, Pitch and Roll. These are important for correcting cameras or laser sensors.
Dual-Antenna GPS
The Inertial+2 system is designed to use dual-antenna GPS for even greater heading accuracy. Using two GPS receivers, a very accurate and stable heading measurement is possible under low dynamic conditions, such as aircraft flights. Heading accuracy is constant during long flight lines, where inertial systems typically reduce in accuracy.
Timesaving
It takes a lot of time to correct poor GPS measurements by hand. Often geo-referenced data is lost because of poor GPS. Hours of time and many geo-referenced images can be saved with an Inertial+2.
Technology
The Inertial+2 system includes three angular rate sensors (gyros), three servo-grade accelerometer/speed sensors and all the required processing in one very compact box. An internal low-cost GPS provides accurate time alignment and makes it simpler to use. Simple configuration software allows the user to change the mounting angle; displace the measurement point to a virtual location; change the GPS receiver type and many more. Once configured the Inertial+ works autonomously and does not require user attention. It can be used by non-skilled operators.
The internal logging enables the Inertial+2 range of products to work stand-alone. Post-mission, data can be output in ASCII text format and loaded in to the software of your choice. The outputs from the Inertial+2 have less delay, or lower latency, than GPS. It is not necessary to wait for the GPS measurement before the data is output. The GPS corrections will still be accepted if they are more than 0.5s late. The precision ADC in the Inertial+2 systems gives more than 20 bits of resolution. The resolution of the acceleration measurements is 0.12mm/s (12ug). The ADC oversamples the analogue sensors and uses coning/sculling motion compensation algorithms to avoid aliasing of the signals. The internal processing includes the strap-down algorithms (using a WGS-84 earth model), Kalman filtering and in-flight alignment algorithms. The internal Pentium-class processor runs QNX real-time operating system to ensure that the outputs are always delivered on time.
Friday, December 7, 2012
Configuration Management Tools The Hype and the Hope
Some of the sales literature coming from some Product Life Cycle Management (PLM) tool vendors (aka CM Tool Vendors) contain phrases like "Our software is the answer to all your configuration management needs", or "Our software does CM out of the box", or "Our software" offers a never seen before solution to CM," etc.
These statements may be a "plus" when selling to the uninformed, but more and more teams looking to purchase these systems are led by, or include, professional Configuration Management (CM) personnel. These CM professionals realize that PLM systems are a valuable and worthy tool that will aid them in daily CM activities, but the more knowledgeable CM professional is often turned off by the implication that these systems do "configuration management".
I always ask PLM vendors that offer the "ultimate CM solution" two questions. (1) what is the sales representative's experience in configuration management? (2) does the PLM vendor have a CM process in place to manage its own product?
Question 1: In order for true two-way communication to take place, the PLM Sales Rep needs to truly understand what the potential customer's needs are. I am told by some CM Managers (going through the buying process) that some sales reps who claim their PLM software tool as the "solution to CM", don't seem to know what CM really is.
It is likely that PLM vendors who have a sales force that understands the CM process, and speaks the CM "language"... coupled with a product that delivers... will win out over the competition.
Question 2: If a PLM supplier does not have a documented internal CM process in place it is evidence (to me) that the PLM vendor really does not know what CM is. As a result, there's a reasonable chance that your PLM product may be delivered with a few hard to resolve surprises embedded in it.
The PLM system may then be difficult and time consuming to maintain, (i.e. future options/fixes may take forever to implement and to debug).
The Hope:
Some customers hope that by purchasing a PLM system (a CM Tool) all their problems will magically go away and CM will be what it should be. But this will never happen without a thorough evaluation of the strengths and weaknesses of the organization's current CM process (and subsequent corrections as needed).
It is true, PLM implementation can enhance, and speed-up many of the CM activities such as document control, access to information, structure and linkages, change proposal and associated workflows... but it cannot assure the documents, records, and data are any good. It cannot assure a proper technical review, business decision, and implementation plans are made in regards to changes. And in the absence of an effective, and efficient CM plan and related CM procedures, a PLM implementation may never live up to its claimed benefits... no matter how good the PLM System actually is.
In some instances it could even make matters worse.
The CM process should to be understood, and corrected as needed, before investing in a PLM system. Ideally, companies would ask themselves if the current CM process is worth automating before investing in automation. If it is not worth automating, the first consideration would be to fix and enhance the CM process, then pursue a PLM solution.
Conclusion:
PLM tool vendors and prospective PLM purchasers could benefit from learning more about modern CM best practices. They need to understand what CM really is and talk the same language. The vendor and the customer would then be in a more informed, and comfortable position, relative to the PLM decision.
The PLM system purchased, will then "work" better. The relationship between the PLM vendor and the customer will strengthen as the PLM system interfaces smoothly within the CM process. This relationship will carry into the "post-sale" phase, when future enhancements will bring more functionality to the customer, and ultimately, more revenue to the PLM vendor.
Configuration Management Tools Evaluation and Selection
Automated tools are essential for effective and efficient configuration management. Tools can automate many aspects of the change management process and deliver a real time platform for managing baseline information. Tools can also provide reports and metrics that are necessary for continuous improvement efforts. Many tools also provide document control and other essential functionality.
CM Tools Do Not Do CM
Most organizations hope that by purchasing configuration management (CM) automated tools they will realize a significant improvement in CM effectiveness and efficiency. Some organizations actually believe that CM tools "do CM." This is wrong. The truth is, the "right" CM tool can be invaluable in making CM work better, but they do not "do" CM.
CM Process First
CM tools can enhance many of the CM activities such as change management, structure and linkages, baseline management, document control, access to information, etc., but they do not assure the CM processes and information being automated are any good. If your CM processes are not what they should be then no CM tool is going to save the day. In the absence of effective, and efficient, CM processes a CM Tool may never live up to its claimed benefits. In some instances it could even make matters worse. This being said, companies need to ask themselves if purchasing a tool should be the first step in CM process improvement.
Examples of Poor CM processes
Your requirements and documentation are never up to date or they don't exist. Your baselines are incomplete or improperly structured. Information you need to create accurate baselines is missing. The work-flow associated with the change process is inefficient. Your change forms are inadequate. Change implementation tasks are not identified and managed. The wrong people are making business decisions. Metrics of value are poor or nonexistent. Your change process still takes too long, so personnel have devised ways to get around the system... and much more. Automating the above is not going to give you better CM. The first consideration would be to fix and enhance the CM process, then pursue CM Tools.
Chaos Enhancement Tools
Many excellent automated CM tools become Chaos Enhancement Tools through no fault of their own. For example, because of organizational CM process inefficiencies the only redeeming quality of the automated tool may be to enable the organization to make bad decisions, or finding the wrong information, quicker. Ironically, the organization often blames the tool vendor when CM does not work like it should. They should be looking inward for process deficiencies.
Do the Math:
Great CM tools + poor CM processes = Failure
Great CM processes + poor/wrong tools = Failure
Great CM processes + Great CM tools = Success
Marry Process with Technology
CM tools will "work" as they should, and live up to expectations, only when effective and efficient CM processes are in place. Sub-optimized CM processes are not going to improve simply by automating them. The vendors will do their best to give you what you ask for, but if you don't know what to ask for, you may not find or get what you need.
Many potential CM tool purchasers could benefit from learning more about best CM practices. So would many tool vendors. The buyers and sellers would then be in a more informed, and comfortable position, relative to the CM Process/Tool decision.
The relationship between the CM tool vendor and their customers will strengthen as the CM Tool system interfaces smoothly within the CM process. This relationship will carry into the "post-sale" phase, when future enhancements will bring more satisfaction to the customer, and ultimately, more business/revenue to the CM Tool vendor.
Tool selection criteria must flow from a clear understanding of the required CM process capabilities. Enabling poor processes with automated tools does not equate to success. Enabling effective and efficient CM process with the right automated tool does.
Evaluating Tools
Create a Tool Requirements Spec
Once organizational CM requirements are defined, documented, and agreed upon we can then begin the process of tool evaluation. Only then can optimal CM Tool requirements be captured and documented. Output will be a CM Tool Requirements Specification to be used in evaluating and selecting appropriate CM tools for your organization. This spec includes CM process as well as detailed IT functional/Interface requirements. Don't fall into the trap where the IT department chooses the CM tool for the organization. This often results in disaster (more on this in another article). IT, CM, and the organization will need to work in mutual cooperation on the final tool selection.
What We Will Look For
There are many great automated tools to choose from depending on your requirements. Examples of CM Tool functionality are (in no particular order, and not all-inclusive):
Integration compatibility with company architecture, IT requirements
Change management work-flow- request through implementation
On-line forms/ templates
Automatic number/date generation
Change tracking
Multi-user comment and updates during impact analysis
Electronic change boards
Change action item tracking
Change implementation feedback
Escalation functionality
Custom notifications
Ability to link information and establish relationships between data elements
Ability to create and maintain baselines
Proper product structuring capabilities- documents and parts
"Where used" capability
Baselines flagged with change activity and effectivities
Ability to create different baseline views depending on user
Change management and baseline interface
Problem Reporting functionality
Version Control
Provide libraries (development, master, archive)
Requirements management
Ability to manage full life cycle from Development through O&M
The ability to automate process execution through work flow
The ability to customize work flow
The ability to customize forms & incorporate rules
The ability to customize field names, attributes, data views, etc.
Automatic metric generation
Online help
Multi-Language as needed
Control/Access/Security rules
Customer/Supplier access and compatibility
Browse access, by a variety of users, nationwide/worldwide
Security for update and browse
Incorporate ITAR, EAR, and other Security restrictions
Archive and backup
Can manage administrative as well as technical information
and more.
Begin Shopping and Eliminating Candidates
Typically we begin researching vendor offerings and/or send the tool vendor a list of our requirements to see if they can meet them. First, there are overall system architecture requirements. Then there are environment specific requirements. If our environment is software development, we may be eliminating certain vendors right from the start (and vice versa) due to functionality requirements specific to many software tools. Likewise, if you are in manufacturing and need to be able to "bridge" to ERP systems this requirement will also be eliminating certain vendors.
We will also look at features, price, license fees, etc., and another round of elimination occurs. Finally we are left with fewer choices that now require more detailed evaluation.
Schedule Onsite Demonstrations
Tool vendors will come and do demos of their product. Once the demos are over you can then narrow down the playing field even further. Look at the way the tool behaves, the way it is structured, and ease of use.
Schedule a Live Demonstration
Gather real information, real scenarios, real process, and real workflow information for the vendor to actually incorporate into a working demo of the tool. Go through the demo with your requirements checklist. Select a vendor.
Before Signing a Contract
Make sure you know what the vendor and your organization will need to do prior to signing any contract. The real price of PLM includes getting it implemented, and then possible maintenance. What may look like a "good deal" up front may not be as good in the long run. Get everything in writing, set tasks, schedules, performance metrics and more.
Then step on the gas and hang on. If your process is right and your tool selection was right, and there were no misunderstandings... then you are on your way to a successful CM tool implementation and a positive relationship with your tool vendor.
The Bottom Line
(1) The CM Process leads. Identify how you want the Organization's CM processes to work. CM processes need to be documented. They should be incorporated into an organization's "CM Standard."
(2) The organizational "CM Standard" becomes the basis of your "CM Tool Requirements Specification" (included are the organization's IT requirements).
(3) The "CM Tool Requirements Specification," as well as other criteria such as cost, schedule, etc., is used to select your preferred tool provider.
Configuration Management Software and The Fenestration Industry
To facilitate the smooth operation and continued production of quality fittings, many firms involved in fenestration have taken to using advanced configuration technology. This is a type of program that has been specifically designed with the unique needs of the industry in mind. The overarching goal of this software is to promote profitability and growth through streamlining the production cycle and reducing costs along the way. This is accomplished through a number of novel innovations that make configuration management software an absolute must for any serious fenestration manufacturer.
One of the prime advancements included in this type of software is 3D configuration technology. This allows the user to engage in the engineering of model creations, dictating their own parameters to form unique product offerings. The user is able to control the shape or size of their creation, alter materials, colour, or any other functional or aesthetic input. The end result is a perfect scaled mock up of the product, which can be altered further or sent for production if everything is modelled correctly.
Configuration management software aids your bottom line by providing an interface that encompasses all essential business activities. Through the program you can order raw materials of any type, keep track of inventory, monitor shipping and orders currently in progress, and manage the ongoing production process. The layout of the interface is also completely customisable to suit your preferences, giving you total user control. Through the sum of these functions, fenestration firms utilising this software are able to design and manufacture product lines with greater efficiency, while eliminating unnecessary waste during production.
The real beauty of configuration management software is that the way you choose to use it is entirely up to you. Some firms have created a built in knowledge database, maintained through the program, which has cut down on the time taken to train new employees. Other firms choose to use it as a means of quality control, catching any potential human errors before they reach the production stage. All companies have surely taken advantage of the ability to automatically calculate and project costs and measurements for incoming or outgoing quotes. The point is, in an increasingly competitive environment, this software is a way for fenestration firms to become more efficient and less wasteful.
Monday, December 3, 2012
Configuration Management Software Analytics to Tackle Private Clouds Challenges
Private Cloud Flexibility
Organizations that have made a significant investment in virtualization and in running large-scale virtual environments are well-equipped to move toward a private cloud model. Large companies with hundreds of departments all placing heavy demands on IT are excited about leveraging clouds. The self-service, automation and chargeback capabilities of a private cloud stand to make a huge difference.
One Size Does Not Fit All
While private cloud solutions can give the appearance of intelligence and flexibility, the diverse demands put on the infrastructure by different teams and departments can quickly lead to major configuration management challenges and conflicting settings and misconfigurations. Based on automation, there are various open source and commercial platforms providing management solutions for handling the diverse requirements of private clouds. However none of them effectively close the management loop.
Diversification Brings Complexity
Even the most basic clouds, such as those supporting development efforts, still have a diverse set of users. Some developers, when writing code, might need a Software Development Environment (SDE) linked to a runtime environment that supports multi-tier applications. Other people in QA might need a single instance of an application, rapidly reconstructed. Scalability testers would need simulation environments to test thousands of users and transactions.
Flexibility?
The private cloud maintains libraries of images or templates used as a foundation for the setup of required resources. There are two paths an organization can take - limit the base images to operating systems allowing the users to deploy required software layer on top or providing the whole software stack out of the box.
In the first case the image library can remain relatively small and static, however a significant amount of changes will need to be applied to build and operate an environment.
In the second option there will be less changes and they will be controlled with less effort, however the flexibility of spun off environments will be limited as well. In this case an extensive set of images or templates may be required to address various organization requirements. Managing extensive changes or extensive image library is a huge challenge that can overwhelm most IT operations and configuration management groups.
Infrastructure Management
The private cloud is supposed to be a self-service entity that provides teams outside of IT a secure platform to run, launch and develop on. It runs without end-to-end supervision. However with more teams tweaking and changing configurations, the system loses its reliability. When IT operations gives flexibility to teams of developers or QA, the system can quickly unravel. One request begets another, and users begin to ask for tweaks and changes to make the private cloud service better for them. Once that image has been tweaked, why not make it available to the next fellow who wants the same modification? Rapidly, the volume grows. Users might get what they want, but at the expense of having an effectively working platform.
Configuration Management Software Analytics
What is the solution? Flexibility or control?
Despite the self-service nature, a private cloud implementation needs reporting and monitoring tools, to stay on top of actual environment configuration. Yet tracking the end-to-end configuration of such dynamic environments can produce an overwhelming amount of data. To effectively keep clouds on course, a configuration management software and configuration management analytics engine needs to process this evolution of overwhelming, complex configuration for various environment components. Then the analytics system needs to derive actionable information that will allow the IT operations staff to maintain environment stability and performance.
Configuration Management Software - Streamlining Business Operations
Configuration Management is defined as the discipline for capturing and controlling product data, with the aim of such practices being to identify, integrate and control the many complex business processes that are involved in the production and sale of commodities, including product design, proposal activities, contract negotiation, marketing, testing, manufacturing, delivery and support. The principles behind the business philosophy are co-operation between all staff at each level of a commercial operation, which requires the feeding of product data and associated information to all partners of the business community, both internally and externally.
Businesses and manufacturing operations are constantly perusing the environment they operate within to find better and more efficient solutions to reduce costs and increase productivity. As reducing budgets and tougher economic conditions prevail, sourcing organisationwide solutions becomes even more challenging as additional resources are not being contributed towards these tasks. However, process improvement in all facets of businesses activities must be aspired to, not only to survive in the increasingly competitive global marketplace, but as a proactive measure to gain competitive advantage and provide a secure footing for the future sustainability and success of the business.
Where businesses have traditionally invested large sums of money into custom software applications to streamline business management processes, which tend to be over complex to the point of impeding their ability to meet their core purposes, many are now turning to configuration based, 'out of the box' management software solutions that can be individually customised for each businesses operation and their specific requirements of such management tools. A more simplified approach allows the opportunity for businesses to address the process and integration needs that they are challenged with in today's economic and competitive environments, resulting in a more rapid return on investment. In essence, configuration management software allows businesses to focus on meeting a broader set of business needs without the complexity and high costs typically involved in the use of such tools.
With the option of installation or web based applications, the software provides a simple way to create a rich user interface that presents the information, at each level of production and between the various departments, necessary to support decisions, as well as fine tune operations. The user interface is designed to be simple to understand and use, giving all staff members the ability, without technical knowledge of such systems, to coordinate, execute and audit business systems and practices to increase productivity, triple bottom line results and consumer experience and satisfaction.
Of the more reputable companies providing such offerings, the key features of the configuration management software include:
- Quote, order and fabrication features
- Order management
- Process evaluations
- Database management
- Rules based 3D graphical configurator and shape generator
- Multi Level Bill Of Materials
- Routing and Fabrication
- Labour costs and productivity
- Batching
- Lineal Optimization
- CNC output to machines
- Engineering validation
- Shop Drawings
- Bar coding and shipping
- Accounting integration
- Embedded report generator
- Customisable user interfaces
- Multitude of E-Commerce Applications, including online catalogue facilities
- Security of the system
To streamline your business operations, reduce costs, increase employee productivity and engagement with your customers, employ a software solution that allows you to integrate and configure all your business tasks and responsibilities into one easy to use application.
Configuration Management Software - A Critical Piece in Closing the Private Cloud Open Loop
Cloud computing has risen to the top of IT's discussion list, with the focus primarily on public clouds, out of the high-profile side of public-cloud vendors and their smooth accessibility. But when turning to implementation, many IT organizations are not ready to rely on public clouds out of concern for security, storage of sensitive data outside the corporate firewall and a general lack of control on the part of IT.
It presents an opportunity to tremendously increase the agility of IT, allowing the IT organization to rapidly and efficiently respond to changing business requirements, while still maintaining control.
However, IT execs are now coming to understand the challenges involved in making the transition to a new cloud infrastructure, where provisioning it is uncharted territory.
We explore the key technical challenges that lay ahead for even the most well planned cloud implementations, and where efforts should be focused in order to realize the promise of private cloud.
Defination:-
For the point of this discussion, we define private cloud as a deployment model where the cloud infrastructure is operated solely for an organization. It could be managed by the organization or a third party and could exist on-premise or off-premise.
Promises 100% Automation
To implement the enterprise cloud, today's organizations can build a platform that enables a cloud management loop through almost any combination of free open source components, mid-range cloud management tools and commercial heavy weight system management solutions. However, this is based on the assumption of complete, 100% reliable automation which has been promoted by the vendors, and not necessarily a reflection of reality.
Painful Reality
Private cloud introduces new management challenges to IT operations.
In a very dynamic and complex environment, issues come up. This means that certain infrastructure parameters need to be adjusted and often changed manually on the servers experiencing issues. Further complicating the matter comes with updates to the deployment automation platform, adding greater room for discrepancy. It becomes very difficult to track manual changes which are frequently made at a very granular level to individual parameters. These become moving targets in the dark.
When automation assets are modified, it becomes very difficult to correlate actual changes in the environment, causing environmental drift. This results in configuration inconsistencies, longer issue resolution time and other risks.
Rollout and rollback - is this a viable approach in large environments?
Deployment automation makes the cloud infrastructure flexible and efficient, yet a major challenge for managing configuration. The reason is that in large environments the management of configuration is based on approaches like rollout and rollback of the entire server images.
Numerous organizations are leveraging cloud to rapidly scale up and down particular business systems while at the same time continuously running these systems. The Cloud's dynamic nature, and limited visibility into the actual environment configuration makes the upgrade and roll back of the entire business service a challenge. The rollback of a system based on virtual images requires that the entire setup be updated, and then synchronized.
This introduces unnecessary operational risks. Since existing working virtual servers are retired, and new ones are rolled out, the replacement servers (based on stored images) include the changes. Many companies, operating in the cloud, are now upgrading existing servers - withoutretiring servers. This leaves servers still active with inaccurate configuration information.
The Rollback Challenge
The nature of systems that are implemented in cloud platforms is that they are subject to frequent changes, fixes, and improvements. This continues until a problem is found. Then the administrator can just roll back to the state prior to the faulty change. Many problems are only discovered after the passage of a good amount of time following release to production, and the more time that passes, the harder it is to roll back. Users get accustomed to new features, making it harder to remove the features. Customer and Business data is amassed in updated schemas, making it difficult to roll the database back.
Rollout Difficulties
Private cloud is changed and updated through several different deployment rollout models, yet each has a particular shortcoming.
Golden Image Deployment: The disadvantage of Golden images is that this is just combining machines 'AS IS'. The image catalog likely will only contain the commonly used images and lack the less common combinations of components that might actually be required for specific user purposes.
Template-based Deployment: By following a template, a fully configured cloud instance can be deployed to any of a number of cloud environments, however this means building and configuring templates that may miss ad hoc changes that had taken place during provisioning.
Script-based Deployment: By using a script to build the image, you can ensure that the rollout has the latest version of necessary components, however an operator will need to configure these scripts to ensure that the rollout will be error-free - possibility introducing bugs to the script.
Deployment Combinations: While no single way to efficiently deploy in a private cloud environment. Any of these approaches can be mixed and combined to roll out changes in the cloud, however all of the described problems can appear in this combination approach too.
Since changes occur dynamically, quickly and often at a fine level of detail, configuration management and change management tools need to be able to stay on top of the different states of the private cloud based servers, in order to know what changed and the impact. To facilitate these deployment approaches and successfully operate in private clouds, it is critical to manage the actual environment configuration and the changes that take place in the environment. To fully realize the capabilities and promise of private cloud in the enterprise, organizations need to implement a solution that can also identify changes in near real-time, at a comprehensive and detailed level. So if your IT organization is not willing to make this investment, then when the data center is transitioned to a private cloud, it will not be a platform that exhibits agile provisioning, elasticity and lower costs per application - the actual promise of the private cloud.
Closing the Private Cloud Management Loop
The gap that leaves the private cloud management loop wide open comes from how frequently private cloud offerings ignore change and configuration management challenges, resulting in not providing the new capabilities required to support environment agility while not losing control.
To close this loop, change and configuration monitoring must be automated, implementing analytics on top of the amassed information and integrating the new process for paying attention to change and configuration in cloud management - starting at the setup phase, through migration of existing systems and to ongoing operations for private cloud.
Saturday, December 1, 2012
CMM and Project Tracking and Oversight
The goal of the Software Project Tracking and Oversight Key Process Area (KPA) is to provide sufficient insight into project performance so that the project manager can detect variances between performance and the plan and take preventive or corrective action. This KPA influences all PMBOK knowledge areas and is most closely associated with the Monitoring and Controlling group of processes. As with the other KPAs Software Project Tracking and Oversight is organized into goals, commitments, abilities, activities, measurements, and verifications.
Goals
The goals of this KPA relate to and support project oversight and corrective actions. The goals are that results are tracked against project plans, that corrective actions are taken when there is a variance between planned results and actual results, and that corrective actions that change the project plan are agreed to by the affected groups. The abilities and activities all support the achievement of these goals.
Commitment to Perform
Commitments to this KPA are required at the executive level. The first commitment is that a software project manager be assigned to the project. This commitment will be made by default for most IT projects. The project manager responsible for the entire project is likely to be someone who is considered a "software project manager", or at least has experience managing software projects. When larger projects require a sub-project for the creation of a software system or application to be defined, this commitment requires a project manager to be assigned to manage the sub-project. This is an organizational commitment, but might require you to identify and assign a project manager to manage the software sub-project if you are the overall project manager.
The second commitment is also at the organizational level and it is that project management follows a written organizational policy for managing software projects. PMs working out of a PMO or PMC should have such a policy to follow. If you are a project manager leading the charge for CMM/CMMI certification you should undertake the writing of this policy to govern your project and future projects for your organization.
Ability to Perform
There are 5 abilities required to meet CMM/CMMI level 2 criteria. The first ability is that software project has a project plan. The second is that the software project manager assigns work to the project team. This means not only that the project manager defines, organizes, and schedules the work in their plan, but that they direct individual team members to do the work. I believe that meeting the criteria for this ability requires the software project manager to be given the authority to direct the project resources work for the duration of the project. The best way for this authority to be officially granted is through the Project Charter which governs the project.
The third ability calls for adequate resources to be provided for tracking and oversight activities. Planning of the activities will be supported by the project's plans and schedule. Adequate funding will be demonstrated by the budget for resources to perform oversight and tracking activities being part of the approved project budget. Ability 4 requires the software project manager to be trained in managing the "technical and personnel aspects" of the software project. I would argue that there is no better way of demonstrating this ability than by the certification of the software project manager as a Project Management Professional (PMP). The Project Management Institute oversee this certification and are recognized globally as the leaders in the area of project management certification and project management best practices. Certification of your software project manager is straight forward, providing PMI's criteria for project management experience are met. Providing they are, the project manager can choose from a host of quality PMP courses or PMP exam preparation training products to prepare them for the certification exam. These courses will train project managers in Project Management best practices and their implementation, as well as helping the project manager pass their exam.
The final ability calls for first-line software managers to receive "orientation in the technical aspects of the software project". CMMI defines a first-line software manager as someone who has direct management responsibility, including responsibility for providing technical direction, for staffing and activities of a single organizational unit. This definition matches the PMBOK's definition of a functional manager. The first-line manager should be educated in the tools, processes, procedures, and standards used for the project.
Activities
Activities called for by CMM include:
Use the project plan for tracking activities and communicating project status. The plan should be updated with information for work completed and made available to project stakeholders. Your MS Project file will satisfy this criterion and will convert your WBS/schedule to several formats that can be accessed by stakeholders who do not have MS Project on their desktop.
The project plans are revised according to a documented procedure. This procedure will be your Change Management plan, or Integrated Change Control System (ICCS). The various components of the project plan specify how changes approved by the ICCS/Change Management plan are to be implemented. The activity also calls for a review of the revised project plan.
Commitments made to external groups, and any changes to those commitments, are reviewed with senior management according to a documented procedure. In the context of tracking and oversight this activity will be described in the project's Change Management plan.
Approved changes to the software project are communicated to the members of the software engineering group and other software-related groups. Your Change Management plan, or Communications Management plan, should describe this.
The sizes of work products, or changes to the work products are tracked and corrective actions taken as necessary. CMM uses the word "size" to refer to the number of lines of code, .html pages, or pages of documentation produced. The idea is to compare the actual size with the estimates for the purpose of identifying actions required to correct the estimation procedure and future estimates.
Effort and costs are tracked and corrective actions taken when necessary. The cost management portion of the project plan will govern monitoring and controlling expenditures and identify how corrective actions are to be identified. The Change Management plan governs how changes to the cost estimates are to be made. Since software development projects frequently aren't governed directly by budgets, this may be accomplished in the Time Management plan for the project.
Critical computer resources are tracked and corrective actions taken when necessary. These will be tracked, along with other project resources, in the resource management plan.
The schedule is tracked and corrective actions taken when necessary. The Time Management portion of the project plan will describe how this happens, including the analysis of late and early delivery dates on the plan.
Technical activities are tracked and corrective action taken when necessary. Technical activities refer to the methods, procedures, and processes used to develop and test the software. Testing activities will be described in the Quality Management plan. Most of the methods, procedures, and processes associated with development of the software should be captured in the Configuration Management plan. Activities not covered by the Configuration Management or Quality Management plans should be described in a separate plan.
Project risks are tracked. This is accomplished by the Risk Management plan
Measurement data and re-planning data are recorded. This includes estimates and data associated with the estimates, plus data measuring completed work. Estimates will be captured in the WBS and schedule. Estimating tools and methods such as Function Point Analysis (FPA) will be described elsewhere.
The software engineering group conducts periodic internal reviews to track technical progress, plans, performance, and issues against the plan. The software engineering group includes the first-line managers and software project manager. This activity is covered by your weekly status review meetings.
Formal reviews to address accomplishments and results are conducted at selected project milestones. These formal reviews will correspond to your Gate Reviews.
Benefits Of Erp Software In India, Erp Software In Africa
ERP Implementations are worldwide known for their inherent implementation challenges, technological complexities and soaring costs during implementation. Analysts often debate the benefits of ERP software in India over the amount of effort and cost that an ERP implementation demands.
Despite a few odds against ERP, due to numerous tangible & intangible benefits of ERP software in Africa (even with the slightly high costs), not only large enterprises but even small & medium size companies invest in implementation of ERP system.
This article explores the challenges that ERP software address and the benefits that organizations reap over the period after implementing ERP software.
Managing Information "" The New Challenge of Scaled Up Business
Up to long time after their establishment, businesses usually work on the paper based management systems like books or registers, Microsoft Excel or in extreme cases some customized stand alone software developed locally, which often costs a dime as compared to the cost of ERP software. For a small business or newly established business, this is effective both in terms of cost as well as management needs. However, as business grows up and expands to new locations, units or subsidiaries, these low cost arsenals often refuse to troubleshoot the new problems of information management that rise-up with the economies of scale.
In real life the everyday struggle of a grown up businesses is mainly centered around managing the monstrously growing information, whether it is financial transactions data, inventory data, production information, vendor data, employee database or even emails. The mis-management of this information can have serious business implications; like incorrect invoices leads to delayed payments from customers or taxation issues; wrong inventory levels lead to hassles at production bays; overstock locks up much needed working capital; inappropriate production schedules lead to wasted man-hours, delayed productions and deliveries degrade customer satisfaction levels etc. "" each of these jolt the customer trust and market position of the company.
Scaled up business is an integrated huge mass of information about man, machine and material where each function is inter-dependent on the information and support from other functions. On large scales, seemingly simple task like generating correct Invoice become strenuous say "" 1500 invoices a week based on 500 Purchase Orders with 10,000 items with multiple price strategy "" isn"t that too complex?
Companies that try to meet this new challenge raised by business expansion with old techniques like increasing manpower realize much sooner that not only did this cost them high but the problem also snowballed to a dangerous level.
ERP Software "" an effective solution to information management
This is where enterprise resource planning software "" ERP comes into the picture. The benefit of ERP is that it solves two basic problems of magnitude "" one, handling too much & too complex data easily and two, integrating the fragmented pieces of information to build a significant and manageable mass, which become basis of strategic analysis and decision making.
Petra Schubert of Centre for Applied Information and Communication Technologies (CAICT), Copenhagen Business School, Denmark and Susan P. Williams, Institute for Information Systems Research, Germany conducted an empirical study on the benefits from current ERP. Some concrete findings are given below, for rest of the case study please visit here. [Source: http://www.bledconference.org/]
Two e-commerce companies LeShop and Digitec were able to guarantee just-in-time deliveries efficiently only after the introduction of the new version of their ERP system.
At Weiss + Appetito all information is centrally available for all subsidiaries. eltromat has access to accurate and current information to assist in the decision making process for management. The data quality is particularly praised in this case.
On the functional level benefits in the form of improved business intelligence are clearly in the foreground. The generation of analyses and reports for corporate management, e.g. key performance indicators (KPI), management cockpit (ad-hoc analyses) or the monitoring of contracts, purchase orders and shipments are mentioned here.
Another study, conducted on customers of ebizframe ERP system in India revealed that customers benefited financially by improving efficiencies. ERP System enabled automation expedited tasks like preparation of customer quotations, multi-tax invoices, accounts reconciliations etc. improved by a few weeks, which resulted in decrease of debt collections by more than three weeks in some cases, benefiting the operational cash flows and reducing the need for high interest business overdrafts or loans.
These studies conclude that "Acceleration of Business Process" and "Transparency in the Business Transactions" are two most important benefits of the ERP software that impact every nook and corner of the business. An ERP System also benefits business by timely detection of errors and triggers the alert much before it impact the business continuity or have high bug-fixing costs.
Simple but Significant Question: Is ERP costly?
Top Management often cites that implementing ERP system is often costly affair for the company. This used to be true few years back, but no more.
Owing to many innovative technologies developed in recent past, ERP systems now offer more configuration options, robust technology for reduced support, and use Open Source components to lower license fee for clients. These factors enabled the vendors to descend the base cost of ERP software.
However, the highest cost determinant in any ERP implementation is the cost of customization. Though most modern ERP systems have ample customization options and vertical-specific variations to meet the businesses needs, companies in their zeal (often to have higher employee buy-in) demand vendors to customize the ERP to match their exact business processes (which may not be necessarily the best practices). Heavy customization magnifies the ERP cost to large extent and also elongates the implementation time, causing delay and frustrations. While the fact remains that much of customization can be avoided by training employees to adapt to the business process available in the ERP.
If a company can adapt the ERP software with only essential customization, not only can it benefit by the global practices incorporated in the system, but also save huge money and time. Thus cost of an ERP depends on the management"s willingness to go with the ERP or the extent of customization it needs.
Can you live without ERP Software?
For a business with lots of transactions as a daily routine, software is more than a necessity. In current competitive scenario, business cannot operate without effective enterprise software. Whether that software will be ERP or set of custom applications remains a matter of choice and available budgets.
Business that do not choose one integrated software like ERP often juggle with multiple software applications for different functions i.e. one for finance, once for sales, one for production & so on. While it does solve some issues, it creates another set of business problems "" integration issues between multiple applications, more IT manpower software maintenance and above all "" lack of an integrated decision making system. These intangible costs and lost opportunities are often ignored, which over time period cost much more than the price of implementing ERP.
Business 10 years back could manage without ERP. But no more!
Now employees, vendors and management - all require speed and accuracy of information. Customers are much more demanding in terms of product pricing, delivery times, customer service levels and the brand value of the company. Only an integrated business solution like an ERP system can offer required competitive edge to the growing businesses.
With all its pros and cons clubbed together, ERP software remains an essential evil for growth
Saturday, July 24, 2010
Software Configuration Management

Software Configuration Management (SCM) is a tool that is used to manage change. Let's say Bob and Susan are both tech writers and both are working on updates to a technical manual. During a meeting, their manager assigns them each a section of the same document to update.
The technical manual is stored on a computer that both Bob and Susan can access. Without any SCM tool or process in place, a number of problems could arise. One possible scenario is the computer storing the document might be set up so that Bob and Susan can not both work on the manual at the same time. This would slow them down considerably.
A more dangerous situation arises when the storage computer does allow the document to be opened by both Bob and Susan at the same time. Here is what could happen:
- Bob opens the document on his computer and works on his section.
- Susan opens the document on her computer and works on her section.
- Bob completes his changes and saves the document on the storage computer.
- Susan completes her changes and saves the document on the storage computer.
This illustration shows the problem that
Thursday, July 22, 2010
What is version suppress? Why is it great for due industry?
Wednesday, July 21, 2010
Software Configuration Management Plan
Environment
All the members of the project are involved in the Software Configuration Management activities. Basically:
- the developers implement software enhancements and report, analyze and fix defects.
- the software configuration manager is responsible for baselines identification
- the users may use the software configuration management system to retrieve a particular baseline, to report defects or to propose software enhancements
- the testers report defects
Actually in this project the same actor can be in charge of many activities.
On a technical point of view, the environment consists in:
- savannah bug tracking system
- CVS hosted on savannah
Configuration identification
The Software Configuration Management process applied to this project identifies many types of baselines ; each of them has specific identification rule and minimum verification characteristics. For more details about verification, see Software Verification Plan.
All the development artifacts (source code, makefile, documentation) are identified and managed under configuration.
Working baseline:
- Description: this is a development baseline in the private working area of a developer. This baseline is not identified since it is a private one.
- Identification: none
- Minimum characteristics: none
Unstable baseline:
- Description: this is a development baseline in the public area of CVS.
- Identification: this baseline is not identified. It is only accessible as the 'latest' one.
- Minimum characteristics: none
Stable baseline:
- Description: this is a development baseline in the public area of CVS. This baseline identifies a consistent set of modifications or an important step during the implementation of a modification.
- Identification: a stable baseline is identified according to the involved GHOSTS component and the current date : [GHOSTS|GEDCOMPARSER|GEDCOMVIEWER]_YYYYMMDD
- Minimum characteristics: a stable baseline shall be at least compilable / linkable.
Official baseline:
- Description: this is a user baseline in the public area of CVS. This baseline identifies a consistent set of modifications; those modifications are well implemented, verified and tested.
- Identification: an official baseline is identified according to the part of the involved GHOSTS component and the release identification:[GHOSTS|GEDCOMPARSER|GEDCOMVIEWER]_Vx_y_z (Vx_y_z may use several digits forx y and z). The z member is used to trace corrections on an official baseline. The y member is used to trace enhancements which do not modify the scope of the current version. The x member is used to trace evolutions that modify the scope of the version.
- Minimum characteristics: an official baseline shall be fully implemented, verified and tested.
Baselines and traceability
The baselines are identified through CVS services, mainly with tag management.
The traceability between baselines may be analyzed through the CVS browser available on Savannah.
An unstable baseline shall be established at developer initiative when the developer wants to backup its working area in the public area.
A stable baseline shall be established at developer initiative when the developer wants to identify a particular state of the development.
An official baseline shall be established at project manager initiative, when a consistent batch of modifications have been fully implemented, verified and tested.
Problem reporting - Change control - Change review
Problem reports and enhancement requests are named as change requests in the next paragraphs.
Change control is not used for development or unstable releases. Consequently any change request refers to a baseline fully identified in the configuration management system.
Change request reporting is available through the Savannah bug tracking system.
Anybody can raise a change request. This change request shall include the identification of the concerned component. It may also include a priority.
The project manager receives a notification for each new change request. The project manager shall define the priority and affect a responsible for the implementation of the request. Eventually the project manager can cancel a change request.
Problem reports can be fixed on the release on which the defect has been found (by patch) or on a later release according to the criticity of the problem (for instance if the consequence of the defect can be a loss of data, it shall be fixed on the release on which the defect has been found). If the release on which the defect has been found is very old, this release may be declared “forbidden” and removed from the download area. In this case the defect will be fixed on a later release.
Each developer can close a change request. Before closing a change request, the developer shall identify the baseline in which he implemented the needed modifications (generally as a stable baseline). During the closure of the change request, the developer shall define the baseline in which the change request is implemented.
Configuration status accounting
Configuration status accounting is available through CVS services.
During the definition of unstable baselines, the developer shall write a summary of the implemented modifications. This information is then available through CVS services and the Savannah CVS Browser.
During the definition of official baselines, the project manager shall fill in the ChangeLog of the project. This ChangeLog is a synthesis of modifications implemented since the previous official baseline. The project manager shall also ensure that all the documentation is up-to-date and he shall build a tarball of the whole documentation tree ; this tarball shall be downloadable in the Savannah Files section, associated with the distribution tarball of the application.
Archive, retrieval, and release
Archive, retrieval and release are available through CVS services.
The project manager shall archive distribution tarballs of official baselines on the download area of Savannah.
Consequently distribution tarballs of official baselines may be downloaded on the download area of Savannah.
Monday, July 19, 2010
ความสามารถของ SCM

Version Control (ความสามารถหลักของ SCM)
มีการสร้างกลไกการที่จะสามารถติดตาม และบันทึกประวัติการเปลี่ยนแปลงที่เกิด ขึ้นเกี่ยวกับตัวผลิตภัณฑ์ทางด้านซอฟต์แวร์ ตลอดวัฎจักรของการพัฒนาซอฟต์แวร์ พร้อมทั้งระบุและรวบรวมการเปลี่ยนแปลงทั้งหมดที่เกิดขึ้นเข้าด้วยกัน Change Management การควบคุมการเปลี่ยนแปลง จะทำโดยมีการจัดการที่พักข้อมูล(Repository) เก็บ ในแต่ละองค์ประกอบ (Component) ของซอฟต์แวร์ โดยวิธีการเก็บนั้นจะจัดเก็บเฉพาะความแตกต่างในองค์ประกอบของตัวผลิตภัณฑ์ซอฟต์แวร์ และเวอร์ชันของซอฟต์แวร์ โดยความรักษาความปลอดภัยในทรัพย์สินทางซอฟต์แวร์ ในแต่ละเวลา ที่มีการเปลี่ยนแปลงไฟล์ การ Revision ก็จะทำงานทันที
เช่น foo.1 , foo.2 , foo.3 , …. ประวัติ ( History ) จะบันทึกเรคคอร์ดว่ามีใครที่ทำการเปลี่ยนแปลง หรือมีการ Revision ณ เวลาใด พร้อมทั้งมีหมายเหตุระบุเมื่อมีการเปลี่ยนแปลงเกิดขึ้น
Deltas คือ มีการจัดเก็บเฉพาะความแตกต่างระหว่าง 2 Revision โดยไม่ได้ระบุเนื้อหาในส่วนอื่นๆ (ซึ่งสามารถลดพื้นที่ในการจัดเก็บได้ถึง 98 %) Configuration Control ใช้เป็นมาตรฐานในการระบุเวอร์ชันของแต่ละตัวผลิตภัณฑ์ Build Management ช่วยนักพัฒนาในส่วนการทำงานต่างๆ โดยทั่วไป
สร้างและพัฒนาข้อกำหนดในการพัฒนางานด้านซอฟต์แวร์ ( Building and rebuilding a configuration ) สนับสนุนการทำงานแบบ Workspace ( Workspace Support )
มีลักษณะการทำงานแบบ Concurrent ( Concurrent Working ) Process Management
Tuesday, July 13, 2010
SCM TOOL 2
• Integrated Security
o ในบางองค์กร การเข้าถึง artifact ต่างๆ จะต้องมี authorization ตาม role ใน StarTeam จะมี User และ Role ถูก build-in อยู่ด้วย เราสามารถกำหนด access right ให้กับแต่ละ project ได้อย่างอิสระ นั่นคือ user แต่ละคนอาจจะมี role ที่ต่างกันในต่าง project เราก็สามารถกำหนดได้อย่างละเอียดไปถึงระดับแต่ละ folder หรือแต่ละ configuration item ที่อยู่ใน StarTeam เลยทีเดียว
o ในกรณีที่เป็นองค์กรขนาดใหญ่ที่ implement LDAP หรือ Active Directory แล้ว ก็สามารถ integrate StarTeam เข้ากับ LDAP Server โดยไม่ต้องกำหนด user และ group ใน StarTeam ให้ซ้ำซ้อนอีก
• Workflow Customization : สำหรับทีมขนาดเล็ก หรือขนาดกลางที่ไม่ได้มี policy หรือ process ที่ซับซ้อน workflow อาจจะไม่จำเป็นนัก StarTeam ก็มี build-in work flow สำหรับ change request มาให้ แต่ในกรณีที่เป็นองค์กรที่ต้องมีการ review ก่อน หรือจะต้อง notify ให้ใครเข้ามา approve นั้น StarTeam ก็มี feature ให้สามารถ customize work flow ได้ตามต้องการ รวมถึงสามารถ customize user interface ของ StarTeam ได้เองเพื่อให้ UI เหมาะกับ work flow ที่ได้ customize แล้ว (เฉพาะใน version Enterprise Advantage เท่านั้น)
• Scalability / Geography Distributed Development Team : เนื่องจาก StarTeam เป็น enterprise application ที่ออกแบบมาเพื่อรองรับ user จำนวนมาก ตัว StarTeam เองจึงที architecture ให้สามารถขยายจำนวนของ user ได้ รวมถึงยังสามารถวาง server ไว้ในประเทศหนึ่ง แล้ว connect จากอีกประเทศหนึ่งเข้ามา access item ต่างๆ ใน StarTeam ได้ เพราะ StarTeam เองถูก implement อยู่บน TCP/IP Standard และ encrypt ข้อมูลโดยที่ไม่ต้องใช้ SSL เพิ่มเติมแต่อย่างใด
• Multi-platform support : StarTeam Client มี version สำหรับ Windows, Linux และ MacOSX ส่วน Server นั้นสามารถติดตั้งได้บน Windows Server หรือ Linux Server ก็ได้ และรองรับ Database SQL Server และ Oracle เป็นหลัก
• 3rd Party Integration :
o นอกจาก Application Based Client แล้ว StarTeam ยังมี client ที่ integrate กับ IDE ต่างๆ เช่น IBM Eclipse, Visual Studio 2003 – 2005, Delphi, JBuilder และ Web-based client ด้วย
o กรณีที่ต้องการทำ project planning และ task tracking แต่ไม่ได้ใช้ Microsoft Project Server นั้น StarTeam ก็มี integration tool สำหรับ publish task จาก Microsoft Project ไปเป็น task ใน StarTeam เพื่อให้สมาชิกในทีมสามารถ submit work ได้ จากนั้น project manager ก็สามารถ import work กลับมาให้ Microsoft Project เพื่อ update progress ของงานได้ ทำให้เราสามารถ link task ต่างๆ กับ File, CR, Requirement, Task และ Topic บน StarTeam ได้ด้วย
o Test Management Tools Integrate : StarTeam สามารถ integrate กับ test tool ได้ด้วย เช่น Mercury QC หรือ Silk Central Test Manager เมื่อ tester ทำการ submit bug ที่เกิดขึ้นใน tool ที่กล่าวมาข้างต้น bug เหล่านั้นก็จะถูกสร้างเป็น Change Request ใน StarTeam ทำให้ทีม developer และ team tester สามารถทำงานร่วมกันได้บน tool ที่แตกต่างกัน การทำ SCM ยังไงก็ต้องใช้ tool เพียงแต่เราจะทำละเอียดขนาดไหน ซึ่ง tool ที่เสียเงิน ก็มักจะทำได้ตามทฤษฎีทุกตัว เพียงแต่จะ implement ในรูปแบบไหนเท่านั้นเอง แต่ละ vendor ก็มีวิธีที่แตกต่างกันไป ถ้าใช้ open source ก็อาจจะติดตรงที่ไม่สามารถ link กันได้เหมือนตัวอย่างของ StarTeam ที่กล่าวมาข้างต้น อาจจะต้องใช้หลายตัวและ customize เอง แต่ถ้าทำแค่ version control การใช้ CVS ก็ถือว่าเพียงพอแล้วครับ ขึ้นอยู่กับความจำเป็นครับ
ทั้งหมดนี้เป็น introduction เกี่ยวกับ Software Configuration & Change Management และ StarTeam ซึ่งก็ยังมีรายละเอียดอีกมากมายที่เกี่ยวข้องที่ยังไม่ได้พูดถึง แต่ผมก็หวังว่าทุกท่านคงจะเห็นและเข้าใจแล้วว่าอะไรคือ SCM ประโยชน์ของการทำ SCM คืออะไร ถ้ามีข้อสงสัยก็ post คำถามไว้ตาม link ที่อยู่ข้างต้นนะครับ คราวหน้าผมจะพูดถึงการเอา StarTeam มาใช้งานครับ
SCM TOOL
StarTeam เป็น Software Change & Configuration Management Tool คือรองรับทั้งการทำ versioning control และการทำ change management ไปในตัว ซึ่ง feature หลักๆ คือ
• Version Control : o File version control สามารถทำ version control กับ file อะไรก็ได้ ไม่ได้จำกัดเฉพาะ source code รวมถึง manage detail ของ file อัตโนมัติ เช่น owner, version number, history, etc.
o Version control for other artifact นอกจาก file แล้วเรายังสามารถ submit item อื่นๆ ได้อีก ไม่ว่าจะเป็น change request, requirement, task หรือ topic ต่างๆ StarTeam จะทำ version control ให้กับ artifact เหล่านี้โดยอัตโนมัติ
o Release management นอกจากแต่ละ file แล้ว StarTeam ยังสามารถกำหนด version ของ project เพื่อให้สามารถระบุได้ว่า ณ version 1.0 นั้น ประกอบด้วย file อะไรบ้าง version ไหนบ้าง รวมไปถึง configuration item หรือ artifact อื่นๆ ทั้งหมดที่อยู่ใน StarTeam ด้วย นั่นหมายความว่า ถ้าต้องการ rollback ไปยัง version ที่เรากำหนด เราจะได้ status ของโปรเจ็ค ณ เวลานั้นทั้งหมด และยังสามารถกำหนด deployment เป็น state ต่างๆ ได้ เช่น Alpha, Beta1, Beta2, RTM, Production เพื่อให้ง่ายต่อการ rollback หรือ deploy ไปใช้
o Branching & Merge ในกรณีที่เราต้องการแตก project ออกไปเพื่อ custom application ให้กับลูกค้าบางราย หรือสาขาเพียงสาขาเดียวเท่านั้น StarTeam สามารถแตก (Branch) project ออกไปเพื่อพัฒนาแยกไปคนละสายกับ product ที่มีอยู่ (หรือกรณีที่เป็น Multi-OS / Multi-Platform เป็นต้น) รวมทั้งมี tool เพื่อช่วยในการ merge project ที่ถูก branch ออกไปแล้วไปเป็น project ใหม่ก็ได้เช่นกัน (เหมือนกับกรณีที่ merge code ของ Windows XP SP1 เข้าไปใน code ของ Windows XP เดิม)
• Change Management :
o StarTeam รองรับการเก็บ change request ในตัว เพื่อให้ทีมสามารถ share และ manage CR เหล่านั้นได้โดยไม่ต้องใช้ tool อื่นเพิ่มเติม โดยเราสามารถเพ่มประเภทของ CR ได้เองนอกเหนือจาก default type ที่ StarTeam ให้มา
o นอกจาก Change Request แล้ว StarTeam เราสามารถบันทึก Requirement ใน StarTeam ได้ ทำให้สามารถทำ Requirement Management ได้ในระดับหนึ่ง สามารถสร้าง Task ใน StarTeam เพื่อ assign งานและ track progress ของ Task ต่างๆ ของสมาชิกในทีมได้ รวมถึง Topic, Issue หรือ Risk ต่างๆ ที่เกิดขึ้นใน project แต่ยังไม่ได้สรุปว่าควรจะ implement หรือไม่ เพื่อให้ artifact ต่างๆ ของ project ถูกรวมอยู่ใน repository เดียวกัน และครอบด้วย security ที่ใช้ user และ rules เดียวกัน
• Change Traceability : เมื่อเกิดการ change ขึ้น คนที่ต้อง manage change จะต้อง track ได้ว่า change นั้น เกี่ยวข้องกับอะไรบ้าง StarTeam สามารถ link item ต่างๆ ที่ต้องการเข้าด้วยกันได้ เพื่อตอบคำถามต่างๆ เช่น CR ที่เกิดขึ้นนั้น เกี่ยวข้องกับ requirement ไหนบ้าง หรือต้องแก้ code file ไหนบ้าง เป็นต้น หรือในมุมกลับกัน เราก็บอกได้ว่า Requirement ไหนบ้างที่เกิด Change Request บ่อย ถูกแก้ไปกี่ครั้ง เป็นต้น
Change Control Board
ถ้าเป็นการทำ process ที่จะต้องมีการ review หรือ approve จะต้องมีการตั้งทีมๆ หนึ่งขึ้นมาเพื่อ control และ track change ที่เกิดขึ้นกับ project เราเรียกทีมนี้ว่า Change Control Board หรือ CCB โดยทั่วไป CCB ก็จะประกอบด้วยสมาชิดในทีมพัฒนาเอง อาจจะเป็น help desk, project manager และ SA ที่จะช่วยกัน filter, tracking และ control change ต่างๆ ซึ่งหน้าที่ของทีมนี้ ก็คือ
• รับ Change Request จาก user หรือลูกค้า ทำการ submit CR เข้าสู่ระบบเพื่อให้ SA หรือ Developer เข้ามา review ก่อนที่จะทำหรือ planning ต่อไป
• Review CR ก่อนที่จะ implement CR นั้น CR ควรที่จะต้องถูก review ก่อน เช่น CR นั้นมีความสำคัญหรือไม่ CR นั้นจะเป็นต่อลูกค้าจริงหรือไม่ คุ้มค่าที่จะทำหรือไม่ ถ้าทำแล้วกระทบกับใครหรืองานจุดไหน ลูกค้า (คนจ่ายเงิน) รับรู้เรื่องนี้หรือไม่กรณีที่อาจจะมีค่าใช้จ่ายเพิ่มหรืองานอาจจะ delay ถ้าต้องทำ เป็นต้น การ review ก็จะเป็นการป้องกันไม่ให้ทีมทำงานที่ไม่จำเป็น หรือไม่ควรที่จะต้องทำ และให้แน่ใจว่า software นั้นมี feature ที่มีประโยชน์จริงๆ เท่านั้น
• Track change request status คอยดูแลสถานะของ CR ว่า CR เหล่านั้นถูก review หรือยัง แก้ไขหรือยัง เสร็จแล้วหรือไม่ ใครดูแลรับผิดชอบใจแต่ละ status เช่น ถ้าเป็น bug ใครเป็นคน fix, ใครจะเป็นคน test เมื่อ fix แล้ว เป็นต้น
• Deployment plan กำหนดว่า CR นั้นจะถูก deploy ไปใน version ไหน โดยปกติ Process ของ change management และ CCB นั้นจะขึ้นอยู่กับ methodology ที่แต่ละองค์กรเลือกใช้ เช่นถ้าเป็น eXtreme Programming จะไม่ได้เน้นว่าจะต้องมี change process หรือ CCB เพราะ developer ทำงานแบบ pare developer ถ้าเกิด change ขึ้นมา ก็จะ log ลงไปใน user story ใครที่ดูแล user story นั้นก็ดูแลกันไป หรือในกรณีที่เป็นองค์กรใหญ่ๆ ที่มีแผนก Helpdesk แยกต่างหากไป วิธีการก็จะแตกต่างกันไป อาจจะต้องมีการทำ review สรุปค่าใช้จ่าย เป็นต้น