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

Prototypes

Many system developments turned into a failure after the completion of the project because the customer discovered that the developed system does not fulfill the required and agreed upon requirements. One way to avoid this could be by developing a prototype for the solution prior to developing the solution directly. Prototyping help customers, end users, developers and project managers understand the system requirements and have a chance to test it prior to the final development. As well the prototype could be used to offer a training environment for customers and end users, and offers a sandbox environment for developers to help them understand and find better ways to develop the final solution.

Prototyping could be seen as one of the ways used to develop software, in addition to structural SDLC or a hybrid of both. Prototyping is questioned with regards to its efficiency and effectiveness (Pliskin & Shova, 1987). Authors claim that prototyping is only useful in small problems, and its basic benefit that it helps in determining interaction requirements (Pliskin & Shova, 1987), in complex projects prototyping increased project risk, and cost. The major benefit from building a prototype is that it helps in clearing any misunderstanding between business managers and their user on one side and system developers, as well it helps to identify missing requirements and helps in building the requirements document to form the base for the development of the final solution. What differentiates prototypes from final solutions is that in prototyping phase system changes happen more frequent, and the prototype evolves by time. As well the prototype could help in requirements and specifications gathering, this could be useful for complex solutions, and when business users lack the full picture of the requirements. This type of prototyping is referred to as evolutionary prototyping and it helps when developing solutions with limited understanding of requirements, this type of prototyping has some disadvantages, and those are it provides impractical performance, schedule and budget prospects, and maintenance becomes costly because of the multiple changes the prototype building phase went through.

Evolutionary prototyping could lead to poor documented solutions, and for that a hybrid technique could be more effective, and the benefits of prototyping could be seen in small projects. I do support the perception that claims that prototyping is poor technical solution only if the solution to be developed is complex. In small projects prototyping could be more effective than structural SDLC and more effective, as it helps in delivering the project in shorter time, and provides a better visibility to build system requirements.

Reference:

Glushko, B., (2008), ‘Prototyping’, [Online]. Available from:

http://courses.ischool.berkeley.edu/i290-1/f08/lectures/ISSD-20081117.pdf

(Accessed 2 June 2012)

Pliskin, N. & Shoval, P., (1987), ‘END-USER PROTOTYPING: SOPHISTICATED USERS SUPPORTING SYSTEM DEVELOPMENT’ DATA BASE Summer, [Online]. Available from: http://www.itu.dk/~evahel/speciale%20artikler/end-user%20prototyping.pdf

(Accessed 2 June 2012)

Walker, M., Takayama, L. & Landay, J., (2002), ‘HIGH-FIDELITY OR LOW-FIDELITY, PAPER OR COMPUTER? CHOOSING ATTRIBUTES WHEN TESTING WEB PROTOTYPES’, [Online]. Available from: http://dub.washington.edu:2007/projects/fidelity/pubs/Walker_HFES_2002.pdf (Accessed 2 June 2012)

Requirements Gathering

Requirements gathering, and requirements analysis are the most important parts of any software development project and IS projects in general. IS facilitates and helps all industries to be more productive and automate manual work for departments within organizations. Business people explain their requirements to project manager or system analysts, and then developers start to develop and build applications to satisfy those requirements. All stakeholders should be committed to the requirements gathering process because it’s the foundation for any software development project.

Requirements gathering process should be documented and communicated with all stakeholders, as this will form the basic design document that the software development will be based on. It is important to understand the differences in perception between business users and developers with regards to requirements, business users care most about the user requirements, which are the tasks and features the system should offer to the end user to allow him to perform his job. While for developers, requirements could be the technical requirements for them to be able to satisfy users requirements; developer’s technical requirements are referred to as functional requirements. On the other hand, system requirements refer to the top-level requirements for a product that contains multiple systems; this could be software, hardware, human resources and more (Wiegers, 2009). User requirements should be defined, maintained and under the responsibility of the business managers, while functional requirements should be defined, maintained, and under the responsibility of Information system managers, each functional manager should define and take ownership of the responsibility that fit under their area of expertise to develop the best set of details required to satisfy the project requirements. And both being IS management, and business management are responsible for the system wide requirements, its definition, maintenance, analysis, and communication. IS software is built to facilitate and help business managers perform tasks for their departments; they have to insure that their requirements are properly defined, documented and satisfied.

Defining requirements is under the responsibility of both parties being IS management and business management, each should define his requirements, as well both are responsible for defining, maintaining and satisfying system wide requirements, else the project won’t deliver the required functionality and won’t satisfy its objective.

Reference:

Paetsch, F., Eberlein, A. & Maurer, F., (2003), ‘Requirements Engineering and Agile Software Development’, IEEE, [Online]. Available from: http://www2.enel.ucalgary.ca/People/eberlein/publications/WETICE_03.pdf

(Accessed 2 June 2012)

Wiegers, K., (2009), ‘Software Requirements, Second Edition’, O’Reilly, [Online]. Available from:

http://books.google.com.qa/books?hl=en&lr=&id=WcO3Ca9NuvQC&oi=fnd&pg=PT1&dq=system+requirements+responsibility&ots=d94hFeG6Ag&sig=0r0hrJ6sMwhAG4PbCx9X5Q3huWo&redir_esc=y#v=onepage&q=system%20requirements%20responsibility&f=false

(Accessed 2 June 2012)

Zisman, A., Spanoudakis, G., Pérez-Miñana, E. & Krause, P., (2003), ‘Tracing Software Requirements Artefacts’, [Online]. Available from:

http://www.soi.city.ac.uk/~gespan/serp03.pdf

(Accessed 2 June 2012)

Small Businesses

Due to its limited resources, and huge impact of business incase of failure or success, the adoption of IT in small business is different than in large businesses, and small business have to be more careful in IT investment decision making. IT is business enabler, and not business driver. Based on that the three main concerns I would have in the case of running a small business with no IS expertise, and all software is purchased would be Interoperation, fit for purpose, cost.

Interoperation is one of the main concerns that I would consider as a concern in small business, the need of exchanging data smoothly between systems is a critical success factor for small businesses. It might not be a concern for large businesses as they have the money to go for middleware solutions, develop integration layer between systems and so on. Small business systems need interoperation specially when introducing new software, to insure proper flow of data between systems and thus help the business achieve its goal and benefit from IT systems with less cost. A second key concern would be the selection for solutions, small business solutions requirements should be analyzed and the solution selected should be fit out of the box for the business, and part of this category the business should make sure that SLA exist between software vendors for support, reliability and maintainability. This is very important because an organization with no IS expertise should be focusing on having reliable systems due to their lack of support. Usually those businesses consider outsourced support and development services, and thus local existence of this support is mandatory. A third concern and it might be one of the most important in small businesses is cost of adoption, small businesses are short in funding specially for technology systems, as those solutions might not be justified for business owners, and IT investments might not be budgeted for in such organizations.

When spending investments in IT for small businesses multiple factors should be taken into consideration, those could be interoperation, and that the software is fit for purpose and satisfies businesses requirements with minimal overhead and support, as well solution cost and that it fits within the allocated budget as small businesses IT investments might not be justified and catered for.

Reference:

Haug, A., Pedersen, S., & Arlbjorn, J., (2011) "IT readiness in small and medium-sized enterprises", Industrial Management & Data Systems, Vol. 111 Iss: 4, pp.490 – 508, DOI: 10.1108/02635571111133515, [Online]. (Accessed 26 May 2012)

Sarosa, S. & Zowghi, D., (2003), ‘Strategy for Adopting Information Technology for SMEs:Experience in Adopting Email within an Indonesian Furniture Company’, Electronic Journal of Information Systems Evaluation Volume 6 Issue 2, (2003) 165-176, DOI: 10.1.1.68.7342 [Online]. (Accessed 26 May 2012)

Build vs Buy

Software enterprises often have to decide whether to buy software of the shelf, or use internal resources to build software that fit enterprise needs and requirements. Such decision is usually controlled and guided by plenty of factors that should be considered prior to taking this decision. Those factors include internal resources skills and capabilities, cost and budget allocated, time to market, maintenance and a lot more.

Organizations with limited IS resources and expertise might not have the option to build or develop in-house software, and usually tend to buy ready solutions or contract a development company to build the software based on their needs. However, for software enterprises with available resources and IS expertise it might sound more feasible to build and develop the software in-house rather than buy ready software. However, it is not that easy to take such decision, Starling (Starling, 2003, cited in Langer, 2012) provided key decision categories that would help CIO’s to decide when not to buy software, and build it in-house:

1) Special skills in design and development are required and those are available only inside the organization.

2) Future development is required to help in keeping the application fit for the organization.

3) Software development is critical for the success of the company and its customers.

Basing the decision on the defined criteria, CIO’s should consider build in-house software incase they have the IS expertise to do so, and when other criteria factors are met such as the development of the application in-house would help the organization succeed. In addition to this criterion, it is crucial to consider total cost of ownership, Langer mentioned that 70% of organizations decided to buy rather than build because buy option comes with lower total cost of ownership (Langer, 2012), this is valid taking into consideration implementation costs and ongoing software customization and development. My organization is going through a core banking migration as we selected a new core banking solution to replace the existing one, one of the main criteria in core banking selection was implementation cost and the cost the organization need to pay to keep customizing the current core banking system to fit organization requirements.

There are other factors that need to be taken into consideration when making a buy or build decision, one factor could be engagement of current IS expertise in other software projects, an organization could have all the skills required to develop the software in-house, however they are already engaged in more critical developments and engaging them in new developments might affect the delivery of a more important project. In addition to that, ready or out of the box applications implementation time is less than developing the application in-house, and this factor could force the organization to accept out of the box applications, with less functionalities due to business engagements and the need to launch a new product in a specified time frame.

Build of buy decision is bounded by multiple factors, and even if the software enterprise have the required skillset inhouse, it could be more feasible to buy an application rather than build, this is dependent on the TCO, time limitation, and engagement in other projects.

Reference:

Buchowicz, B.S., (1991), ‘A process model of make-vs.-buy decision making. The case of manufacturing software.’, Engineering Management, IEEE Transactions on, V. 38, I. 1, pp. 24-32, DOI:  10.1109/17.65757, IEEE, [Online]. (Accessed 26 May 2012)

Langer, (2012), ‘Build vs. Buy’, Guide to Software Development, pp. 37-48, DOI: 10.1007/978-1-4471-2300-2_3, Springer, [Online]. Available from:

http://www.springerlink.com.ezproxy.liv.ac.uk/content/m8567774k075642n/fulltext.pdf

(Accessed 26 May 2012)

Hackers

Computer crime has increased with the spread of computer usage in the world; hackers use many tools such as viruses, spyware, Trojans, phishing, and fraud schemes. Hacker is not always an outsider; an employee within an organization might assume unprivileged access and steal data from the organization’s technology systems. Hackers believe that it is acceptable to do anything computer as long as the hacker has a good intention, and the motivation isn’t to gain profit from his actions. I do not accept such believe, as I do not feel comfortable to trust someone who broke into my house, and claim good intention and honest motivation.

Information and digital data should not be thought of as free or should be available to all, the author and owner of this information has the right to give access to his own property to everyone or only certain people, or keep it to himself. It is common in the digital world to read the same article by two different authors, everyone claim that he is the author, with the intension of helping everyone and making the information available to all. Laws and regulations should protect digital information or creativity will be destroyed, the problem exists due to the ease of copying in the digital world, and the use of blogs that made everyone able to post his ideas only, while others copy them. It should be clear to all Internet users, hackers and normal users that no one has the ultimate right to distribute the information except the original author of this information, however the verification of the original author isn’t easy. Accepting such claim or request by hackers about the information being free to all, clearly negative human right of privacy, as well gives a permission to everyone to check on other people financial accounts without permission, or their personal files, photos and even more. The problem is not with the hackers good intention, and no profit motivation, the main problem is with the intrusion for personal information, and personal life’s of others. Patents, copyrights, and intellectual property rights are forms of innovation and creativity protection, should be respected and adhered to. In my personal opinion, digital information and documents that were published on Wikileaks should be free. Although this might seem to be contradicting with my point of view, however it is not. The difference here is that this information should have been set public from the very beginning, and governments should stop lying, and the relationship between governments and citizens should be more transparent.

Hackers claim that information want to be free is not correct, and privacy should be protected. Hackers initiated the concept of open source systems due to their rejection of proprietary software, this could be a good intention, however all the documents generated used the open source system should remain private and owned by the author f those documents.

Reference:

Carroll, J 2008, 'Hacker or digital vigilante?', CA Magazine, 141, 8, p. 14, Computers & Applied Sciences Complete, EBSCOhost, viewed 19 May 2012.

Bodard, K 2003, 'Free access to information challenged by filtering techniques', Information & Communications Technology Law, 12, 3, pp. 263-279, Computers & Applied Sciences Complete, EBSCOhost, viewed 19 May 2012

Hall. P. & Fernandez-Ramil. J., (2007), Managing the Software Enterprise.  London. Thomson Learning..  Print. (ISBN-10:1-84480-354-6 ISBN-13:978-1-84480-354-5

Ethical Dilemmas

Perception of ethical behavior varies between people; this variation is formed due many different factors such as culture, background, experience, religious belief, and many more. Although ethics and ethical behavior judgment comes as a result of multiple factors, I do believe that ethics could be taught, and employees perception could be altered and enhanced. This believe is coming from the fact that International enterprises exist in many different locations, with employees from different cultures and backgrounds and most of them behave ethically with relation to the enterprises ethical principle and rules, else disciplinary actions could be taken.

IT plays a vital role in our life now, and this role in increasing day-by-day. Schools in UAE for instance started to replace the heavy student bags with iPads, and I personally d not know anyone who isn’t an online user, and communicate through social networking websites even the elders. E-business adoption is increasing and people started to use their mobile devices to ecommerce. Every new technology is born with its known ethical dilemmas, and yet more to be discovered by time, that because technology is the gateway to information, personal data, public data, communication and a lot more. In this article I will discuss the presented ethical dilemmas.

Case 1:

Producing a better quality product requires more time, and more time results in missing the deadline. Since the product is acceptable, this means that by delivering the product in the current state should not harm the customer, and the company is not conducting any immoral behavior. On the other hand, missing the deadline could impact the company’s reputation.

Me: I would not miss the deadline, and prefer to deliver the product in its acceptable state. In addition to that, I would inform the management about the finding and initiate a quality enhancement program to revisit products quality and enhance it.

My employees: I would like them to inform me about any future findings that could help the company improve the quality of its products, and focus on deadlines as long as the quality is acceptable.

Case 2:

Policies and procedures in an organization are developed to enhance productivity and control behaviors to benefit the organization. Those procedures should be revisited and enhanced as time advances to improve them and improve productivity. However, it should be in a controlled manner, if every employee believes that a certain action would improve a procedure, and apply his actions the organization will turn into chaos.

Me: I would follow the procedure and recommend the enhancement action either through a change management process, or request policy and procedure owner to revise my recommendation.

My employees: I would encourage them to look for enhancements, and only apply after being approved by the organization.

Case 3:

Every organization might have employees who perform unethical behaviors, however whistleblowing is crucial in such scenarios even if it is going to impact the employees professional life at this organization.

Me: I would report the harassment and request the human resource department to investigate the matter. In addition to that I would encourage the organization to implement a solution that allow employees to report harassment and unethical behavior in an anonymous form.

My Employees: I would encourage them to report harassments and not to have fear from being laid off, if not reported the harassment might happen with them in the future.

Case4:

Reporting mistakes at the very beginning might help the organization to find a solution to its consequences and reduce the impact on the organization, I personally have conducted a mistake that resulted in the loss of data when I first joined my professional life. I informed my management at the very beginning and they helped me by providing me with data recovery tools, and the data was retrieved.

Me: I would inform my management directly, to set expectations and understand the consequences. As well to find a solution that won’t harm the organization.

My employees: I encourage my employees to report any mistakes, and not fear from reactions. Instead of spending time trying to fix the problem, I might be able to help them with the solution.

Ethical dilemmas in Information technology industry are endless, with every new product or technology new dilemmas will rise. It is important to have a corporate understanding and definition for ethical behavior.

Reference:

Desai, M, von der Embse, T, & Ofori-Brobbey, K 2008, 'Information Technology and Electronic Information: An Ethical Dilemma', SAM Advanced Management Journal (07497075), 73, 3, pp. 16-24, Business Source Premier, EBSCOhost, viewed 19 May 2012.

Hall. P. & Fernandez-Ramil. J., (2007), Managing the Software Enterprise.  London. Thomson Learning..  Print. (ISBN-10:1-84480-354-6 ISBN-13:978-1-84480-354-5

Work Environment

Qatar is a small country in the Middle East and a member of Gulf Cooperation Council, it is a rich country and main source of income are Oil & Gas. Development in Qatar in 2008 started working on a new national vision, known as Qatar 2030, this vision is based on four pillars. Those pillars are human, social, economic and environmental development. However, to be able to succeed in its vision and due to lack of Qatari work force, they rely on expatriates to build and develop this country along with its future vision. Driven by this vision, Qatar started to consider revising its labor law, as it will not help them in achieving this vision. In this article I will elaborate about Qatar current working environment, its advantage and disadvantages and the changes toward effective positive working environment the country is witnessing.

Driven by its vision, Qatar started to appear as a great working environment for international companies like Shell, Dolphin and Vodafone. However, the current labor law is still considered as a major barrier towards achieving this vision and the country’s development. The labor law gives ultimate power for the sponsor to control workers, the sponsor can prevent the worker to work in any other company in the country incase of termination or end of service, as well applying for a loan, and requesting a landline phone service requires approval from the sponsor. For any workers to leave the country for vacation or business trip, they require exit permit, which is a sort of approval to leave the country. In addition to all that no minimum wage is set for labors, as well lack of salary guidelines exist which result in discrimination incase two or more candidates apply for the same job, as the package for Europeans differ by multiples from other nationalities, with the same experience and qualifications.

On the positive side, Qatar companies offer high average salaries when compared to its peers within the region, and many companies offer accommodation, and transportation to its workers. The preference in hiring is for Qataris, and that Europeans, other Arab nationalities and then Indians, Philippines, and Nepalese. Foreigners are not permitted to own business in this country, and only allow maximum percentage of 49% while the 51% is for a Qatari regardless of his actual share in this business. Safety of workers is regulated by law, however not enforced by the government. Each company enforces its own safety standards, and rules.

With regards to working environment within companies it is not regulated by the government, each company has its own standards. My organization is a local bank with branches in France and UAE, we adopted an open office environment, this has its own advantages and disadvantages, however I believe its not very helpful for IT skilled personnel who require concentration and focus. The positive working environment in my opinion is reflected on workers motivation and productivity; appreciation and respect, as well satisfying personal needs for workers could really increase workers productivity.

In conclusion, Qatar driver by its vision started to consider changing the labor law and make it more flexible, however no formal announcement for any yet. Companies in this country offer competitive salary packages, however each company has its own rules and regulations to control workers based on the labor law. International companies started to lead the change in working environment by enforcing their standards, which increased the minimum acceptable level of working environment such as trust, appreciation and rewards and other motivating forces.

Reference:

Berrebi, C, Martorell, F, & Tanner, J 2009, 'Qatar's Labor Markets at a Crucial Crossroad', Middle East Journal, 63, 3, pp. 421-442, Academic Search Complete, EBSCOhost, viewed 12 May 2012.

Buchanan, David A., & Huczynski, Andrzeg A. (2010). Organizational Behaviour. Prentice Hall.

Hall, Patrick & Fernandez-Ramil, Juan. (2007) Managing the Software Enterprise, Software Engineering and Information Systems in Context. London:Thomson Learning.

Stichler, J.F. 2009, "Creating a Healthy, Positive Work Environment", Nursing for Women's Health, vol. 13, no. 4, pp. 341 [online]. (Accessed 12 May 2012)

Virtual Team Challenges

Virtual teams exist in organizations as a reaction to globalization and increasing competition. Technological advances has started and enhanced the quality of virtual teams, it became easier for geographically scattered individuals to communicative, interact and collaborate between each other to achieve a single goal. In education industry, many universities started to offer online education or distant learning experience that utilizes technology to allow instructor who could be located anywhere in the globe to teach students from different continents, with different cultures and backgrounds. The education experience in such environment requires students to collaborate and work in virtual teams to work on a single challenging project with strict deadlines and clear requirements. In this article I will be discussing the challenges classroom virtual teams face while working on academic project, and how to overcome those challenges.

The classroom virtual group consists of geographically dispersed students who interact and collaborate using a mixture of telecommunication and information technology tools to deliver a project. This group is similar to on campus classroom project groups who interact for the same purpose, yet they don’t do face-to-face communication, “they operate across space, time, culture and organizational boundaries” (Shin, 2005). Four dimensions categorize virtual teams, and those dimensions are spatial, cultural, temporal and organizational dispersion as explained by Shin (Shin, 2005), spatial dispersion refers to the degree the team is dislocated across geographical locations, where temporal dispersion refers to the extent the team operate at different ties. The cultural dispersion relates to the degree the team is formed from individuals with different cultures, backgrounds and origin. The forth dimension, which is organizational dispersion relates to the extent individuals works across organizational boundaries (Shin, 2005). Each of these dimensions by itself creates a level of conflict that could result in affecting the performance of the project, as well as motivation of team members. Team members could be faced by build, maintain and lack of trust issues, this could be caused by lack of communication and misinterpretation of actions based on cultural perspectives. To overcome this challenge I will be focusing on identifying flexible communication tools to be used, and use those tools to get to know other team members in a personal level as long as its accepted based on their culture. I my previous modules, our main communication tool place over Skype, personal emails and blackboard discussion board. We shared our Skype ID’s and personal emails since day one, this helped us to overcome the limitation of group chat offered by blackboard as we could reach each other more easily and have a real time conversation most of the time. In some cultures like the one I belong to, it is more appropriate to start any conversation by personal chat such as insuring the member health is fine, and that he is happy and then start with the professional conversation, while in other cultures this is not acceptable and may be interpreted as lack of professionalism and time wasting conversation. Based on other team members cultures and interpretation I would start some personal talk with them to increase the level of trust, and synergy at the same time. Creating team synergy is sometimes difficult in virtual teams due to lack of frequent communication, and this could be achieved by frequent more communication. As well before the meeting I usually and will be doing one-to-one small meeting, the purpose of this is to increase the level of trust as trusted team members will be more interactive and come with healthy challenging ideas, as well to insure that each team member understands the full picture of each weeks project work. To build and maintain team synergy I will communicate each week’s project task to all team members to insure that all team members are aligned, as some team members come to the meeting without previous preparations and could not have read the requirements ahead. After the meeting I will insure that MOM are communicated and posted in the group’s discussion board. Isolation could happen when team members feel ignored, isolated and not appreciated. To overcome this I will insure that each team member is listened to, his/her ideas appreciated, and discussed. As well each team member will have to discuss and help other team members in their tasks, at the end the project is a collaborative work that is build based on other team members work, It should not be treated as hand in assignments. Performance assessment is a crucial issue in classroom virtual teams, however since this is a gradable project, and each member’s grades are and should stay confidential, I will insure that each member’s weekly task is revised by all team members and commented on if necessary. Each work should include academic references, properly cited and relevant.

Team members should understand they come from different cultural backgrounds, and I will encourage each team member to have a second look at other team members BIO, this will help in managing expectations and understanding other members cultural background. It is important to form a group with similar or almost similar time zone; this will ease the communication, and help in having online conversations. However, it is not easy to maintain that because members could be from different time zones, and in such case I will insure that meeting are set at appropriate time for each team member. As well to motivate all team members, leadership will take a rotation shape every week, leader will be responsible for updating group discussion board, consolidating team member’s tasks and steer the meetings. As well the leader should insure that weekly tasks are equally distributed among team members to avoid frustration and demotivation.

In conclusion, classroom virtual teams will face the challenges faced by virtual teams of multinational organizations, conflicts based on interpretation and lack of cultural differences understanding could occur. It is important to insure high level of dedication to the group project by team members, and variety of telecommunication and information technology tools should be used to increase level of trust and team synergy.

Reference:

Buchanan, David A., & Huczynski, Andrzeg A. (2010). Organizational Behaviour. Prentice Hall.

Hall, Patrick & Fernandez-Ramil, Juan. (2007) Managing the Software Enterprise, Software Engineering and Information Systems in Context. London:Thomson Learning.

YUHYUNG SHIN, Conflict Resolution in Virtual Teams, Organizational Dynamics, Volume 34, Issue 4, 2005, Pages 331-345, ISSN 0090-2616, 10.1016/j.orgdyn.2005.08.002. (http://www.sciencedirect.com/science/article/pii/S0090261605000392)

Delivery of Projects

Software development life cycle methodologies were developed over time to help project managers reduce software development failure rate, and improve the quality of developed software as well as its productivity. The principles of software development in specific and project management in general help the humankind to produce more reliable piece of software, this happens by following a process model with multiple phases. Regardless of the SDLC methodology adopted, it is necessary to understand and analyze the requirements before the implementation starts. In the presented case, we have multiple aspects that need to be taken into consideration; those aspects are senior management requirement and the impact of not demonstrating this software at the show. Another aspect is the system analyst feedback on the current and projected time required to complete requirements gathering phase. I will start by analyzing each of those aspects, its consequences and how to overcome its drawback if possible. I will start with system analyst feedback as it provides the current update about the project.

Requirements gathering done by system analyst(s) shows that it requires full eight weeks to complete this phase, and two weeks of those have passed. Requirements gathering phase differ based on the SDLC methodology adopted, waterfall process for instance requires full requirements gathering and analysis be completed before moving into the next phase of the project and that being software design. In this process each phase has to complete and only after that the project manager can move to the next phase, it require lots of time. On the other hand, if a more agile SDLC methodology were adopted such as XP, requirements gathering take place at multiple places during the project lifecycle, and multiple releases are produced until the final version is accepted and only after that the final version is implemented. Since requires gathering process requires sex more weeks to be fully comprehensive the XP SDLC method would help in building multiple releases each depends on the set of collected requirements, and new requirements can be assumed in new releases. It is important to mention that for the requirements to be relevant and accurate, requirements analysis should be conducted to identify the risks at early stages of the project, as well to identify contradicting requirements and find solutions to overcome those limitations.

Another important aspect to consider is the senior management’s requirement to complete this software to be demonstrated in august because it has a great impact on the organization’s existence and future. Due to the high impact the software demonstration could cause, this requirement should be analyzed and possibilities of delivering a bugged software should be considered, sometimes the impact of not demonstrating the software could be less that demonstrating a buggy release that affect the organization’s reputation. a meeting with senior management should be held to explain the current progress to manage their expectations, as well explain to them the consequences of delivering a bugged version and how this could affect the organization’s reputation. It is important as well to explain to them that full team of developers is not the ultimate solution to problem in hand, as for example ten developers will not able to code two times faster than five developers. As the team expands, communication problems become more frequent and communication management becomes more difficult. Software development is tricky and unpredictable, and because of that adopting a SDLC methodology would reduce risks and increase project success rate, it is easier to develop an identified and known requirement, that start developing without a clear roadmap.

As a conclusion, I would manage senior management expectations by explaining project difficulties and make sure they are fully aware on the effect of increasing number of developers and that won’t guarantee project delivery, on the contrary it could delay the project even more. As well I will not ask my team to start coding directly, as this is a guaranteed project failure from my point of view and based on my experience. I would ask my team to start developing gathered parts of the requirements to develop a first release, and try to get a priority list from management on the features that need to be demonstrated to concentrate all efforts to deliver a stable partially ready software. XP methodology would be followed to insure that my team works on parallel streams to try to meet the deadline as this is very important to the companies reputation.

Reference:

Wells, D. (2009) ‘Extreme Programming: A Gentle Introduction’ [Online]. Available from: http://www.extremeprogramming.org/ (Accessed: 04 May 2012)

Paulk, M.C., (2001), ‘Extreme Programming from a CMM prespective’, IEEE Journals & Magazines, [Online]. Volume 18, Issue 6, pp. 19-26. (Accessed 5 May 2012)

Software Failure

Software is used in every industry; the cars we drive and mobile we use rely heavily on software. Companies from varies industries has an annual spending on software projects either to develop new software or maintain existing software licenses, computer hardware or any IT related spending. Charette stated that depending on the business industry the IT spending ranges from 4 – 10 % of its revenue (Charette, 2005), being a government, non-profit organization, financial institution or a retailer each of these industries require spending in IT projects either to introduce new services, products or facilitate its operations. In this article I will analyze the trend behind software failures, and if it is related to a specific industry, or not.

Software failure implications vary based on the criticality of the software and industry, it could lead to waste of billions of dollars, or result in the death of people. As well we could notice that software failure is not limited to an industry as each industry suffered from software failures. People have learned from their mistakes and developed methodologies to manage software development risks, and to minimize the impact and frequency of software failures, in addition to that good project management is needed to achieve better success rate. Based on a report by IBM done to identify success rate trend, it appeared that software project success rate in getting better by time taking into consideration the increased complexity. However, the success rate is increasing slowly, for example the software project success rate in 2001 was 28% while in 2003 its 31% (Marasco, 2006).

Reasons behind software failures are plenty, starting from unrealistic scope, improper identification of requirements, poor project management and a lot of other reasons. I agree with Charette in his finding that rarely software projects fail for one reason only; usually it’s a mixture of reasons that cause software projects to fail and software to fail as well. Hamill and Goseva-Popstojanova in 2009 in their research found that software fail regardless of their industry, development methodologies applied and coding language used; and they fail during implementation phase. And this finding supports the idea that software fails in almost every industry and its not industry related, the translation from user requirements into developers language and the proper understanding of user requirements is very critical to project success.

In conclusion, software failures are not industry related. Software engineers are learning from software failures are developing software methodologies to overcome known limitations and reduce software failure probability, the impact of financial crisis and organization’s tendency to lower cost may have affected and increase software failure rate, this because organizations are expecting more for less.

Reference:

Charette, R.N., (2005), ‘Why Software fails [software failure]’, IEEE Journals & Magazines, [Online]. Vol 42, Issue 9, pp. 42-49. Available from: http://ieeexplore.ieee.org.ezproxy.liv.ac.uk/xpls/abs_all.jsp?arnumber=1502528&tag=1 (Accessed 5 May 2012)

Hamill, K. & Goseva, K. 2009, "Common Trends in Software Fault and Failure Data", IEEE Transactions on Software Engineering, [Online], vol. 35, no. 4, pp. 484-496 [Online]. Available from:http://ieeexplore.ieee.org.ezproxy.liv.ac.uk/xpls/abs_all.jsp?arnumber=4760152&tag=1 (Accessed: 05 May 2012)

Marasco, (2006), ‘Software development productivity and project success rates: Are we attacking the right problem?’, [Online]. Available from: http://www.ibm.com/developerworks/rational/library/feb06/marasco/

(Accessed: 05 May 2012)