Tuesday, March 27, 2018

IoT and Heatlhcare

The overall cost, the experience in the hospital, patient outcomes and technology is changing and improving healthcare. Costs are reduced by the use of remote patient monitoring and reducing the number of hospital visits. Sensor technology offers tracking of medical devices and improves overall efficiency. Predictive maintenance decreases downtime of medical equipment offering consistent and accurate use. Healthcare providers are among the earliest adopters of Internet of Things (IoT).
IoT in healthcare covers various computing and wireless broadcasting information systems and devices that help patients and providers to monitor, track and store patients’ important statistics or medical information. Nowadays multiple hospitals have started to use smart beds that can sense the proximity of a patient and automatically set themselves to the correct side and force to give peculiar support without the requirement for a nurse to interrupt.
Internet-of-Things can include some of the following:
  • Consumer Fitness Tracking – Fitness Bands like FitBit, MisFit, etc.
  • Wearable External Devices – Insulin Pumps.
  • Implanted Devices – Pacemakers.
  • Stationary Devices – Fetal Monitors.
In short, Internet-of-Things for healthcare includes those devices that can sense and collect actionable data.  When shared with physicians or healthcare professionals via cloud computing, this data saves significant time and augments patient care.
Healthcare is such a vast ecosystem and once you also start including personal healthcare, the pharmaceutical industry, healthcare insurance, RTHS, healthcare building facilities, robotics, biosensors, smart beds, smart pills, anything remote and the various healthcare specializations, activities and even (treatments of) diseases, that list of Internet of Things applications in healthcare quickly becomes endless. The advantages of IoT in healthcare are seemingly endless, but here’s just a few of the major benefits:
  • Reduced Errors – IoT allows for the accurate collection of data, automated workflows and minimised waste, but most importantly it reduces the risk of error.
  • Decreased costs – With IoT, patient monitoring can be done in real-time, drastically cutting down the need for doctors going out and making visits. Connected home care facilities will also help reduce hospital stays and re-admissions.
  • Better patient experience – A connected healthcare system creates an environment that meets each patient’s needs. Dedicated procedures, enhanced treatment options and improved diagnosis accuracy make for a better patient experience.
  • Improved disease management – With real-time data healthcare providers can continuously monitor patients. This means that they can spot any disease before it spreads and becomes serious.
  • Homecare– Allows patients to be monitored in the comfort of their own homes. Sensors are installed onto various pieces of medical apparatus (e.g. heart rate monitors) by the bedside of a patient. The data gathered is sent to the hospital where a qualified member of staff analyses it for any abnormalities.
The developments of IoT have the potential to really revolutionise healthcare in a positive way.
However, we must be careful. Health data is sensitive and if it’s shared inappropriately or misused has the potential to damage people’s privacy. Ensuring hospitals have secure and manageable infrastructure is essential in the healthcare sector.
http://www.anarsolutions.com/iot-heatlhcare/utm_Source=Blogger.com

Thursday, March 15, 2018

The Difference between Scrum and Kanban

The Difference between Scrum and Kanban

In industries, there are many complex projects that are needed to be done and to execute these tasks smoothly there are major development and managing tools. Two of them are Scrum and Kanban.
Scrum:
Scrum is basically a tool used to break a project into small and manageable pieces that can be done by a cross functional team within the prescribed period of time. Scrum relies on three processes in order to plan, organize, administer and optimize a process. They are;
  • The product owner who is responsible for initial planning, organizing and making communication with the company.
  • The Scrum master whose responsibility is to look after the job during each sprint.
  • The team members whose job is to execute the job prescribed for each such sprint.
Kanban:
Kanban is a tool used to organize work in order to gain efficiency. This process uses Just in Time manufacturing or JIT. Kanban was developed in Toyota lab in order to improve manufacturing by an industrial engineer. Kanban limits the work on the basis of any one condition.
Similarities between Scrum and Kanban:
There are many basic similarities in Kanban and Scrum as they both were designed to improve efficiency and to solve complex problems. Both of them are basically to break down a large and complex task in order to gain maximum efficiency. Both of them share visible work flow that keeps the team into the leap while executing a job.
Difference between the Two:
There are basically many differences between the two but you need to look into this from three different points.
  1. Scheduling, Iteration and Cadence: The Scrum process heavily relies on scheduling. The team is provided with a list of projects that need to be finished and shipped depending upon their priorities. With every scheduling, the quality and efficiency goes high and this method is turned into iteration where the same sprint is repeated. Whereas in case of Kanban, the process is naturally iterative and the work continuously improves with each process.
  2. Roles and Responsibility: The Scrum team has basically three roles as mentioned above. The role of the owner, the Scrum manager and the Team. The Scrum team needs to be cross functional. In case of Kanban, there is no need of a cross functional team nor a special role needs to be assigned.
  3. The Board: There is difference between the Scrum Board and a Kanban Board. The Scrum board is based on time based workflow which is known as sprint whereas in case of Kanban, it is based on workflow states with one vital difference that it allows a limited set of stories on each column which sets a limit for the team.
Conclusion:
The Kanban and the Scrum both are equally powerful and have great expertise. You can create a hybrid for best usage and learn to use both of them depending on the conditions.
http://www.anarsolutions.com/difference-scrum-kanban/utm_source=blogger

Wednesday, March 14, 2018

Scrum Vs SAFe

Scrum Vs SAFe

Companies that highly relied on Scrum are now turning their back towards Scrum and are now investing in Scaled Agile Framework. SAFe has been claimed to be a successful framework while Scrum seems to be fading away. Therefore it is necessary to do a comparison between both of them.
Image result for Scrum Vs SAFe
Scrum:
Scrum is basically a tool used to break a project into small and manageable pieces that can be done by a cross functional team within the prescribed period of time. Scrum relies on three processes in order to plan, organize, administer and optimize a process. They are;
  • The product owner who is responsible for initial planning, organizing and making communication with the company.
  • The Scrum master whose responsibility is to look after the job during each sprint.
  • The team members whose job is to execute the job prescribed for each such sprint.
SAFe:
Scaled Agile Framework is little different from Scrum as it includes the whole organization within its framework unlike Scrum that is based only for small pool of people. It consumes the whole enterprise and not just a team and it is meant for covering what Scrum cannot cover. SAFe focuses on program management, portfolio management and team management. It also stresses on release planning and retrospect in order to make improvement which Scrum somehow lacks.
There are three important parts of SAFe:
  • Agile Software Development
  • Lean Product Development
  • System Thinking
Major Differences:
The major difference lies in the way they handle work. Scrum is basically for small teams to organize and manage their work while SAFe is for the whole organization. Scrum misses many important aspects which the SAFe manages to contain within. Scrum looks simple but is hard to implement on the ground.
Other grounds that differentiates:
SAFe has been subject to major criticism as well. There are various points that have been raised. Some critics say that this framework lacks maturity and fails in field testing. Some say that it is over simplified and fits in all cases because it is designed for various consultancies.
There are too many regulations that make it less practical in nature whereas some say that is the nature of Agile. Though all these criticism will continue to happen, SAFe has remained vindicated because of its framework and looks that it will continue to dominate over Scrum and other such agile frameworks.
http://www.anarsolutions.com/scrum-vs-safe/utm_Source=Blogger.com

Tuesday, March 13, 2018

Secure Coding

Secure Coding

Secure Coding – With the scare of recent cyber crimes and leaks occurring over the internet even with the deepest firewall security in place, developers are required to rely on prohibiting their code from being the subject to malice from the roots. This protocol defined as secure coding primarily relies on the writing code and developing programs that are resilient and not prone to attack by Trojan viruses and malware. This security also prevents mass cyber attacks that link private company computers to local servers for a business thereby dispersing confidential and private company information through the attack leading to major issues including complete shutdown and compromising of business data.

Secure Coding
Targets
As far as targets are concerned, every program can be a potential target and source of information. As is the case with most attackers, they will try to find spots of vulnerability in your server firewalls and use that to corrupt server data, steal information, gain unauthorized yet complete access to all data, and even to the extent of gaining control of your computer. For businesses, even a minor attack can lead to loss of key client data close to millions of dollars.
Principles
Incorporating the secure coding practices while writing code is to be done as per the principles and requirements of the software. The nature of threats to the software have to be accessed to develop smarter solutions. Without thorough planning, the secure coding practices would be rendered useless to fix the code vulnerabilities.
•    Validating Inputs
•    Encoded Output
•    Managing passwords through authenticated sources
•    Manage Sessions
•    Control for access to code
•    Use of cryptography
•    Log and report errors
•    Secure, encrypted communication
•    Configuring systems
•    Secure database management
•    File and memory disk Management
•    Best Coding Practices
Secure Coding Practices
•    Approved secure code, tested for authenticity to be used over new, unauthenticated code.
•    Built-in stock specific APIs to be used for tasks that are directed to the Operating System directly.
•    Check for integrity of code and extended configuration files using checksums or hashes
•    Lock to prevent simultaneous access
•    Protect variables and resources from cross-access
•    Extended privileges are to be used and dropped immediately
•    Avoid calculation errors during code writing
•    Restriction of users from extending or rewriting existing code with their own
•    Review third party code before development of programs for secure coding compliance
•    Safe, encrypted channels for updating along with cryptography security.
http://www.anarsolutions.com/secure-coding/utm_source=Blogger

Monday, March 12, 2018

Opportunistic Refactoring

Opportunistic Refactoring

What is Opportunistic Refactoring!!
Looking at your existing code to add some more functionality. You found some miss placed class, or some unused variables, or might be something else. There comes the role of Opportunistic Refactoring also known as the boy scout rule. You use this opportunity to redo something or some part of your existing code. This way you can constantly and continuously modify and clean up your code. So that you are actually putting more value to the product for your client.
Image result for code refactoring icon
Who and When!!
Whenever you are planning to add some more lines to your existing code, look a while into your existing code before that. Look for any part of the code, that is irritating you. If you find any such block, then first work on it. Do whatever you feel like to make the things look good.
Now the question is who and when should perform the refactoring task in a software development lifecycle! There might be some scheduled refactoring phase available in some places, but the best option is to do it as an opportunistic activity.
That means, whenever some one spots a block of code, which is not as clearly written as it should be, takes this opportunity and rewrite the code to make it clear. As this approach makes the code better than it was found, it improves the health of the code base also. And if all the team members are doing this on a regular basis, they are also contributing in the process significantly.
The opportunity may come at any stage of implementing some new feature or at the time of fixing a bug. When you are trying to implement something new you may find that, it will be an easier process if the API of an existing class is structured differently. So you first make the necessary changes into the API, then start adding the functionality.
You may found yourself in such a situation, when you are actually in middle of another work, and an idea of another refactor strikes you. Don’t interrupt your current work. Rather make a note of the idea, finish the task on your hand then get back to the idea and complete it.
Things to keep in mind
In this process, you might then found that, some of the code you are writing is partially a copy of another block. Then you refactor that part to make things clean.
Do it in small units at a time. And run your unit test, every time you make any changes. If any thing goes wrong, go back to the previous state, find the problems and fix them.
This continuous attention to the code is very important, as it improves the quality of the product significantly.
http://www.anarsolutions.com/opportunistic-refactoring/utm_source=Blogger.com

Friday, March 9, 2018

Scaled Agile vs Agile scrum

Scaled Agile vs Agile scrum

Scaled Agile vs Agile scrum – While developing software, there are certain principles that are followed with jurisdiction to properly develop a solution that complies with all the requirements of an organization. Certain type of software, such as the Agile software, also have certain requirements that have evolved with collaborative cross-functional teams. Over the course of the evolution, the Agile software has seen two different frameworks. The first being the Agile Scrum, heavily based on an approach of adaptive planning and collaboration. The second framework is the Scaled Agile framework (SAF). The SAF enables the organization to be a scalar entity and encourages a faster and less rigid response to change.
Agile Scrum Framework Implementation
The Agile Scrum approach was designed to tackle the traditional approach that is based on a sequential order of operations within an organization. As Scrum dictates collaboration and self-encouragement, it is not a favourite among middle management for implementing in an organization. With Agile Scrum framework there is minimal managerial authority, intervening the work culture. For this reason, while implementing the Agile Scrum is recommended as an ideal framework for an individual, it is not ideal for an organization where there are differential managerial levels.
Agile Scrum values:
•    Promise
•    Courage
•    Concentration
•    Directness
•    Value
Scale Agile Framework implementation
Unlike the Agile Scrum, the Scale Agile framework has been designed to be implemented in an organization, enabling the managerial body to use it to their advantage. It is a smarter and more integrative approach to software solution development. It is enterprise-friendly unlike Agile Scrum implementation enabling the management to ascertain their managerial and reporting authority. The management find working with SAF to be safe. Another added advantage of working with SAF implemented is in the ability of the organization to operate at different levels of authority. This advantage makes SAF, a scalar and flexible entity.
The principles of a Scale Agile Framework are:
•    Consider economics in every viewpoint
•    Adopt an approach of systems (systemic approach)
•    Consider and assume inconsistency to preserve better options
•    Integrative and terse learning cycles for a faster built
•    Objective and thorough evaluation of setting milestones for working systems
•    Restrict batch sizes to manage queue lengths better
•    Reduce WIP (Work-in-progress)
•    Synchronize and manage time across all domains for effective planning and management
•    Decision-making and authority are to be decentralized
To conclude
While the Scrum approach offers a better learning experience and lays down the perfect foundation for a better approach meant for a professional mind-set and work culture. This is where the Scale Agile Framework offers a better and scalar approach for the organization.

Code Refactoring: Concept and Analysis

Code refactoring is used to rearrange or restructure the existing computer code. The process takes by executing factoring without changing the external behavior of the code. The reason one uses code refactoring is to improve the nonfunctional characters of the code. It helps in removing the complexions of the code and enhancing the reliability of the code. Code refactoring also helps in removing vulnerabilities of the system and also removes bugs. Basically it is a cycle of continues improvement of the code by different methods to make better.
Concept of Code Refactoring and how it Works:
Code refactoring usually takes place after code smell. Code smell is basically a long written code which is repetitive or is the duplicate of other code. This all can be address by changing the source code. After it is done, the new code will have the same meaning but there won’t be any “smell” or duplicity. There are various ways for code refactoring and some of them are mentioned below.
  • Techniques that Push for Abstraction: The Encapsulate field forces the code to derive the field by using getter and setter methods. Using replacing method to replace conditional with polymorphism. Creating generalize type for producing more general types in order to share more codes. By replacing type-checking code with state or strategy.
  • Method and Strategy used to break code into more logical pieces: By using the method of componentization, one can break code into reusable, well defined, clear and simple to function units. By using the method of extract class one can move the code from an existing to new class. One can also turn the old and long method into new method by using extract method.
  • Strategy and Technique to improvise code name and location: One can move the code into an appropriate file by using move method. Rename method can be used to give a new name to the code that also defines its function. Also by using pull-up and pull-down, one can bring the class to OOP and back to sub class.
Advantages of Code Refactoring:
Extensible Code: Code Refactoring makes the code more extensible for adding many other function to it. It also helps in increasing the flexibility of the code and by this the capability of code increases.
Maintainability: After refactoring, the code is fresher, easier to understand or read, less complex and easier to maintain.
Disadvantages of Code Refactoring:
Time Consuming: You may have no idea how much time it may take to complete the process. It may also land you into a situation where you have no idea where to go.
Chance of Mistakes: In case if it went wrong, you will have to waste much more time in solving the problem and there are probable chances that it may go wrong due to complexity of the code.

Code Refactoring is a wise method of extending the code and making it more capable and in the same way it has some disadvantages. One need to make up his/her mind whether it is necessary to go for refactoring or not.