Sunday, October 12, 2014

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)