Sunday, November 20, 2016

Future of the Profession

Being a computer expert those days in not linked to a university degree or an acknowledgment from an association, anyone with certain level of curiosity if I may call it, can attend training for widely spread commercial products and start supporting them as a professional in that product. I once met a person who graduated as civil engineer from university, and couldn’t find a job within his domain, then he attended a couple of Microsoft trainings, as well CCNA courses, he found a job as a system administrator, finally after 15 years of experience he is head of IT security in a financial company.

This situation can never happen with the medicine profession, for anyone to practice medicine he has to complete university degree in medicine, then go under a residency-training period and certain exams to practice the profession, in Jordan for example the physician has to complete the Jordanian board exam to be able to practice his job in Jordan, its like the USMLE for the states.

The computing world today has many branches, the include software engineering, database administration, software development, computer engineering as well the traditional computer science we studied at universities.  Users expect the person who will work on the computing device, whether it’s a home PC or corporate server to have an academic degree in computer science, in addition to level of expertise and exposure in this field, but it’s not the case always. To make it become a profession after 10 or 20 years and with all those branches that share the same core knowledge however, different professional practice, we have to follow the steps of the other professions. We have to seize the opportunity that everything is so dependent on technology and information technology, we have to get appreciation from the society.

In the future, a good number of the IT tasks will be automated either by software applications or by hardware robots that we build, IT outsourcing will shift certain jobs to countries were those tasks can be achieved in cost effective manner. For example a system administrator might not be needed, as currently we have lots of systems that detects failure in a service and starts it up without user intervention. Only operator maybe needed to monitor that application and logs. A home PC might have 50 cores instead of dual or quad core CPU’s, the developers need to be able to develop applications to use the best of those cores. Software developers will be needed, even after 50 years from now, they build the systems that all professions use as their dependency on technology is increasing.

If code of ethics for computer profession should be developed similar to the code of ethics from ACM for software engineering, as the profession should cover every computer expert with certain level of degree and experience. Because in 50 years, software engineering will not be the only branch in computer technology, their will be other branches like computer researches, computer engineers and scientists, designers, for that it should cover all branches under one umbrella.


References:

(Accessed 23 April 2011)


Holmes, N., (2007), ‘The Computing Profession and Higher Education’, [Online], Available from:

(Accessed 23 April 2011)

Sunday, October 12, 2014

Errors

Evolution in software industry has lead to evolution in many different industries, what was achievable only by mechanical machines, could be achieved now by software program and this increased the importance of software industry. However, there is no software without bugs or coding errors, those errors could be minor and fixed easily, others could threaten human lives, or result in failure of software products.

During our disaster recovery site building we have purchased a software to automate failover of windows based servers to the alternative site, as well the software was supposed to do an automated failback process of the previously failed over services to the main site. The software was sold to us on this basis, and the company’s sales team along with technical personal confirmed those features to be part of the solution design. Vendor produced the initial project plan and committed to complete the project within two weeks, at that time we had a believe that our setup is too complex to be complete in two weeks, and we have informed the vendor with our concern, but they confirmed to us that the same setup was done by them multiple times. After achieving partial failover of our servers and services, we wanted to test the failback procedure but we couldn’t. The software had an error that prevented partial failover, for the software to work properly we have to failover all our services and then fail them back again all together. Now we are stuck in the middle, we cannot failover services to the alternative site as this will impact services availability, and at the same time we cannot failback to main site because the software doesn’t support partial failback. Apparently the cause of the error was limitation in design to support multiple failover scenarios, and the problem was not identified earlier because testing partial failover was not performed or designed for by the vendor. In our case, this error jeopardized our operations could have resulted in data loss if reverse replication took place before understating the error consequences.

Software errors could result in manageable or unmanageable consequences; quality assurance and testing are two major processes should be conducted by introducing new software to avoid late discovery of errors, and minimize the impact of errors.

Reference:

Luguo, C, Xiaobo, W, & Chau, L 2011, 'An Approach to Improving Bug Assignment with Bug Tossing Graphs and Bug Similarities', Journal Of Software (1796217X), 6, 3, pp. 421-427, Computers & Applied Sciences Complete, EBSCOhost, viewed 23 June 2012.

Zaineb, G, & Manarvi, I 2011, 'IDENTIFICATION AND ANALYSIS OF CAUSES FOR SOFTWARE BUG REJECTION WITH THEIR IMPACT OVER TESTING EFFICIENCY', International Journal Of Software Engineering & Applications, 2, 4, pp. 71-82, Computers & Applied Sciences Complete, EBSCOhost, viewed 23 June 2012

Reducing Risk

One of the most valuable assets to a company its information and electronic data, this data contains monetary figures, customer information, inventory updates, accounts payable and account receivables, in addition to plenty of critical data that its loss could lead to catastrophic consequences. In certain industries regulations are held to force companies to protect their and their customer’s data for certain number of years, as well minimal unplanned outage is targeted. There are general guide lines companies need to follow to reduce the risk of data loss, and minimize its impact on the company’s operations.

Top management should not consider data protection as part of the IT strategy only, whilst as a company’s business continuity plan to protect the organization rather than the IT department itself. Companies should consider protecting electronic information by the introduction of high availability design within the same datacenter as well as within multiple locations, in addition to that backup and restore of electronic data should be designed to ensure full electronic data backup and test restores periodically. A good practice would be by having an alternative copy of backup tapes at different location, and perhaps different locale. One more good practice would be by building alternative site, where all business critical and business important services and data be available incase of natural or unnatural disaster hit the main site. As a best practice, the alternative site should be in a different building, city or country. Instead companies could go for hosted services to host their data and services with less startup cost, as well high availability and resilience guaranteed. My company has to build and test its business continuity plan to be compliant with Central bank regulations, business continuity plan covered all departments to ensure normal operations incase of disaster, we rented a new location far from the head office and equipped it with necessary furniture, computers, and communication lines. Based on the Business Impact analysis conducted by business continuity and risk department we defined the RTO, RPO and RCO. From this point, IT department started working on multiple projects to satisfy business requirements, we focused on upgrading communication lines in main site to accept the additional traffic, as well we rented a new location from the service provider to host our servers and storage at that site to be our disaster recovery site, the site was pre equipped with necessary power and cooling. One of the projects we have raised was automation of failover and failback procedures, we have purchased to new solutions to help us achieve this objective as well reduce recovery time to meet business requirements. Our daily backup media is transferred to the disaster location on daily basis, and we conduct restore tests quarterly. One last process we initiated was the transfer of backup tapes to a different country on monthly basis to avoid risk of natural and unnatural disasters in Qatar. After we tested the efficiency of our setup, we are planning now to have a second alternative site in a different country.

Risk of data loss is a nightmare for business owners, senior management and IT management. Loss of customer information has devastating impact on company reputation, and existence. Senior management should take ownership and invest to ensure that company’s electronic data is well protected against expected and unexpected disasters.

Reference:

Forbes, G, & Steven, B n.d., 'A framework for business continuity management', International Journal Of Information Management, 26, pp. 128-141, ScienceDirect, EBSCOhost, viewed 23 June 2012

Wainwright, V 2007, 'Business continuity by design. Don't let a disaster impair your facility's performance', Health Management Technology, 28, 3, pp. 20-21, MEDLINE with Full Text, EBSCOhost, viewed 23 June 2012

Staffing

Human resources in an organization are the pillars to its success; they are required to maintain its operations and to participate in new projects. Projects could require recruiting new resources with certain skills, certain abilities and expertise. Project success rely heavily on the quality of project resources, and management are usually facing difficulties with employee turnover, maintain employee motivation, managing team workload, maintain and build in-house knowledge and more. Below I will list and discuss key management issues in IT-project staffing.

· Employee turnover: this is one of the key issues IT organizations and IT departments are suffering from. High employee turnover could downgrade employee productivity, as well increase costs incurred by organization for recruiting new employees, and maintain project performance. It has great impact on project deadlines, budget and scope.

· Manage employee motivation and workloads: demotivated project team produce less that motivated project team, and one of the key challenges management face is keeping high motivation during project timeframe. Management should consider intrinsic and extrinsic motivation techniques to maintain project team motivation. In addition to that, employee workload should be managed, as high workload could result in decrease in motivation and project performance.

· Organization growth: introduction of new projects, and future project team responsibilities should be communicated ahead of time. In my organization we are facing an issue with a new project that resulted in cancelling all vacations for the coming year for all employees. This is a major project and the management believe that vacations assemble a high risk on the project, however if this was communicated properly including project team responsibilities, I believe this could have been avoided either by training employees to replace their colleagues during leave, or any other way.

· Keeping staff knowledge and skills: IT industry is training intensive, IT staff require to keep their knowledge up to date with new technologies. For that IT management should ensure that project team has the required knowledge and conducted in the proper trainings to support the project. Each project might require separate training budget for technical and non-technical team members.

· Knowledge transfer: Since most IT projects require hiring outsourced consultants, management should consider knowledge transfer and handing over sufficient documentation to help internal staff maintain the environment in non project mode.

Identifying and handling above-mentioned key issues help management reduce staffing risks and impact on project success, successful implementation of IT project rely mainly on human resources capabilities, knowledge and motivation. Human resources should be maintained, and satisfied to enhance probability of project success. Identifying listed issues help management in planning and developing projects more wisely.

Reference:

Ahilton, B, Márcio de O., B, & Cláudia M.L., W n.d., 'Staffing a software project: A constraint satisfaction and optimization-based approach', Computers And Operations Research, 35, Part Special Issue: Search-based Software Engineering, pp. 3073-3089, ScienceDirect, EBSCOhost, viewed 16 June 2012.

Huidan, L 2011, 'PROJECT MANAGEMENT AND ENGINEERING ISSUES', Annals Of The University Dunarea De Jos Of Galati: Fascicle XIV, Mechanical Engineering, 1, pp. 57-60, Academic Search Complete, EBSCOhost, viewed 16 June 2012.

Project Change

Change management is one of the key components and knowledge areas in project management, the reason behind that relates to the fact every project will require a change during its phases, regardless of its complexity, size, scope or cost. Change is essential and if not handled properly could lead to scope creep, budget overrun, or project failure. From my point of view proper understanding of the change, is the key to managing project change.

Every change has an initiator, this could be a business user due to new functionality required, or fixing a major functionality bug, as well the initiator could be developer, due to discovered bugs. As well each change could come along with disadvantages, in other words, the intention could be to fix a bug, however, the implemented fix could affect performance, or affect the project critical path. Change initiator considers only one direction of the change, and project manager, or project sponsor usually consider the consequences. If the implications of the change are not properly understood and communicated, most probably changes would be resisted, canceled or improperly handled. Other reasons made me consider understating the change as the key to managing changes in projects; those are change implications on staffing, it is important to understand change implication because changes could require new expertise in-house, or outsourced to plan, design or execute the change. As well understanding the change could help in finding alternatives that could be more cost effective and requires less time to perform. Change initiator should ensure that all change requirements; implications, advantages and disadvantages are properly addresses, analyzed and communicated. This will increase potential of buy in from project manager and project sponsor who eventually approve and have power to approve changes. Ward & Elvin suggest building a change framework that is based on understanding the nature of the change to increase the chance of successful outcome (Ward & Elvin, 1999). Sometimes changes are driven by strategic objectives of an organization, this implies that short term benefits would not be visible to project team, and this could result in discarding the change, while understanding that this changes was initiated for a long term benefit for the organization would help project team understand the actual value of the change an act based on that.

Changes are required and occur in every project, failing to control them could lead to project failure, I believe the key to managing project changes is understanding change nature, implications and requirements to better analyze its impact on the project and the organization.

Reference:

Legris, P, & Collerette, P 2006, 'A ROADMAP FOR IT PROJECT IMPLEMENTATION: INTEGRATING STAKEHOLDERS AND CHANGE MANAGEMENT ISSUES', Project Management Journal, 37, 5, pp. 64-75, Business Source Premier, EBSCOhost, viewed 16 June 2012

Ward, J, & Elvin, R 1999, 'A new framework for managing IT-enabled business change', Information Systems Journal, 9, 3, pp. 197-221, Business Source Premier, EBSCOhost, viewed 16 June 2012

PM Software

With the increased importance of project management, the number and variety of project management tools increased. Some of these are proprietary applications, others are open sourced or even web-based with subscription. Project management tools are essential for project managers to plan, monitor, and manage projects, resources, investments, tasks, and more. One of the famous and widely used tools is Microsoft project professional, and I will be comparing this tool with open workbench, which is an open source project management tools.

Open workbench is often defined as the free alternative to Microsoft project tool; still they have some differences and each of them certain features that distinguish it from the other. As well share similar features, some of those features are:

· Ability to identify and track the critical path.

· Ability to track milestones.

· Track resources

· Create WBS

· Create and define dependencies.

Those differences are listed in the table below

Feature

MS Project

Open workbench

Resource scheduling

Schedule is based on time duration

Schedule is based on effort

Schedule

User selected option (manual or automatic), dependency or top down.

Manual. Critical path or top-down driven.

Inter-project dependency

Requires many steps to create.

Easy and streamlined.

Working holiday

Does not allow scheduling tasks during holiday

Allowed

Resource replacement

Requires creation of work estimates, and default scheduling is set and need to be reworked.

Replacing a resource is easier as all schedules, tasks, and work estimates are maintained.

Multiple project accessibility

Individual plans must be opened before accessing the master plan. And resources appear as duplicated because they are defined in each plan seperatly.

Master plan is created and accessing it provides access to other project plans. Resources could be assigned to single project or the master project plan.

Email Integration

Available

Not Available

Cost

Above $800

Free

Cost of acquiring MS project is above $800 for individual, while open workbench is a free tool. However, MS project has an enterprise version, which connects to enterprise project management server and allows controlling portfolio of projects. Both are great desktop based tools, however resource for MS project are more and this makes it easier to learn, many books and training courses are offered to train MS project.

Reference:

Flossnet, (2011), ‘Open Workbench and MS Project Comparison’, [Online]. Available from: http://www.flossnet.org.za/computer-training-courses/29.html

(Accessed 9 June 2012)

Sourceforge, (2012), ‘Open Workbench Description’, [Online]. Available from: http://sourceforge.net/projects/openworkbench/ (Accessed 9 June 2012)

Levine, R., (2009), ‘Comparing Microsoft Project and Open Workbench’, [Online]. Available from:

http://www.brighthub.com/office/project-management/articles/47707.aspx

(Accessed 9 June 2012)

Certification & Hiring

IT project manager should have certain traits and skills to allow him to manage resources, team members, stakeholders, and lead the project success. The project manager should be good in communication, able to motivate team and stakeholders, understand team behaviors and personalities to be able to lead them, identify risks and manage them, as well project manager should have knowledge in certain areas to be able to succeed in hi career, those are procurement, HR, integration, risk, and a lot more. For that IT project manager should have certain organizational skills, knowledge in certain areas, and experience in IT to be able to successfully lead IT projects.

Project management certification such as PMI and PRINCE2 adds a level of respect to the certified candidate, and accredits that the certified candidate has the required knowledge to lead projects. It is the first step to allow a candidate to manage IT projects, however they are not sufficient. There are many traits and skills that are more important and critical on the project success, and those are more important that the certifications. Starkweather & Stevenson conducted a research to investigate the importance of project management certification and found that for recruiters and IT executives PMP certification is the least valued and recognized of other fifteen core competencies (Starkweather & Stevenson, 2011). There research found that project management certification has no relation with increased success rate of IT projects (Starkweather & Stevenson, 2011). It is important to understand the importance of the PMP certification, as candidate get to know the required skills that help them to manage projects, and introfuce the knowledge area required for them to pursue there job, however alone and without IT project management experience it is not sufficient to produce a good project manager. A candidate with the required IT knowledge and experience, and has the soft skills needed to manage projects could be sent to a training program to leverage his skills, researchers in 1990s concluded that effective project management evolved with experience (Stevenson & Ann, 2010). Project management certifications give candidates the guideline to manage IT projects, however managing a billion dollar project might come once in a lifetime, and no training program could ever translate the experience acquired in such opportunity.

In conclusion, I will not consider hiring a certified project manager without adequate and relevant experience in IT projects; on the other hand I will be hiring the experienced project manager although he acquired no certification. Without experience, certified project managers has certain knowledge and they might not has the skills, or the personality to lead and handle project conflicts, this could only be acquired by experience.

Reference:

Deborah H. Stevenson, & Jo Ann, S 2010, 'PM critical competency index: IT execs prefer soft skills', International Journal Of Project Management, 28, pp. 663-671, ScienceDirect, EBSCOhost, viewed 9 June 2012

Starkweather, J. A. and Stevenson, D. H. (2011), PMP® certification as a core competency: Necessary but not sufficient. Proj Mgmt Jrnl, 42: 31–41. doi: 10.1002/pmj.20174