Thursday 29 December 2016

Scripting an Efficient User Manual

User manuals are written guidebook to understand the uniqueness and functionality of a particular device or software. The manual can be either a hard copy or an electronic document in the form of (XPS or PDF) format. Quality user manuals will educate its readers about the product's features while teaching them how to use those features effectively and are laid out to be easily read and referred to. Following are the guidelines to be kept in mind for technical writer while documenting the user manual or designing the layout of a user manual.

First Impression:
Most of the users never bother to read the user manuals. Generally, it is kept aside and considered difficult to deal with. The consequences of this are, both the product and the user suffers. Keeping this in mind, the user manuals must make a strong and positive first impression. The guidelines which would help the technical writers to create an impression are listed below:
  • Avoid a text-book look (landscape formatting can be less threatening).
  • Make purposeful and effective use of color.
  • The user manual should not be too lengthy.
  • Make effective use of pictures or screenshots
  • Maintain the consistency of the manual by using common font for the documentation.
Enhancing Findability:
Generally, user gets frustrated when they need to search for a specific topic in the user manual. Often this is due to the fact that the key words the writer has used are not the key words that users may search for. Here are some guidelines that will help users will easily find what they are looking for.
  • Organize information hierarchically
  • Divide the manual into appropriate parts.
  • Denote importance by using different colors as per importance etc.
  • Provide a key word index using the terminology of the user.
  • Provide a glossary of technical terms.
  • Make the quick start guide readily accessible.
Including Links to related Articles:
When you refer to another part of the manual, it is always advised to include a link to the related article for the convenience of the users. Otherwise, end users would waste time or might get frustrated by searching for what you just in the later part of the manual

Show the steps and substeps:
Writer should always include step numbers or bullets to make the understanding of the user more transparent as it becomes easier for the users to follow the context written in the manual. Writer can also take advantage of sub-steps to make the documentation easier to follow.

Unique URLs for each article:
This makes it really easy for user to respond to questions with links to the documentation. 
user would be taken to the exact article that user need to answer the question about how to create a campaign target list.

With a unique URL, user can even respond in email, in the communities, etc. sending its end users to the exact answer they are looking for.

Documentation Don’ts:
  • Don’t write unnecessary information in the user manual and treat the manual like the kitchen sink.
  • Focus on a particular Domain, and do not specify multiple goals in a single manual. 
  • Don’t use jargon, slang or ambiguous sentences phrases or sentences.
  • Don’t be vague and be as much precise as possible. 
  • Don’t use those abbreviations those are not accepted widely.
  • Do not give excuses like “This is done because…..”.
Conclusion:
If the technical writer establishes a workflow which ensures that the documentation is clear and unambiguous. Manual is easily delivered to the customer. Once the user gets its documentation off the bench and comes into act the customer will be amazed that how it helps in business.

About Author:
Naman Kharbanda is a consultant in Systems Plus Pvt. Ltd. Within Systems Plus, he actively contributes to the areas of Technology and Information Security. He can be contacted at: naman.kharbanda@spluspl.com

Friday 2 December 2016

Go Online With SharePoint!

Let’s starts with story….

I was travelling to my hometown, it was Friday evening. Suddenly phone rings, client at other end.


Client: Vishal, we have four new joiners today. Please create account for them with SharePoint online license and provide access to our online portal. User details are emailed you. It is very “Urgent”.


Ohh….. Administrator’s life! I rarely came across a client requirement, which are not Urgent!
No Laptop, No dongle…only mobile as a gadget….how can I assist them!
Thanks to 4G in my mobile
Jokes apart, Microsoft had launched app named ‘Office 365 Admin’ – a huge help in these kind of situations.
I installed ‘Office 365 Admin’ on my mobile. I logged into the app with my O365 account, created 4 users and replied to client! Got reply as ‘You are awesome!’
I would like to share the features of O365 admin mobile app to make administrator life little easy!

Office 365 Admin:
1. Monitor Service Health

2. Manage Users

3. Submit Support requests

This app is available for windows, IPhone and Android mobiles.

Prerequisite:
User has to be administration level permission at SharePoint Online domain to use this app.

A. App Installation:
Go to Mobile App store on your mobile and search for “Office 365 Admin”, install it and Login with your Microsoft office credentials.

B. Dashboard 
After Login to App user can see Dashboard:
From dashboard, we can see Service Health, unread Messages from message center along with quick links to the Users and Support requests at a single glance. Quick links are configurable with ‘Customize Menu’ option in Settings.

1. User Management:
To have a look at people in our organization, we choose ‘Users’.

Modify User Details:
We can select a user or search them.

After user selection we can manage user’s license, user role, update contact information and reset password. There is also facility to block user access for SharePoint domain.

Add new user:
We can also add new user by select new tab from user page:

2. Service Health:
Selecting ‘Heath’ option from Dashboard.
Open Service incident to get more details about it.
Sometimes at background Microsoft works on some service upgradation/degradation, causes SharePoint sites not accessible. Here we can find details of such activities with down time.

We can share this details by selecting Share option and enter email address of person with whom you want to share the details.
This is the useful information for any employee affected by the incident.

3. Messages:
About upcoming changes for office 365 service, choose Messages.
We can see the planned Features or service changes for O365.
Open a message for more details. We can also share this message within organization people.

4. Support:
In case of any issue with SharePoint product functionality or for any query, we can contact Microsoft support. Either we can raise service request or US users can directly call on support number.
User can view exiting tickets or create a new one.

C. Other Features:
Office 365 Admin app provides other features in menu options. We can access menu button at top left of dashboard (highlighted in below image).

We already discussed Users, Health, Messages and Support options. Let’s look at other features as feedback, settings etc.

5. Feedback:
We can give our feedback to Microsoft with Feedback option available in menu. User can rate it, suggest a feature or report a bug.

6. Settings :
User can manage personal app level settings with this option.

  • FAQ: To learn more about admin mobile app, select FAQ.
  • Notifications: Service health Notification, to get notify about any changes in services which are selected by user.
  • Security: Using Security option, we can add Passcode for admin app, so that no one else can open it from phone.
  • Language: User can set language for this app.
  • Customize Menu : User can customize dashboard display options on app home page
  • Social: Using Social functionality we can get in connect with other administrators via email.
This is all about SharePoint Online App, makes administrator life little easy!

About Author:
Vishal Himane is a consultant in Systems Plus Pvt. Ltd. Within Systems Plus, he actively contributes to the areas of Technology and Information Security. He can be contacted at: vishal.himane@spluspl.com

Thursday 10 November 2016

CRM for Support

What an amazing experience it is to be offered the best deals at the most pin point time. Use of CRM for Customer Support provides a competitive edge to over your competitors. Who is best player in the market? It is but obvious the one who wins the customer votes. Today’s market is dynamic and so is the customer’s expectation and demand. A well customized and streamlined experience for a complete customer interaction cycle is the benchmark to rule the market. 

A very simple algorithm of customer service if designed precisely will make a way for booming business and market place. Major factors that give you this winning game is, what you know? Who they are? And what they need? A well-managed interactive session without being toggled between many departments and zero waiting time results in a happy customer. Yes, of course a satisfactorily executable system consumes time and efforts, but never the less worth investing.

How will a CRM (Customer Relationship Management) system help you?
A customer relationship management system enables you to strategize your forecast, build a better customer profile, identify and categorize your customers, address your customer needs more precisely and subsequently recommend additional products and streamline the processes to yield faster results and better reporting. It also enables your staff to recognize who they’re dealing with from the initial stage itself and thus providing them more efficiency and more productivity. As per the research performed by Bain & Company, increasing customer retention by 5% can lead to an increase in profits of 25% – 95%, and probability of converting an existing customer into a repeat customer is 60% – 70%, whereas the probability of converting a new lead is only 5% – 20%.

Few of the best players in CRM market are listed below:

1. Salesforce

2. Zoho CRM

3. Infusionsoft

4. SugarCRM

5. Microsoft Dynamics

6. Nutshell

7. NetSuite

8. SAP CRM

Key Benefits of CRM for Customer Service Support are as below:
  • Forecast customer needs
  • Automated reporting
  • Channelized processing
  • Competitive administrative support
Forecast customer needs:
CRM solution provides you with a 360 ° view of your customer, which enables you to forecast your sales pipeline, for the existing customers. It provides a better visibility identifying and categorizing the target customers with the greatest potential for future sales. It is more influential for than mass marketing approach as it allows you to focus and fine-tune your marketing efforts to make those efforts more productive. A better analyzed customer provides better sales opportunity and build stronger customer relationship that further leads to niche market space. This indeed helps in cross sell and upsell during a customer support interaction session.

Automated Reporting: 
Even in the most progressing era’s, few organizations still follow the manual tracking methodology. This leads to more productive resource time being utilized for nonproductive tasks, loss of important data in many scenarios, misses follow-ups with customers and last but not the least at the end of the day a well-structured report to determine the progress. With the help of a customer relationship management application, it makes all these key concerns in a more strategized, channelized and presentable way just a click away. This is possible as all your crucial data is stored on a single platform and your visibility walls are well placed. Data automation is well projected, managed and monitored. These customized reports facilitate you to gain a clearer picture of the sales pipeline, service quality and thus further leading to a powerful and centralized analytic and reporting tools that would have been hard to replicate in stand-alone systems.

Channelized Processing:
Single platform provides a common channel for various departments such as sales, marketing, and customer service to speak the same language with one another. It emphasizes on cohesive work culture for multiple departments rather than being separated by systems functionality or convenience in accessing key information under single roof that usually departments across the organization require. It promotes the organizations to make their staff visualize and believe their goals under a single umbrella. A customer relationship management system can process your day-to-day administrative tasks and provide a molding hand to traverse through the various service process that needs to be followed for a delighted customer.

Competitive Administrative Support:
Just imagine a world where you had to keep tracking your customer records for daily alerts for service follow-ups, renewals, new product launch, etc. With the CRM system, complete alert cycle can be managed on an automated basis. It has always been a delight to a customer if the periodical wishes and reminders are received on time. Also, your staff members are well equipped with tools for scheduling appointments, keeping records up-to-date, tracking follow –ups, keeping escalation tracks, customer categorization, customer communication call scripts and templates, etc. It works like your complete organizer.

Conclusion:
A CRM application provides a cutting edge over and above the commonly practiced processes and helps one to build a single accessible and well managed platform. It provides a 360° visibility to the customer needs and helps in building the future market forecast.

About Author:
Mrudula Palyekar
 
is a consultant in Systems Plus Pvt. Ltd. Within Systems Plus, she actively contributes to the areas of Technology and Information Security. She can be contacted at: mrudula.palyekar@spluspl.com

Using Data and Analytics for Indispensable Planning!!!

With any good planning there exist multiple scenarios and it is necessary to avoid the one point solutions. So analytics can create rigidity and right data helps in executing the right task. Now a day’s agile is the requisite for many companies to attain Profits, Goals, task or completing task. But still many companies fail to use data and analytics for making good decision, better planning and actions.
There are three constraints for Indispensable Planning:
  • Ability to implement
  • Funding or Investment capacity
  • Administrator or Stakeholder agreement 
The above mention constraint leads to the following results:
  • It helps in developing and launching a new product
  • It helps in expanding the Services
  • It helps in entering in the new market
  • It helps in investing in IT firms
Methods for Using Data and Analytics for better planning include breaking the constraint and thinking out of box. The given below scenario will help in taking important decisions if your company is planning to enter a new market. These points helps in planning a strengthen and restructuring the corporate scenarios, understanding the specific execution and operational limitations related to actions and provide solution to tackle them. 
  • Taking new decisions
  • Flexible Planning 
  • Start with Purposeful scenario
  • A well considered Strategy
For example, Lack of expertise can be overcome by new hires or complementing the team with other parties etc. While many senior executives expect that their important decisions will increase the investment value. These are the long term goals and can be can be taken care by 
  • Using Multimedia methods 
  • Social media can provide instant market feedback
  • Adjusting with new features and releases
Once a plan get ready then a company, team or organization should be clear what will be the drawbacks for every decision or behind very plans. Try to involve the necessary supportive systems and resources that will help in taking better plans such as
  • Avoiding the silos mentality
  • Decision should be made only after considering the expected output
  • Team should consult with other functional leaders
Hence Data and Analytics can make decision making faster and helps in building the execution approach strategy. It helps in translating decisions into competitive advantage avoiding the cost delays. If you are planning good or if you are a good planner –

1. You will be able to complete to complete your tasks, projects on the time and on budget. As managing project is a skill which is utilized by everyone every day.

2. You will understand that planning is a part of career and if you are using right data and analytics you will definitely add values to your organization and team.

3. You will understand the concept of billable and relationship with the colleagues.

Conclusion:
Data and Analytics help in interpreting the different challenges which will be face by your company in making a better decision and easily you can tackle them.

About Author:
Ekta Sachan is a consultant in Systems Plus Pvt. Ltd. Within Systems Plus, she actively contributes to the areas of Technology and Information Security. She can be contacted at: ekta.sachan@spluspl.com 

Incident Management in Application support

Incident management is the back bone of Application support. An application support team that cannot manage incident Management efficiently is of no use. 
Incident management is done by all Application support teams but is it done efficiently? is the main question to ask. It is been observed that often the requesters / Business users are not satisfied with the response time or the solution provided by the Application support team. This results in dis-satisfied business users indirectly affecting the Business and the respective Organization. 
In order to perform Incident management efficiently following points should be followed consistently:

1. Understanding the Application thoroughly

2. Understanding the SOW (Scope of work)

3. Analyzing the issue correctly

4. Oral and written communication

5. Knowledge Base 

6. Kaizen approach

Let us understand the above steps in depth so that Incident Management can be done efficiently with happy and satisfied Business Users resulting in growth and less obstructions:

1.Understanding the Application thoroughly: 
This is the base step and very important aspect of Incident Management. Irrespective of any support process, it is very important to know and understand the Application thoroughly for which you are providing support. This can be done by having regular training sessions on the various modules and functionalities of the application. If there are any enhancements or new functionalities being implemented make sure a thorough training is provided to the application support team. Post training sessions it is the responsibility of individual executives to explore the application so that they understand the application completely and have no doubts with respect to functionalities.

2.Understanding the SOW (Scope of work): 
This is another important aspect of Incident management in Application support which the team normally tends to forget. The Team leader or the Project Manager should make the Team aware of the Scope of Work (In-scope and out of scope). The escalation Matrix, the Incident criticality and priority table and the SLAs to be followed with respect to response time and resolution time should be thoroughly explained and understood by the team before handing support for the respective application and client. This really helps the application support team in handling, analyzing incidents efficiently. This also helps in providing responses and resolutions on time depending on the priority and criticality of the incident. 

3.Analyzing the issue correctly: 
Once the team is done with the ground work (Understanding the application and the SOW thoroughly), they are ready to handle Incidents related to that particular application. However, you should have good analytical skills to understand the issue / incident. Once, an issue is registered and assigned to an executive, he/she should carefully go through the issue if it is an email or a ticket or patiently listen to the requestor to understand the issue correctly. If you have any doubts related to it, draft an email with your doubts or ideally have a call with the Requestor to understand the issue correctly clearing all doubts. This phase of understanding the issue is very important as based on it the respective executive can understand whether it is an issue, a change request, its criticality and complexity etc. and accordingly decide the best approach to resolve it.

4.Oral and written communication:
Apart from knowing the Application and SOW, it is very important to have good written and oral communication. This helps the executive in the team to effectively communicate his /her doubts or resolution of the incident to the Business user (Requestor). In order to achieve this the executive has to keep one important thing in mind which is to make sure that the person at the receiving end has understood what the executive is trying to say (communicate). Apart from this the executive has to work on his Written and oral communication depending on the client and application he is providing support. This can be achieved by making an effort of continuously using the required language in his / her oral and written communication in official as well as personal tasks and activities (talking to friends / collogues, writing blogs, posts etc.). Also, developing an attitude of learning from mistakes will help a lot.

5.Knowledge Base:
Knowledge base is a repository of solutions for frequently raised queries and incidents. Maintaining this knowledge base helps in quickly providing solutions and resolutions to incidents and issues which were raised earlier during the course of support span. Maintaining a Knowledge base reduces dependability on the experienced team members as even a new executive can go to the knowledge base and find out the resolution provided to a similar issue raised earlier. However, to achieve this it is very important to maintain Knowledge base in an efficient way. This can be achieved by making someone in-charge of the Knowledge base. He/ she will make sure that Knowledge repository is updated on a regular basis, right information is going in it and is user friendly for any user to log-in and identify a solution.

6.Kaizen approach:
This is an approach which was invented by Japanese which means ‘Continuous Improvement’. Implementing this approach means always keep looking for improvement in the existing process (Incident management). This can be achieved by grooming the team in such a way that they will look out for gaps in the current process and ways to fill those gaps and coming up with ideas to improve the existing process. Weekly or monthly sessions should be conducted where the team can share their observations and ideas. Rewards can be given to executives for identifying gaps and suggesting practical and effective ideas which can implemented easily. 

Conclusion: 
Thus, it can be concluded that though incident management appears to be simple and streamlined process, the Business users are not completely satisfied with the response / resolutions that they get. Hence, it is important to follow above mentioned points to achieve the final goal of permanent and sustainable solution for the application making the Business users Happy. Thus, achieving Organizational growth.

About Author:
Amol Bhembre is a consultant in Systems Plus Pvt. Ltd. Within Systems Plus, he actively contributes to the areas of Technology and Information Security. He can be contacted at: amol.b@spluspl.com

CHANGE REQUEST IN APPLICATIONS

Change requests are raised so that the business works in a well-mannered way. Change request in application should be managed in such a way that everyone involved understands the changes to be made their importance and impact on other Business Users and applications. If these change requests are not handled properly then it may significantly affect the business.

Steps for executing a Change Request in Application:

It includes initiation, review, plan, implementation and close. This steps can be explained in detail as follows:
STEP 1: Determining the Scope of the Change
  • This step includes understanding the requirement of the Change request and how it can be helpful to the business.
  • The requirements should be analysed. Also the benefit for making a change should be known.
STEP 2: Reviewing a Change Request
  • Understanding the Change request and respective change is very important
  • Change requests are generally of two types viz: Standard Changes and Non-Standard changes
  • Standard changes are pre-approved changes which are raised on a regular basis and can be executed with any further approvals. Normally, these are small changes and require less effort
  • Non-Standard changes are generally enhancements which can impact other applications and Processes. Hence, these changes are discussed in forums (CAB Calls) for approval from the impacting Business users and Decision makers of the Organization
  • Hence, Application support team should be able to review the changes correctly and follow the correct process based on the type of the change.
STEP 3: Approval or Rejection
  • The Non-standard changes request has to be presented to the change advisory board team.
  • The change request may be a low level or minor change request or it can be a high level or major change request
  • The change request gets approved by the higher authorities
  • The time for approval depends on whether the change request is major or minor
  • Ideally the approving team understands the Business benefit of the change from the Requester (Business User), its impact on other applications and the cost and time that will be incurred to develop and implement the respective change request
STEP 4: Communication and Implementation
  • The below shown flowchart explains the step 4 in detail:
 Team members should communicate with the higher authorities

Change request should be approved by the higher authorities
Project team needs to be identified and notified
 The project deliverables should be updated
Change request should be implemented and closed
 Conclusion:
  • A ticket should be raised for the change request in Application.
  • The change request in applications should be proposed only if required.
  • Change request should be made considering the time requirement, efforts, process etc.
  • After the implementation, the change request should be closed.
About Author:
Mikhil Chauhan is a consultant in Systems Plus Pvt. Ltd. Within Systems Plus, he actively contributes to the areas of Technology and Information Security. He can be contacted at: mikhil.chauhan@spluspl.com  

Tuesday 25 October 2016

Requirements Prioritization Techniques You Should Know About

Software development or any other project concerning numerous requirements, monetary limitations, and constricted targets often dictate the need to prioritize requirements. The necessity to prioritize originates from a very simple fact - that we don’t have sufficient resources to work on everything we come up with. Hence, it is essential to make assessments on which set of requirements are required to be executed in the beginning and which ones can be pushed for a future release.

When prioritizing requirements it is particularly vital to ensure stakeholder’s participation in the entire process. Stereotypically, requirements are elicited through workshops, documented sources, and prevailing systems and processes. These facts are then documented and proposed to the stakeholders for prioritization and/or exclusion from scope. 

Several techniques on how to prioritize requirements have been developed, however some work well on small number of requirements, while others are appropriate for complex projects with many decision-makers and variables. This list of requirements prioritization techniques offers an overview of common practices that can be used in prioritizing requirements.
 
1. Ranking
Rank requirements on an ordinal scale, and give each requirement a different statistical value based on its significance.
For example, the number 1 can signify that the requirement is the most important and the number n can be allocated to the least important requirement, n being the total number of requirements. This technique works best when dealing with a single stakeholder.
 
2. MoScoW Technique
As an alternative to numbers, this technique uses four priority groups: MUST have, SHOULD have, COULD have, and WON'T have. With this technique, stakeholders can prioritize requirements in a collective fashion. The acronym represents the following:
  • MUST (it is Mandatory)
  • SHOULD (it is Of high priority)
  • COULD (it is Preferred but not necessary)
  • WOULD (it can be postponed and suggested for future execution)
3. Bubble Sort Technique
In this technique, one needs to basically compare two requirements with each other. If one finds out that one requirement should have superior priority over the other, they are swapped across accordingly. Continue this approach till the final requirement is appropriately sorted. The result is a list of requirements that are ranked.
 
4. Hundred Dollar Method
In this technique all stakeholders get abstract 100 dollars, which they can then allocate to the requirements. As such, the stakeholder may give all 100 dollars to a single requirement, or the person may distribute the points more evenly. The higher the value assigned to each requirement, the higher the priority of the requirement. At the end, the total is calculated and the requirements are arranged based on the number of points they acquire.
 
5. Five Whys
With five whys, the analyst asks the stakeholder repetitively why the requirement is essential until the prominence of the requirements is recognized. The answers disclose whether the requirement is crucial or can be postponed once the priority is determined.
 
Conclusion:
So, you need to choose the prioritization technique which satisfies your needs and accomplishes your objectives in the least amount of time and with nominal resources.

About Author:
Gurpreet Kaur Gaga is a consultant in Systems Plus Pvt. Ltd. Within Systems Plus, she actively contributes to the areas of Technology and Information Security. She can be contacted at: gurpreetkaur.gaga@spluspl.com
 


Friday 21 October 2016

Importance of ‘Minute of Meeting’

Analysts predict that the latest inventions in product management will significantly influence how we use our new technology and different ways to do things. For example, there is a major change in software project management these days. New methodologies emerge in the market for which it allows us to handle the complex issues and modifications so easily as compared to traditional methodologies.

So if we talk about new software development methodologies like Agile, lots of new technique comes into the picture. One of them is client interaction / communication on the daily basis. Scrum call is one of the most important steps in agile, where we have to interact with the whole team and client on daily basis for updates. So if you interact with the client over the phone call on a daily basis then most of the important discussion and key action items happen on call only instead of email. For tracking or monitoring such discussion there is a document which is called ‘Minute of Meeting’.

There is a number of format for Minute of a meeting, its depend on the origination which one they would prefer but the purpose will remain the same to track an important discussion, key action item with who's accountable for what and who was present at a meeting.

Preferably any minutes should reach the group within 24hrs hours of the end of the meeting. And it is necessary to have a place where each version of MOM is saved for future reference.

Why is it important to have Minutes?
Minutes are important for both who was at the meeting and who miss the meeting. Memories are unreliable so it is very useful to have a written record of the meeting, including actions and decisions. The minutes are a good reference for attendees refresh memories.

What tasks are involved in taking minutes?
Normally before of the meeting, one of the attendees is designated as the minute taker. The minute taker generally completes the following tasks:
  • Note down the name of attendees
  • Taking notes for discussion and action items
  • Prepare minute as per company format
  • Distributing the minutes to all relevant people
What should write down in minutes?
While taking minute we should note the following:
  • Name of attendees
  • Agenda
  • Who discussed what?
  • Key points in every discussed topics 
  • What are the key action items from whom
It is not possible to write everything down, so don’t try just note all the key points with respective names.

Tips for Taking Minutes
Taking minutes is easier in well-managed meetings than in unstructured meetings,
Here are few tips for good minutes
  • Ask for clarification after meeting to respective person if you miss something
  • Ask for help from other attendees if you are also participating in the meeting and have forgotten to take notes
  • Prepare a draft version before a meeting which will help to take notes easily
  • Use the past tense, the minutes are distributed after the meeting
  • Before sending minutes cross check name of attendees, target dates if any and accountable person name for the respective task.
Conclusion
Keeping good records is a good way to lead any project as the minutes are an important tool for fulfilling this duty. Minutes primarily serve as a tool for helping manager remember what the team decided at previous meetings, and secondarily as a way to keep our co-op’s members informed about the actions of their management.

About Author:
Niraj Patil is a consultant in Systems Plus Pvt. Ltd. Within Systems Plus, he actively contributes to the areas of Technology and Information Security. He can be contacted at: niraj.patil@spluspl.com

Friday 14 October 2016

SRS IN A PINCH

A SRS document (Software Requirement Specification) is a document where a company’s understanding of their respective client’s system requirements are documented. This usually happens prior to any design or development work has actually started. This marks as an assurance that both the parties have understood each other’s needs at that point of time. The SRS document will depict only those requirements which are necessary from the project development’s point of view.To derive the requirements we need to have a clear and thorough perspective of the products to be developed or which are being developed.

The functionalities and capabilities of a software system are documented in explicit and precise language. The SRS also acts as a blueprint for completing a project with as minimum cost growth as possible. 

CHARACTERISTICS OF SRS:
In order to avoid the above scenario, following characteristics should be kept in mind while writing a SRS document:

  • Accurate
This is the first and foremost requirement. The development team will not reach anywhere if the SRS, which is the basis of the process of software development is inaccurate.

  • Complete
A complete requirements specification must precisely define all the situations that will be encountered and the system's responses to them. It should not include any unnecessary features which might not be required by the system.

  • Consistent
The document should be consistent throughout. It should be understandable by a user who not involved in the project too.

  • Prioritization Of Requirements
The requirements should have a specific order of priority and preference. It should not simply be a wish list.

  • Verifiable
A SRS is verifiable if and only if, every requirement stated in the document is verified as per the needs. A requirement is verifiable if, and only if, there exists some finite cost-effective process with which user can check that the software product meets the requirement.

  • Modifiable
A SRS document should be written in such a manner that it can adapt the changes given by the development team or the client at any given point of time.

  • Unambiguous
A SRS is unambiguous if, and only if, every requirement stated therein has not more than one interpretation.The use of weak phrases or poor sentence structure will lead to misunderstandings.

Conclusion: 
When the client’s requirements are defined completely, only then can one write a SRS document of top notch quality. That coupled with a natural language that incorporates strength and weakness, quality indicators, technical communications, professionals well-trained in requirements gathering, template designs etc are in the best position to create and add value to such critical project documentation.

About Author:
Disha Udani is a consultant in Systems Plus Pvt. Ltd. Within Systems Plus, she actively contributes to the areas of Technology and Information Security. She can be contacted at: disha.udani@spluspl.com

Friday 7 October 2016

Smart Requirement Gathering for Efficient Development

With IT Projects becoming bigger and the need to execute them faster becoming more and more crucial every day, the initial task of Requirement Gathering needs to be optimized to fit this need. The Requirement gathering process is the nucleus of the development activity and thus the results of the requirement gathering process reflects on the all the tasks of the project throughout the course of the project. 

Requirement Gathering based on Project styles?
The ways to approach a requirement gathering process for a Business Analyst differs from Project to Project, for instance in a Waterfall style project the requirement specification document will need to have a consolidated content to enable efficient development throughout the lifecycle of the project, whereas an incremental or an Agile style of project needs the requirements to act as a trigger for Development and further improvisations. So clearly there is no well-defined success formula to collect requirements efficiently, however by identifying the high level need of the project, the development process to be followed these requirement gathering techniques should be defined accordingly.

A few essentials to be followed:
  • Ask the right and wrong questions
  • Team contribution while creating a Requirement Specification
  • Create a supporting cast for the requirements
  • Revisit and update Requirements on a timely basis

Ask the right and wrong questions:
A requirement gathering is not just about gathering a passive set of requirements, it about understanding all the aspects including the need for the improvisations. The brainstorming session with the stakeholders needs to be a session where questions are asked regardless of the complexity of the system. It’s important to have a smooth flowing understanding with the stakeholders and it is important that even if there are questions which come up after a meeting, a requirement gathering should have majority of the questions answered. For questions which are not answered, a possible solution and understanding should be provided by the Business Analyst to clarify the requirements.

Team contribution while creating a Requirement Specification:
It is important to discuss the requirements/questions as a team. It’s a misconception that the Business analyst is the owner of the entire process however it is vital to have a development perspective through discussions/brainstorming sessions with the different members of the project. Right from the testing team to the development team, their concerns/questions on understanding a system can be vital in the questions set asked to the business owners/stakeholders.

Create a supporting cast for the requirements:
The Requirement specification document is the representation of the Requirement gathering process, but it’s a great utility to support the document with some additional tools. Sharing the understanding of the requirements with the business owners using tools like dynamic or static wireframes, dynamic mockups of the system (to allow users to navigate) can be vital in making the requirements concrete. These tools can also be used as a playback before sending out a finalized document for approval of the gathered requirements. It is also vital to keep these primary and secondary set of documents updated throughout the course of the development activity.

Conclusion: 
The Requirement gathering is a crucial initiation phase that sets the tone for the development activity to be followed. Hence understating the implications of the conclusions drawn at the end of this phase is vital. As specified earlier, there is not a defined set of questions or a defined process to carry this process out, but understanding the complexity and then adapting the requirement gathering process accordingly helps to make the process smoother. The success of a requirement gathering can be properly quantified during the development phase when the Requirement Specification document which is the result of the Requirement Gathering process acts as the primary reference for the development as well as testing teams.

About Author:
Chandan Amonkar
 is a consultant in Systems Plus Pvt. Ltd. Within Systems Plus, he actively contributes to the areas of Technology and Information Security. He can be contacted at: chandan.amonkar@spluspl.com

Friday 23 September 2016

AGILE – WATERFALL: Is this the best Hybrid Model?

Waterfall model is one of the most traditional and earliest SDLC approach that is used for software development. It is also referred to as the Linear – Sequential Life Cycle Model. It gained popularity as it is easy to understand and implement. Waterfall model are generally preferred for small projects where there are no uncertain requirements. Waterfall model may be the best when it comes to small projects with defined and fixed requirements, however, Waterfall Model fails when the requirements changes dynamically in the course of the project. Accommodating change in requirements is difficult under Waterfall Model.


To solve this problem with Waterfall Model, Agile approach comes into picture. Agile needs no explanation, the name in itself is self-explanatory. With Agile, handling changes in requirement is a cake walk. In fact, Agile Model is preferred when the project demands inclusion of new requirements at every stage in the project. Although Agile seems to be a solution to most of the software development problems, it is not a ‘one size fits all’ solution. 


Hybrid models are created to tackle the limitations of choosing a methodology for software development. Hybrid models help to bridge the gap and provide optimum solution. It provides best of both worlds and eliminates the difficulties faced in the base models. Hybrid model does not guarantee to be a problem free methodology but with proper planning and careful monitoring of the processes, its benefits can negate its drawbacks.

Agile – Waterfall Hybrid is one approach that seems to have gained a lot of popularity. It gives you the sturdiness of Waterfall model but also provides flexibility related to dynamic requirements. With any Hybrid model, both sides must understand the boundaries of the framework. Waterfall development must be lenient with regards to fixed expectations for the flexibility and freedom of the Agile world. The Agile method should be creative with a little less freedom when working against a fixed deadline project.

Conclusion: 
The Agile-Waterfall Hybrid mode is not only helpful in retaining clarity that Waterfall model provides but also is determined in accepting the strengths and benefits of the Agile methodology. It is difficult to say whether this is the best hybrid model but if the blend between Agile and Waterfall models is appropriate, all the stakeholders involved in the project will have a happy time.

About Author:
Sachin Poojary is a consultant in Systems Plus Pvt. Ltd. Within Systems Plus, he actively contributes to the areas of Technology and Information Security. He can be contacted at: sachin.poojary@spluspl.com