Reflection

brainstormingMy experience began with the lecture that involved a gaming activity (brainstorming) and we were divided into groups for this venture in our class. Working as part of a group to integrate ideas was a major benefit as it improved and facilitated my understanding of Information Systems (IS). All the team members were able to share ideas and build on each other’s thinking capabilities which greatly improved our unified learning process.

As the lecture progressed, I was able to exercise my analytical skills owing to the stimulating work and was also able to put to use my creative thinking in order to critically appraise some issues and ethical considerations in “Report on Digital Trends (2015)”.

My team and I conducted our meeting in the library and went through a collaborative learning process together to ensure that everyone has the same understanding of the topic at hand. As each team member had their own ideas and point of view which was unlike others’, several opinions and thoughts were laid out and everyone worked together to sift through them. I found that group participation gave me the strength to contribute something to the matter and give value to my own as well as others’ ideas at the same time (Light, 2001).

Further, we were also able to share our extensive knowledge with each other, which undoubtedly made my learning practice much more interesting, interactive, and pleasant compared to if I were to do it by myself. I was part of the team that presented our group’s ideas in front of the class about the key issues regarding IS roles in business organisation from the whitepapers, including vision, objective, specified policies, responsibilities, and measures for managing the IS.

My tutor took the class on writing blogs on WordPress. I created a five blog article on different topics in regards to IS, in which I critiqued some whitepapers and webinars (Kreps, 2016). I enjoyed this entire process a lot and to add to the fun, listening and note taking during the lectures has greatly helped me to develop and collect information that I needed for my blogs.

AT-Mind-Map-for-Website

There is no doubt that I owe my thorough understanding of several topics to these activities that prompt the mind to run and analyse. While the classes are stimulating and informative, they are also great fun and enjoyable at the same time, making it an experience I look forward to time and time again.

Finally, below is a video of my research blog about the “The challenges of using Agile Development with offshore partners”.

AIM:

Agile methods for Software Development are being used throughout the IT spectra to make developing a wonderful product cheaper. With a geographically distributed team, one can make your much less costly and fast as well as even exempt yourself from tax.

PROBLEM:

To make the workplace fast and efficient, communication is the most important thing. Without thorough communication and mutual understanding between members working on the team, there is a chance of the process failing midway or your product not ending up correct.

 

To make a successful Agile development project with offshore partners, proper communication and plenty of team work must be ensured. As the world of technology progresses, there are available several solutions to these problems nowadays. Video conferencing using online applications such as Skype, WhatsApp, and even Facebook can give the developers the closest feeling to talking face-to-face with each other. Doing so can greatly help the developers to know each other and work better together as they can verbally coordinate their tasks.

CONCLUSION:

Overcoming these hurdles is no easy task. But with the use of proper technology such as video conferencing and online task boards, you can surely create an efficient development team.

 

Why Choose Jira in Managing Agile Software Development Projects?

_C907A8CD010A699F493F368AFBB83478712DEEBB9864F7F92C_pimgpsh_fullsize_distr

While in the process of developing a software project using agile methodologies, it is extremely important to track each move to make sure no mistake has been made. In addition to that, it is also very difficult to sort and manage the tasks that have been done, those that need reconsideration and steps that need to be removed and redone. Communicating only verbally to make these changes can prove to be quiet difficult as all the information might get mixed up. Consider a big company such as Facebook or Twitter, their software development team probably needs to make minute changes every day to the online software without making drastic mistakes, as it could greatly affect the secondly revenue the website generates.

Jira Jira

In order to make things easier, and to be able to easily track development efforts to maintain a smooth workflow, Atlassian has created a tracking tool called JIRA. JIRA is an issue management platform that essentially allows Agile software development teams to track any unit of work, whether it be an issue, a bug, a story, a task in a project etc. among others. It can help your team to easily manage your tasks and issues throughout the lifecycle of your project development process.

One of the most appealing features of JIRA is that it is highly customised and can be edited and tailored to fit your needs and make it easier for you to track your tasks. Your interface of the JIRA software can be as complex or as simple as you want.

Agile-board Jira

The software is being used all over the world by 25,000 people located in around 122 countries for help in project management. Many successful business owners have suggested JIRA to be a crucial part of the success of their software. In agile software development, JIRA is extremely facilitating in the fact that it has features to plan development iterations, iteration reports and also has the functionality to track bugs, multiple at a time.

A dashboard with reporting widgets, Excel, Word, Confluence, customisation charts and many other features is displayed to team members involved in a selected project. A big part of JIRA’s appeal in the field of agile development is its collaboration enhancing quality. By giving all added team members the ability to mention, comment, and email each other through the interface, it allows the entire team to stay on the same page through the length of the project and discuss and solve issues in a moment.

_8F95E9BEF9E36262FCF78A7C6EF5598F49CA8AB39EC471ADE0_pimgpsh_fullsize_distr.png

This is what a typical JIRA dashboard looks like. You can divide you project into several parts and distribute tasks to specific team members as well.

The idea has been taken form a whitepaper written by Gerald Aquila, founder and CEO of one point Projects, titled Next Generation Project & Resource Management for Atlassian’s JIRA. The title does well to suggest the content of the paper which outlines how improvements can be made on the already well working JIRA software. I found that the writer mentioned certain information that was not particularly related to the topic but the rest of the text flows well. The author gives clear instructions as to how to make the most out of the JIRA software.

However, the author did not acknowledge that Jira has not been designed to be used by marketing, sales people, business analysts, or controllers. People belonging to these walks of business fields may not feel comfortable using this format of management software. It may also not contain all the features these companies may require in order to manage their projects. The other limitation I established is that it is not brought to the attention of the readers that monthly subscription needs to be bought to utilise the interface, reason is that JIRA is not free but needs to be paid for each month. These costs will be needed to be added to the budget.

References:

Aquilo, G. (2015). Next Generation Project & Resource Management for Atlassian’s JIRA [White paper]. Retrieved June 18, 2016, from https://www.onepoint-projects.com/resources/documents/onepoint-wp-jira-integration-en.pdf

Shaw, K. (2008). Using Jira for an agile project. Retrieved 18 June, 2016, from http://www.blackpepper.co.uk/using_jira_for_an_agile_project/

What the Software Developers Need to Know About Cloud Computing

As technology climbs atop the mountain of advancement, internet is becoming one of the most widely used phenomenons in terms of storing and accessing unlimited amounts of data. One of the terms that has been widely gaining popularity in recent times is ‘the cloud’ or cloud computing. Basically, cloud computing is the practice of using a network of remote servers online in order to store, manage, and process data instead of using a personal computer or other hardware of such sort. In other words, the cloud refers to the Internet.

In the contemporary business world, cloud computing has gained plenty of popularity due to its numerous benefits that both save time and increase revenue for a company. Big companies such as Verizon and Red Hat, all use the cloud in order to ensure customers that all kinds of computing can be delivered through the internet at certain costs in very less time. Amazon still remains the biggest and most successful company to implement cloud computing and take it to the next level.

_1192C29D732ABE1D1D5A4C542B4FC49D932462C6F47733A9DE_pimgpsh_fullsize_distr.png

Several huge companies that live in the cloud allow other software developers to park their own applications into their spots. A great example would be that of Google. A household name in today’s world, Google makes full use of the cloud technology and uses it to connect with people on several platforms. One of the most popular destinations for software developers, such as Java, to store their apps is the Google App Engine. Even Google Drive, which you probably use to store your documents and pictures, is in fact cloud technology.

According to a news report published by IBM, upon survey of 572 businesses and development companies, almost 75% of the organizations have used and implemented cloud in some way or form. It is also expected that around 41% of companies that are still looking into this technology, will have incorporated this technique as well. But the full potential of cloud will only be revealed when companies start viewing it as a leading IT technology for the entire company, instead of just a top priority IT solution.

_686B021484E9A12FF021576ECF848DF03ADEB0F9F25AF8E11F_pimgpsh_fullsize_distr.png

Cloud computing is climbing the charts in Agile software development companies as it ensures customers faster production, improved quality of product and a more collaborative process that can accustom well against change. Agile thrives on new and improved collaboration techniques and the cloud provides it just that. Hence, business leaders in the Agile industry that implement cloud consider it as a business opportunity.

Inspiration has been taken from a Whitepaper written by Willie at CollabNet, titled Reinforcing Agile Software Development in the Cloud: Why the Cloud is Advantageous for Agile. The title and introduction both go on to completely explain what the entire Whitepaper talks about. He successfully explains how by simply giving Agile users access to the cloud- an environment that fosters wide spread use and collaboration- it will be reinforced in the market. It is a low investment phenomenon that can increase Agile development and intelligence.

However, what I feel the author failed to address in their paper is the cultural issue- management and teams may not want to adopt this Agile philosophy. They might want to stick to the traditional method of using hard drives and physical hardware to store and connect. Further, all the uploaded data is susceptible to hacking. With all the information and computing online, it is vulnerable to cyber thieves that are on the lookout for software and applications to steal and destroy.

Moreover, proper security measures need to be taken in order to protect the online computing from being hacked or stolen. In addition to all these limitations, problems with network connectivity are a setback as well. If someone is facing problems with their internet or have slow connectivity, it will ultimately affect their online computing in the cloud, slowing down the progress of the project.

References:

AZUR Group. (2014). Increasing Proficiency of Business Analyst Professionals: A Case for Online     Agile Software Development Process [Online]. Retrieved June 19,2016, from http://www.groupeazur.ca/documents/AZUR-Group-XI-Factory-White-Paper.pdf

Juneja, T. (2011). Limitations of cloud computing. Retrieved June 19, 2016, from https://meghainfotech.wordpress.com/2011/04/21/limitations-of-cloud-computing/

Willie, W. (2011). Reinforcing Agile Software Development in the Cloud: Why the Cloud Is Advantageous for Agile, and for Accelerating its Enterprise-wide Adoption. [Online]. Retrieved June 19, 2016

Building and Incorporating a Secure Software for Quality

With the development of technology and passing of time, it is no longer a question whether your software or applications are safe or not. Cyber crooks are a reality and are constantly on the lookout for a guard that has been put down so they can enter and wreak havoc in what might just be your company. Which is why it is extremely essential in the process of development of quality software, that the software development cycle (SDLC) be completely secure and risk free. While there are no standard practices, these guidelines can help you develop a custom process for a secure software development life cycle.
Security defects must be treated like software defects themselves and should be made amends for immediately. Keeping that in mind, security should be integrated into each step of the SDLC so at no point is there a risk of security being breached and the quality of the software being compromised.

_492A02BFB5859BF90E3F767E096879BDF44E21873862C95F0A_pimgpsh_fullsize_distr

• PLANNING PHASE
As the project plan is being assembled and the teams are being formed, they should be trained in terms of the basics of security and told how to react if they notice any breach in the state of the software at any point through the cycle.

• DESIGNING PHASE
As the software is being virtually planned, it should be made sure that it remains private and that the security systems do not interfere with the tasks needed to be completed for the software’s completion.

• DEVELOPMENT PHASE
Coding issues that cause the software to be vulnerable to threats should be tended to immediately. Advanced development tools should be used to write more secure codes.

DEPLOYMENT AND MAINTENANCE PHASE
The software application should be thoroughly checked for any vulnerabilities or faults. The functionality should work as it was designed to.

• RELEASE AND RESPONSE
Plans and protocols should be discussed for any future threats the software might receive.
Introducing security early in the process of development ensures the customer and the developers that the product is completely secure and will not need ample amount of maintenance or remediation.
As security testing is being done, it should be made sure security tools that are capable of automated testing are being preferred as they can accustom to the changing code in your software base.
Hiring a trusted security analyst on your team of developers who can look over the entire life cycle of the product as it progresses shows that you are not willing to compromise the safety of the software. These analysts can verify the test results received by the team and coordinate them to make sure there are no suspicions of false positives or negatives, or any other security defects to the product.

_26E65C63231B360CADB33640C2C04980346B111B1B3B56B619_pimgpsh_fullsize_distr.png

Ensuring security should not be an afterthought to development but should be top priority for the sake of the product and your customers. A well secure software development life cycle not only assures every one of the good quality of the product, but also shows that you care about the safety of your customers.

Inspiration has been taken from a white paper written by Coverity, titled Building Security into Your Software Development Life-cycle. The white paper co-relates well with the title and the introduction sums up the content really well. The author described the need of security during SDLC and also gives sufficient methods to ensure maximum security. Although, the author could have done better by elaborating more on certain of the mentioned ways by which installing security can prove to be a menace; for example, software may still be prone to hackers.

As security technology progresses, several cyber crooks have learned to make their way around the new security systems as well. Hence, the author should mention how constant changes and improvements as well as surveillance must be provided to the software. Additionally, there will be more spending on security and the project budget will have to be raised. If hiring a security analyst, he or she must be paid a substantial amount.

Installing security software and risk checkers are also costly and the tasks may be slowed down as each step is made sure to be secured. The author should suggest ways these setbacks can be faced and removed, making the process of self-security a thorough and effective one.

References:

Coverity. (2012). Building Security into Your Software Development Lifecycle. Retrieved June 16, 2016, from http://www.coverity.com/library/pdf/coverity-security-wp.pdf

7Quotium. (2013). Application Security in the Software Development Lifecycle: Issues, Challenges and Solutions. Retrieved June 16, 2016, from http://www.quotium.com/content/uploads/2014/01/Seeker-Application_Security_in_the_SDLC.pdf

Importance of Social Media Teamwork in Agile Software Development

Social media photos sdlc

Agile software development is a conceptual framework of ideas which promotes foreseen interactions throughout the cycle of development of a product or a project, facilitating fast and flexible responses to change (Hickman, 2016). This method of software development has been specially designed to favour and facilitate team work, collaboration, and agile adaptability and processing. Generally, a team working under an agile software development program receives tasks that have been broken up into parts and divided among the team to be completed in a short period of time.

In this manner, it ensures quick and flexible response to a task, without it consuming a huge chunk of time. This method also allows each feature of the product to be viewed and analysed as it progresses in its developmental lifecycle instead of a final review at the end, ensuring revenue generation from the beginning.

FG-Agile-Software-Development-Hits-the-Major-Leagues-1

Often at times, the cost for an agile software development program cannot be predetermined, and with its increasing demand and popularity in the IT world, many organizations have started looking for talented and skillful people who can work more hours at much lower rates, often not considering whether all the team members have the same geographical location or not. Which brings us to the fact that Distributed Software Development, referred to as DSD, is on the rise.

While distributed software development programs are inexpensive and can help increase the quality and performance of the project, there are several problems that stand in its way of becoming the perfect substitute to conventional development methods, one of them being the issue of communication.

While doing a project as a team, it is recommended that the members meet at least thrice a week face-to-face in order to solve any problems that anyone might be facing or plan their future steps. Hence, in order to manage a successful distributed teamwork, communication needs to be improved. In our contemporary world, this task is made easier through social media.

There exist several platforms using which successful meetings of the entire team can be conducted. Androids and Smartphones are gadgets nearly every socially aware person owns. Using applications such as Facebook, Twitter, WhatsApp, LinkedIn, Flickr and many others, all members can constantly stay in touch. Many applications even offer video conferencing services which can be used to hold a professional face-to-face meeting. Using group chats or chatrooms can be beneficial if synchronous communication is required as well.

1.jpg

Social media has made communication barriers an easy hurdle to overcome

Therefore, there is no doubt that social media has made it incredibly easy for distributed agile software development teams to overcome the communication barrier and produce profitable projects in no time.

The journal article I have referred to is written by Suprika Vasudeva Shrivastava and Hema Date and is titled Distributed Agile Software Development: A Review (JOURNAL OF COMPUTER SCIENCE AND ENGINEERING, VOLUME 1, ISSUE 1, MAY 2010, PAGE NUMBERS 10-15). The author talks about the increasing popularity of Distributed Agile Software Development and discusses the challenges faced by the geographically distributed teams and proven methodologies that can help create a successful team despite these hurdles. She chooses to first explain each of the involved terminologies, including Agile Development and DSD, then looks to link the both later as she describes each of the problems faced by such a team in detail. Then she goes forward to propose solutions to the mentioned barriers by suggesting examples.

The title of the article does not do much to highlight the content, seeming to be rather vague and general. The abstract and the introduction do a great job of getting the purpose of the document across and most of the cited sources are pertinent as well. The suggested methods to overcome challenges seemed under-emphasised and the author could do well by elaborating more on them. While the article falls short in some respects, it is very objective and does not trail off far from its purpose which keeps the reader focused.

References

Birkenkrahe, M. (2013) Innovative uses of collaborative platforms and social media tools. Retrieved June 14, 2016, from  http://www.kiecon.org/IJKIE_Vol_1_2013_STEFANIE%20QUADE.pdf

Hickman, J. (2016). The advantages of agile software development. Weblog. [Online] June 14, 2016, Retrieved from http://blog.strategic-ic.co.uk/advantages-agile-software-development

Shrivastava, S.V. (2010) Distributed Agile Software Development. Retrieved June 14, 2016, from https://arxiv.org/ftp/arxiv/papers/1006/1006.1955.pdf

Taft, D.K. (2015). How software developers use social collaboration in the agile age. Retrieved June 14, 2016, from http://www.eweek.com/developer/how-software-developers-use-social-collaboration-in-the-agile-age.html

Quality Assurance in Software Development Life Cycle

BUG2

Software goes through a development process in which several people work on it at once, completing one stage after the other. Software Development Life Cycle (SDLC) is a framework of tasks that contribute to a detailed plan describing how to develop and maintain specific software that is being created. A development team within a software organisation strictly follows this set of instructions in order to develop their product.

BUG

As the product moves along its life cycle, there is no doubt that at some point a team member might make a mistake or a step may be skipped without being noticed, leading to difficult to trace errors once the product is put out to generate revenue. Hence, to reduce possible defects in every stage of the software development life cycle, Quality Assurance (QA) testing is employed. Its function is to monitor each step closely and continuously to ensure maximum quality of the product as the SDLC comes to an end (Boulanger, 2005).

sdlc

As seen in the above figure, SLDC consists of a number of steps that include planning, analysis, designing, coding and releasing of the software. Product quality assurance activities work on increasing the level of product quality at each of these steps. It keeps eliminating defects as it identifies them. This process ultimately leads to reduced number of manual and automated tests required and much lower maintenance costs, keeping the entire project under the budget (Ichu & Nemani, 2011)

Although it is very cost efficient, some might argue that it is time consuming. But the reality remains that your audience or customer are more likely to prefer to wait and receive a flawless product then receive a flawed one earlier.

software-development-life-cycle-with-testing-in-all-phases1

A product that has not gone through quality assurance procedures will consequently exceed the estimated budget and prove to be costly to the Development Company or organisation. As the developer will not be aware of the functional state of the product after each step, they can only fix mistakes once the product enters the testing stage. A product may even go to the production state while it is flawed and prove to be a huge loss to the company if it is faulty. Due to poor planning and a lack of training, several software projects have failed in the past and still do in the IT world. Quality Assurance methods make up for these errors by pointing out the bugs after each step of development.

It is estimated that the U.S. economy has spent almost $312 billion annually due to software bugs costs. The research also gathered that, software developers spend about 50% of their programming time finding and fixing defects (Brady, 2015). Quality Assurance can help reduce these figures by a great percent which is why it should be given a status of the utmost importance during software’s development life cycle.

The inspiration has been taken from a webinar conducted by author Aaron Dolberg at Lynda.com. The session is titled ‘QUALITY ASSURANCE TUTORIAL: HOW TO THINK ABOUT QUALITY’. The title co relates well with the content of the video as the presenter explains to his viewers the concept of Quality Assurance and its importance. He uses a very simple and easy to understand example of a company installing electrical wiring in your house to explain why assuring that a product remains of top quality throughout the installing process, is important. The diagrams do not do much to help but the message is still conveyed. You can also take a look at a brief excerpt from the session here.

References

Boulanger, A. (2005). Open-source versus propriety software: Is one more reliable and secure than the other? IBM Systems Journal, 44(2), 239–249.

Ichu, E., & Nemani, R. (2011). The Role of Quality Assurance in Software Development Projects: Project Failures and Business Performance. Int. J. Comp. Tech. Appl., Vol 2 (4), 716-725. ISSN: 2229-6093.

Electronic Workflow and Control

Electronic Workflow

Looking at UK, an upward trend has occurred over the past few years, where we have witnessed hospitals in the UK seeking to improve the management of intermittent observation paperwork in mental health.

Problems in our hospitals

As we are witnessing paperwork errors in today’s hospitals, healthcare staff and doctors on have limited time to deal with paperwork. This has resulted to staff make mistakes based on the Royal College of Nursing (RCN) research that 2.5 million hours lost a week since 2008 due to the too much time spending on paperwork.

When a new patient is admitted, their observations are recorded manually in a paper form. After completion, these documents are forwarded, checked, stored, and searched for constantly by healthcare staff. This is where our innovation would solve the time taking to find patients’ records, and reducing the rate family members of a patient travel to the hospital to receive the progress of their well-being.

pic1

Solutions to the problems

Our new technology platform called Electronic Workflow and Control (EWC), is a unique new strategy to manage the records and intermittent observation carried out on patients within the mental health. With EWC, many hospitals would achieve a considerable reduction in observation recording errors, which would result to safety, and build trust between the staff and patients.

EWC is a management software platform that allows you to plan, manage, and execute task and timesheet. EWC is packaged with social platform facilities that ensures that communication flows between the staff, such as discussion board workspace.

How would documents be managed in the hospitals?

This is where EWC comes to place. EWC, with its brilliant paperless approach, pre-inhabits existing clinical information onto electronic reproductions of existing paper forms and documents, which enables healthcare staff, patients, and family members to easily access medical records electronically.

Our goal:

A detailed record of the observation is maintained on the appropriate EWC using an application downloaded on an iOS or Android, replacing the old fashion observation record paper sheet.

pic3

  • EWC is a unique management tool that facilitates a high quality and efficient intermittent observation records.
  • EWC would record an accurate commenced and concluded time for the all observation records.
  • It ensures a seamless and movement of information between the staff and consumers with a guaranteed information security due to data stored in cloud account.
  • It results in quickness, fewer errors, and improved accuracy during data recording.
  • It provides more efficient reporting of the health and observation through the app downloaded on tablets, as well as desktop computers.
  • Through EWC, healthcare sector can rapidly move to a paperless world, without high costs or management problems. 

And here is how EWC would do it:

EWC can be used to securely record data online through a security protected Wi-Fi device and offline in case of network failure. From electronic workflow to user-assigned roles, document management makes the document handling observable, safe, and traceable between the workers and departments.

EWC mobile APP will integrate securely with already existing module called “Amigos” in documenting staff notes which is used for monitoring of patients records sharing of information between the hospital and patients’ family member.

pic4

The assigned staff conducting the observation securely log in to the EWC platform with the given office pin number. All the patients’ details are displayed. The locations are represented by different codes, such as “BNS”-Bed Not Sleeping, “C”-Corridor, “BNS”-Bed Not Sleeping, “G”-Garden, “L”- Lounge, or “QR”-Quiet Room, etc.

In an event of failing to find a patient, the observing staff can hit the red button embedded with the application to immediately alert the other staff members of the emergency. Now, through the EWC, daily reports can be stored in a cloud database, only bonafide staff can access information from file from anywhere.

Pic1

What does EWC mean for your business?

Our video answers this question, and shows you how EWC software optimizes everyday business processes, internal workflows and automates the document storage process. Download our tip informational sheet of simple tips to control the documents’ problems surrounding your organization after watching this video, and don’t forget keep in touch today and see how EWC can help improve your management.