Blogs

 

Enduring the rigorous process of System Development Life Cycle (SDLC) is never that easy and it will never be!  Why? It is because it doesn’t just stop there. As a matter of fact, after the testing phase, you are still one step away into having that dream system of yours.

Do you even know what’s the last phase? Well, it’s no other than the production phase where the real challenge begins!  This stage entails the actual creation or migration of of the system from testing and staging environments based on the standards and specifications identified during the previous stages.

Relatively, this is the real deal before reaping the fruits of your labor. But how can you be sure that you are now 100% prepared to launch that system for production? Have you seen the green light telling you to go on or have you seen that red light or the red flags waving you to stop?

Given such, it is important to remember and consider some things before putting a newly developed system in production environment. Doing such things might help you to avoid poor execution and project failure.

Thus, why not try to do these things before production?

  • Identify and review all the requirements, specifications, resources, people needed before production. 

It is important that all the requirements are clearly defined and the resources are allocated before production. Conducting the testing and staging phase might have given you the idea on what are the issues that may transpire during the actual production. It can give you the edge to review and to plan ahead.

  • Verify the approach to be used and if adheres with the standards, needs and goals of the project

In software development, the model and the approach used to create the project is very vital. Thus, during the testing, the team should be able to verify if they are using the right model and approach. This should be done to avoid huge errors and too much costs during production. Hence, it is wise to know during the testing part if the mechanisms used were efficient and in line with the needs and goals of the business. During the testing, the team can also evaluate if there is still the need to do other approaches if the previous ones which were used were not effective.

  • Conduct thorough testing

Before production, it is important to conduct thorough testing, as much as possible close to the production environment. Every system has its own procedures when it comes to this stage so better follow such and do this seriously and exhaustively. This will be done to prevent and predict issues and threats that may arise during the actual production phase.

  • Fix bugs efficiently 

In creating any system, bugs are also inevitable so the QA team should be able to find the bugs efficiently. Fix and solve it with minimal time and effort. You can also strategize and focus on bugs that needs urgency and may pose bigger threat with the system that you are going to create. Be efficient, focus on issues that are important.

  • Ensure server and system security and its performance

Security is very vital especially if you are using (Software-as-a-Service) SaaS or open source codes. Thus, before production it is important to impose security measures and evaluation on the server and the system itself. This is required especially if the system will be hosted by using the Cloud. Relatively, system performance should also be evaluated at all cost during the testing so that during the production you can assure that optimal performance can be achieved. Performance risks should also be identified.

  • Simulate the testing environment and the data used for the production environment

It is very crucial to produce the same environment that you’ve used during testing including the data or the information. The very purpose of testing is to copy the production environment in order to validate if all the elements work. But before production, it is also necessary to remember that since you’ve already conducted testing, the elements that were efficient during the testing, should be simulated and copied to the production phase. The same pipeline should be used for both phases. 

  • Review the processes for every element of the project and implement Quality Control procedures

The team should be accountable for reviewing and checking every element of the project/ system. They should review every step to ensure that everything is working and every element is compatible with each other. Make sure that you are following your timeline without compromising the quality of your output. You should not put the quality at stake so make realistic deadlines and put your best foot forward.

  • Validate the system/product by running a regression cycle

The process of regression cycle is also known as the final phase to stabilize the system/product. It is presented by using a hierarchy with several branches. Normally, this has components that will make the client/customer to understand the system/product on their own perspective. This gives the team the opportunity to validate and impose some changes if it is deemed necessary. If the system passes all the tests, you can now see that green light which tells you to “Go” and proceed to the production phase.

  • Test if the system works by running a sanity test

In order to test if everything works, a sanity test is conducted. The results matter for it also evaluates if the third-party system works. It can also say if there are compatibility issues. Project success should be seen at this phase.

  • Document, Document and Document

All changes and configurations made from the test environment to the production environment as well as changes to the programs, the databases and any auxiliiary applications should be properly documented.

  • Provide and assign the right people to do the tasks

Choosing and assigning the right people for the development team is integral to attain access. Having the right people with the right skills can help you to avoid pitfalls and failure in developing a system. Just make sure that their tasks are clearly defined and they are designated properly. Sometimes due to the current trends, much more are expected for developers and the QA team. More often than not, they have to break the traditional ways and learn the contemporary methods of software development. 

These are just some of the few considerations that you need to remember before you put that newly developed system in production. These might be some ordinary guidelines for you but you’ll never know, extraordinary results might come out of these!

 

References:

TechBeacon Online Website. (September 29,2016). Retrieved from http://techbeacon.com/10-best-practices-qa-teams-deliver-quality-software-fast

 Image Source: (Freepik Online Website) http://www.freepik.com/free-vector/businessman-in-front-of-a-choice_765208.htm

 

 

 

 

 

Published in Software Development

 

In one of our previous blogs before, we’ve talked about SDLC or also known as “Software Development Life Cycle”.

Just to refresh our minds, SDLC is a model framework that describes the stages of project development. Speaking of these stages, one of the most notorious, challenging and mind-boggling is the “Analysis” stage.

This stage is very crucial for it allows you to set up the pace in defining the functional and non functional requirements for system development. This also gives you the leeway to scrutinize not only the business needs but also the system/program to be developed.

Did you know that in SDLC, you can actually conduct analysis in two ways? Yes, just like a coin with two sides, analysis can be done through what we call as “Business Analysis” or “System Analysis”. But, the million-dollar question would be, how do they differ from one another?

The Process

Business Analysis is known as a process of understanding and identifying business needs and problems. It puts prior on examining the overall business structure, resources, strategies or even the issues comprising the organization. It involves documentation and gathering of information to thoroughly examine what solution would be best to address the needs.

This is normally performed by a business analyst who ensures that the IT solution which is system development coincides with the goals and requirements of the business.

On the other hand, System Analysis is known as a process of identifying the solution given the problem. More often than not, basic system needs are verified. Thus, this process requires the system analyst to probe and identify the system requirements needed, the system design to be implemented, the programming language to be used for the project and other technical specifications related to the system.

Nowadays, we also have what we call as Business System Analyst which can do both roles.

The Responsibilities of a Business Analyst

  • Assessment of business needs and problems
  • Understanding the structure of the organization, issues and its inadequacies
  • Management of business requirements in coordination with the management, stakeholders and end-users
  • Documentation and gathering of information about the business process
  • Preparation of the recommended IT solutions for the business needs.
  • Participation within the whole SDLC process to ensure that the system/solutions provided will be compatible to the needs and goals of the business.

The Responsibilities of a System Analyst

  • Coordination with the business analyst or the management for the system requirements
  • Administration in creating the system, testing and checking the performance of the system.
  • Identification of the system design and the techniques to be used to make the system efficient for the users.
  • Discussion and coordination with the management and end-users to ensure that the system can address their needs when the system is already developed.
  • Creation of flowcharts and model to be used by the developers
  • Configuration and monitoring of the system creation.

 The Skillls

There you go! The two processes may require different set of skills, knowledge and expertise. More often than not, business analysts should have a good background when it comes to business and marketing while systems analysts are required to have higher technical skills.

Conclusion

      As you can see both of the two processes are different but they are complimentary. Don’t worry doing both of these process is definitely worthwhile.

Think of the analysis stage as a stone, which can hit two major goals 1) address certain business needs; 2) create a system to solve the needs and achieve further corporate targets (either maximizing productivity or increasing profit via the system)

At the end of the day, no matter how different they are what is important is how both processes complement and support each other to achieve a common goal!

 

Image Source: http://www.freepik.com/free-photo/web-design-concept-with-drawings_902906.htm#term=business analysis&page=1&position=3

 

References:

Business Analyst Learning Official Website. (September 21,2016). Duties of a Business Analyst. Retrieved from: http://businessanalystlearnings.com/business-analyst-career/2015/11/7/what-is-the-difference-between-business-analysis-and-systems-analysis

Villanoavu Online Website. (September 21,2016). Duties of a System Analyst. Retrieved from http://www.villanovau.com/resources/business-analysis/business-analyst-vs-system-analyst/#.V-IwJih97IU

 

Published in Software Development
Thursday, 01 September 2016 12:04

The Characteristics of a Good Systems Analyst

              

              As you come across this page, it is either you are already a systems analyst and you just want to improve your craft or you are aspiring to be one in future! Whatever your reasons are, let us just say that you are an amazing individual who are curious to learn what a systems analyst does. Don’t worry you are on the right track fella!

Well, what is so special about being a systems analyst? On the international level, being a systems analyst is in demand nowadays. Indeed, this is not surprising knowing that it got the 8th spot as one of “The Best Jobs of 2016” as published by CareerCast.com an online career search website and Forbes as well.

According to the same list, a computer systems analyst has a 21% growth outlook meaning it is promising when it comes to career development. Thus, given a globally competitive setting, being just a business analyst is not enough, you also have to be good at it! As cliché as it may sound, if you want to be excellent at something, you should start from yourself. Sometimes, it’s all about having the right attitude and the right characteristics.

The Role of a Systems Analyst

System Analysis is known as a process wherein the goals and strategies of a system is analyzed and planned. All the information needed and the design should support the goals and the purpose why the system is created. Obviously, this is where the Systems Analyst will come into play. This role is very crucial for he or she serves as the IT or business professional who will use analysis and design techniques to solve certain problems by using technological solutions and approaches. 

The Characteristics of a Good Systems Analyst

  • A good systems analyst has the technical knowledge and skills

                   In order to be good at something, the first step is to know more about the field that you are interested in. Most likely, this will come naturally especially if this is your passion. You will just be surprised that you are very eager and excited to learn more about that field. Thus, this goes the same in being a good systems analyst. You need to learn a lot of information and skills either by studying, observing or through your own experience. It would also be great if you are familiar with the programming languages and databases used by the developers. Just get it on and never stop to learn!

  • A good systems analyst is a problem-solver

                  A larger part of being a systems analyst is to investigate and figure out things. Yes, with the use of technical knowledge and skills he or she must be able to know and identify what are the problems within the system and how to solve it by using information and technology. This is why a systems analyst should always think logically and use certain problem solving mechanisms. Sharpen your skills just like when you try to solve that mind-boggling puzzle when you were a kid.

  • A good systems analyst can communicate and listen effectively.

                         Communication and listening in this job is very important. Expect that you will coordinate with the members of the team and even with the users, stakeholders and decision makers of a business or organization. Being able to communicate well can help you in gathering information. Remember that, it is important to know the needs, the problems, the requirements etc. Thus, listening more than talking is also needed sometimes. In this way, you can be able to have a clear grasp on how you are going to solve the issues. There are also times when you will be asked to explain the process and how to use the system. Thus, there’s no harm in enhancing your communication skills.

  • A good systems analyst is patient and practical

                          Analyzing systems functionalities as well as information provided by users are difficult. You have to devote more time and painstakingly undergo certain technical issues. Sometimes, searching for the solution and what approach to use is much more nerve-racking on your part. Thus, if you want to be good at this craft you should be more patient to learn and understand things. It is also suggested that you will be practical in making decisions. Don’t be too hard on yourself, patience is a virtue.

  • A good systems analyst must also have some project management skills

                           More likely being a systems analyst will also require project management skills. In some companies you are also tasked to lead the team, solve the problem in a system, manage the cost and fix the schedule and timeline for production. This is actually a good avenue to unleash your potentials and skills so why not give it a try? This is a good training ground for bigger responsibilities in the future.

  • A good systems analyst is understanding and creative

                             In creating and designing a system, it is important that you    understand the needs and problems of the client. Knowing what purpose will it serve will help you in designing the system. From that, you can now think of the most creative and feasible approach or design to address the problem. You can also make it more user-friendly for the users.

Actually, these are just some of the important characteristics of a good systems analyst. Who knows? By using your own experience, you might be able to discover and name other characteristics needed to improve yourself.

Unravel it on your own and in the future, you might be able to answer what it really takes to be a good systems analyst!

References:

Image Source: Freepik.com or http://www.freepik.com/free-vector/business-brainstorming-concept_767019.htm

CareerCast Online Website (August 31,2016). System Analyst Retrieved from http://www.careercast.com/slide/best-jobs-2016-8-computer-systems-analyst

Online Blog-Characteristics of a System Analyst (August 31,2016). System Analyst Retrieved from http://misallabouts.blogspot.com/2009/12/characteristics-of-systems-analyst.html

Characteristics of a System Analyst (August 31,2016) http://www.breakingnewsroll.com/2013/02/24/attributes-of-a-good-system-analyst

Published in Software Development

 

As I was walking yesterday inside a grocery store, I chanced upon two college level kids who were discussing about web development. I overheard one of them saying that upon graduation from college, he will pursue a career in web development, while the other scoffed at him and told him he should be making money in developing web applications and games.

I would want to meddle in their discussions, but they may find me rude. But inside my head, I think the first kiddo is kinda confused. While I do not see something wrong making a career in website development (heck, they still make their money), it is my impression that he could be talking about web applications.

Which is which? Well, I am not in the IT industry as a developer, but I basically know the difference. People generally use the term website for just about everything. However, this notions is not wrong. If people are talking about something that exists in the Internet and it is available and accessible via the web browser, then it is a website. However, if you talk to someone from IT, then there is a notion that they are talking about a web application. Just like lawyers, if you talk to ten different IT guys to explain this difference, you will be getting ten different answers. But the fact is, the difference between the two boils down to functionality wherein:
• A website is just basically informational. Just like our website (http://www.acuity-ph.com) and,
• A web application is interactive, made specifically for a specific purpose just like a web application made for shopping or online banking.

Just to illustrate, let’s have an example of a car manufacturer’s web presence. If you visit the site to look around for cars before visiting a showroom and find nothing more than just their offices, their models, directions on how to go to their showroom and some contact information, what you have is a website.

However, if you visit another car manufacturer’s website, you would still find the same information as I stated above, but with some additional functionalities like setting up an appointment, order parts or accessories, this interactivity is a web application. This is what differentiates it from a website. To cut it short, a web application is a website that the user can control on what happens next. A website may contain web applications below its level, but a web application needs a website to run. Another classic example of a web application is the way an Internet user can chat or talk to someone using the website. The chat or talk is part of the website, and that is what makes it a web application.

Get the difference? Ok, let me test you. Tell me if the following examples below is a website or a web application:

1. A restaurant site that has Google Maps integrated with it. The user will have to input his location on how to get to the store from his current location.
2. Google.com
3. A newspaper website with no user activity, but hides all information first, until such time the user subscribes and pay before the user can read the news.

For the examples above, these are all described as web applications. The catch is there is no big difference from a website or a web applications, just the way how it is designed and developed on a functionality-wise need. Whatever the case maybe, the development of both websites and web applications should still go through the usual systems development life cycle (SDLC). You don’t know about SDLC? Well it would be a good time for you to go through our previous blog about SDLCs. 

 

 

 

Published in Software Development
Monday, 15 August 2016 11:19

What Is Project Management?

 

 

In the world of software and applications development, project management is not defined in all of the systems development life cycle (SDLCs) published. However, we deem that project management is one of the critical areas in systems development.

Project Management is defined as the discipline of initiating, planning, executing, controlling and closing the work of a team (in this case, a systems development team) to achieve specific goals and meet specific success criteria. Think of the process of project management as orchestrating the work and the results of the team to achieve the goals of a software development project, which, typically are: results delivered on time, on budget in which the results are achieved by the business. Also think of project management in terms of coaching wherein specific plays are designed to counteract the opposing teams defensive plays, so that the results (A WIN!!), are achieved on time (in 48 minutes).

Without the discipline of project management, everything goes into disarray. No coordination between users, the analysts, the developers may exist, that may result in waste of resources (human and financial), that may achieve nothing. Scope that may be required by the business users may not be transformed into software applications, or a software development project may take a long time to be completed.

Project management is a skill and a talent. It may take years for an individual to achieve such skills. A good project manager must have that good business, technical and customer-centric background to make it work. The project manager should be very well versed in the methodologies used in project management.

To conclude, while everything is silent on project management, it is a very critical stage or part in a software development project. Don't initiate a project like this without putting this aspect into its proper objective.

Published in Project Management
Monday, 15 August 2016 11:09

What Is SDLC?

 

 

Most of us who are in IT but are not involved in systems development oftentimes hear the term "SDLC" from our colleagues. But what is SDLC anyway? Is it another IT language that no one can ever comprehend?

SDLC is an abbreviation of Systems Development Life Cycle, which are phases involved in systems development. These are processes that are designed to meet or exceed customer satisfaction. By means of customer satisfaction, it simply means that the users, who are customers of the software developers are fully satisfied with the product or output of the software development. It simply means that the software is running as intended to simplify manual tasks, processes, create accurate and timely reports, process transactions properly and are completed within time and budget.

There are around six (6) phases in SDLC namely:

  • Systems planning
  • Systems analysis
  • Systems design
  • Implementation
  • Systems testing and integration
  • Systems Maintenance

The systems planning phase is the most critical part in creating a working applications system. This phase is where realizations in creating a new application is defined and how it addresses current and future needs, alternative solutions which can be cheaper or easier to maintain are studied, and where budget, timeframe and the manpower to create and maintain the proposed automated system are defined. If stones are left unturned in this phase, then its back to the drawing board.

The systems analysis phase is where user and business requirements, expectations for the proposed system and how will it perform and help the business are defined. Feasibility studies for the project are developed as well so that it should answer if the project is feasible economically, organizationally, operationally and technically. At this phase, it is very critical that project managers as well as business and systems analysts maintain close and strong communication levels with the users or clients as well as with the stakeholders so that everything on the vision of the project is detailedly met, otherwise, it will affect all future phases of the project which will make it to be delivered late and beyond budget.

The systems design phase comes after it is assumed that understanding the users, business or stakeholders needs are completely acquired, understood and met. This phase defines components and requirements of the system including database requirements, runtime requirements, security and access requirements, infrastructural and network requirements as well as coding requirements are defined. A general prototype can be done to determine how the system will look like and how it will function, and then a detailed and expanded system design is produced, and it will meet all functional and technical requirements, logically and physically.

The implementation and deployment phase comes after a complete understanding of system requirements and specifications, it’s the actual construction process after having a complete and illustrated design for the requested system. Actual codes are written and if the system contains new infrastructural components, this phase also include configuration and fine-tuning of the hardware, the networks and the necessary components to meet certain requirements and functions. After the coding and the necessary infrastructural configuration, the system can now be deployed and tested by in-house IT testers prior to involving testing by the users. Training may also be required in this phase for the users to be sure they know how to use the system and get familiar with it.

The systems test and integration phase brings different components and subsystems together to create the whole integrated system, and then introducing the new system to different inputs to obtain and analyze its outputs and behavior and the way it functions. Testing is becoming more and more important to ensure customer’s satisfaction, and it requires no knowledge in coding, hardware configuration or design. Testing can be performed by real users, or by a team of specialized personnel, it can also be systematic and automated to ensure that the actual outcomes are compared and equal to the predicted and desired outcomes. Prior to this phase, test conditions on how to test the new system as its own or integrated with other systems are prepared to realize the necessary and required outputs.

In the systems maintenance phase, periodic and regular maintenance for the system will be carried out to make sure that the system won’t become obsolete, by adding new functionalities or may include replacing the old hardware and continuously evaluating system’s performance. It also includes providing latest updates for certain components to make sure it meets the right standards and the latest technologies to face current security threats as well as new components to meet changing business or user needs.

The Systems Development Life Cycle is a highly iterative process and is very specific for every software development project. Again, it is very important that excellent communication between both the developers and the users or customers be maintained and prototypes are very important and helpful in meeting expectations. In building a system, it is important that these phases are properly aligned so that customer or user satisfaction is guaranteed.

There are many models of the SDLC that came up from the idea of saving effort, money and time, no to mention in minimizing the risks in not meeting customer satisfaction at the end of the project. Some of these models are the Agile Model, The Iterative Model and the V-Model, which somehow quickens or speeds up the phase of the development, but are patterened basically on the original SDLC phases as discussed here.

 

Published in Software Development

Message Us Now

Loading, please wait..