Friday, 16 June 2017

Agile is here to stay for a longer time. . .

Still dealing with Waterfall..?? It’s time to wake up..!!


Agile has been in the market for quite a long time now, proving the fact that the projects under this model are successful and are actually helping the IT firms to manage their projects in a more defined manner.

Agile Project Management, being an iterative approach helps to deal with the various phases in a well- defined manner. In this approach a project can be completed in small sections which can be called as iterations. It’s not only a method but an approach which uses practices bringing about the below changes:
  • Users and developers to come very close to each other
  • Allows a face-to-face communication between people
  • Allows flexibility on various processes such as development, testing etc. 
One key aspect of Agile is to maintain flexibility in the entire Lifecycle of the Project. Agile can also be brought together in various combinations which allows a proper and a smooth communication between the members in the project, which helps to keep a proper track of the project. The most common combination is with Scrum. 

Scrum is a subset of Agile, It provides a lightweight process framework that embraces iterative and incremental practices, helping organizations deliver working software more frequently. Projects progress via a series of iterations called sprints; at the end of each sprint the team produces a potentially deliverable product increment.

The 12 Key Principles of Agile Project Management which helps in moving the project to the success path:

  • Highest Priority needs to be given to the Customers: 
While considering a project, this becomes the most important factor. We need to keep working on this by providing early and continuous delivery.

  • Welcome – Changing requirements even in the late development phases of the cycle: 
This principle is proven the most important and successful factor for considering Agile. This provides flexibility, this results in customer satisfaction and customer competitive advantages.
  • Delivering Working Software Frequently: 
Being an iterative approach and breaking the projects into smaller time frames makes it easier to deliver. This keeps the customer aware about the steps taken by us.

  • Interlink between the business users and developer: 

The business users or the product engineers and the developers are always in communication with each other to achieve success.
  • Build projects around Motivated Individual: 
In agile project management, teams are self-reliant and self-directed. This requires individuals who can actually take the decisions at the right time.
  • Face to Face Communication: 
Agile helps to keep the communication between the project managers and the developers through a face-to-face communication. 
  • Working Software is the primary measure of Success:
In Agile, it is important that the software is in a working condition. It doesn’t matter how many bugs are fixed, the only thing that matters is a proper working software.
  • It provides a sustainable development: 
The sponsors, developers and users should maintain the same pace and all the three of them should be on the same page when it comes to delivering the product.
  • Continuous attention to technical excellence: 
Two of the most important factors that play their part in success is technical expertise and good design. When using agile project management methodology, you do not have to spend time in refining your code. It will get better automatically with every iteration so you do not have to worry about it.
  • Keep it Simple:
When it comes to managing projects through agile methodology, you should keep things simple and reduce the time required to go from comprehension to completion. 
  • Self –organizing team: 
As mentioned above, agile teams are self-directed. They find the way their own ways of dealing with the hurdles.
  • Keeping in mind to become more effective: 
In today’s dynamic agile project environments, it is important that we keep on looking for flaws and improve. More importantly, adapting to a certain situation is crucial for success. 

CONCLUSION:
Enhanced Team Work, Communication, Collaboration and organizational team work together contribute to the project life cycle. Agile helps in keeping track of every aspect in the project. By adhering to the above principles it helps to deliver the project before deadline, improving productivity risk management and project cost control. By doing the basics right, you are increasing your chances to succeed at project management especially when using agile project management methodology.


About Author:
Tresa Kursingal 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: tresa.kursingal@spluspl.com

Complete Requirement Gathering & Knowledge Areas

First Phase of Software Development Life Cycle is ‘Complete Requirement Gathering’. I want to emphasize on COMPLETE word as there is difference between ‘Requirement Gathering’ and ‘Complete Requirement Gathering’. Designing and Development Phases start on the basis on the Requirement, Business Result and Expectation of Stack Holders. Of course Product Owner can change or add the requirements any time in Agile Methodology but before starting of Development phase complete requirement should be captured in Tools. In agile Methodology, we have three types of Stack Holders in Scrum Team.
1) Scrum Master

2) Product Owner 

3) Development Team

Product Owner role can be played by Client Stakeholder or Business Analyst. BAs are responsible for complete requirement gathering from different Knowledge Areas available with them. These Knowledge Areas are mentioned below:-

1. Business Analysis Planning and Monitoring

2. Requirements Elicitation

3. Requirements Management and Communication

4. Enterprise Analysis

5. Requirements Analysis

6. Solution Assessment and Validation

7. Underlying Competencies
Business Analysis Planning and Monitoring:
This Process is leader of all other Knowledge Areas. We need to analyze Stakeholders, Risks, Issues, Future Forecasting as per all available parameters. As we are developing the Application to fulfill the requirement of Stakeholders, We need to find them, involve them and keep them in co-ordination for further Development Processes. Business Competitors, Risks, further changes in Technology also need to be keep in mind for Planning & Monitoring Phase.

Requirements Elicitation: 
Elicitation is most widely used Technique to get the answers WHY, WHEN, PROBLEMS, TO WHOM, WHAT, EXPECTATIONS & others common questions for any projects. We can use Interviewing, Brainstorming, Document Analysis, Interface Analysis, Interviews, Prototyping, Requirements Workshops, Survey/Questionnaire & other Techniques with direct interaction with Business Stakeholders. While Elicitation we can map the expectation and Pain Areas of Stockholders.

Requirements Management and Communication: 
Requirement management focuses on planning and priority of requirement for Development activities. Communication method should in detailed and appropriate way so that technical people understand it in well manner and Business people receive it in as expected format. We can create Product catalog, put all user expectation in the form the user stories. Prioritize the requirement list as per dependencies, Business importance and impact on the solution. Faster delivery of right pair of requirement can benefit the business in effective manner.

Enterprise Analysis: 
Enterprise Analysis is related to Portfolio Management, identifying all opportunities, Framework segmentation and optimize project investment plan as per need and correct structure of organization. Enterprise may have several different verticals and domains to be optimize. We need to identify, gathered, communicate and plan as per the portfolio of organization. It involve the tasks i.e. Solution Scope , Requirements Traceability, Requirements for Re-use, Requirements Package, Communicate Requirements to right manner to right stakeholder.

Requirements Analysis: 
Requirement Analysis is requirement engineering to develop New Product or modify Product. It include observation, validation, impact analysis, working process development and planning of development those requirement into the product. Requirement Analysis involves frequent communication with system users to determine specific feature expectations, resolution of conflict or ambiguity in requirements as demanded by the various users or groups of users, avoidance of feature creep and documentation of all aspects of the project development process from start to finish.

Solution Assessment and Validation: 
Once requirements are handed over to the Technical team the business analyst is expected to assess the design and impact returned to the project team. Business analyst maintains much of the project's intellectual property, rights, and properties - especially about requirements. Solution validation is the activities of explaining the solution's appropriateness to stakeholders, Team and sponsor. This often involves explaining technical concepts to related stakeholder. Often a business analyst will be required to get a document approved by one or many people.

Underlying Competencies: 
The underlying competencies are skills, knowledge and personal characteristics that support the effective performance of business analysis. It includes Analytical Thinking and Problem Solving, Behavioral Characteristics, Business Knowledge, Communication Skills, Interaction Skills and Software Application Usage. 

Conclusion:
To conclude, Complete Requirement Gathering via different Knowledge Areas is first and most crucial process of software development life cycle. Requirement gathering way might be diverge for different industry and companies, but we should utilize all knowledge areas in efficient way through progressive channels to achieve better results for organization.

About Author:
Ankur Jain 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: ankur.jain@spluspl.com

Wednesday, 14 June 2017

Importance of Documentation in Application Support

Application Support software, provides support to IT services which resolves the issues and runs software in a successful manner. In other words we can say that application support software enables people to execute their responsibilities within their relevant role in the business.


Application support Analyst deals with people both on a business and IT level of understanding. They act as the technical point of contact to fix their application and systems issues or incidents. These issues are production (live) issues and needs to be resolved immediately. They need Application Support – the Analysts deliver that need in the form of a SERVICE. 

Support plays an important role in software engineering. It consumes the greatest portion of expenses in the software life cycle. The problem in modifying software systems is understanding the intent of the original program. Although tools that support program comprehension on source code level are of great help, adequate documentation is the most effective way to support these comprehension processes. Software documentation is important for maintenance as it gives clear picture of the goal which is to be achieved by the programmer.

Types of Documentation and its Applications:
  • Support Documentation
This type of documentation is used to establish traceability of the tickets raised and resolved with regard to what has been done, who has done it and when it has been done. Thus, this type of documentation lays the foundation for traceability and history for entire support project.
  • Test Documentation
Test documentation is an artifact which describes test planning, test design, test execution, test results and conclusions drawn from the testing activity. In application support, at times a ticket is raised by the users which requires intense testing. If a proper test scripts and test cases are created for that testing, it will help other users in better understanding of the functionality. Documents like test plans, issue logs, acceptance test documents etc. comes under the category of test documentation
  • System Documentation
This type of Documentation is highly technical in nature. Support Programmers use it as a reference library. Usually it is created by the programmers using tools like sandcastles which describes the functionality of the application in codes. It is used in support & maintenance usually where there are bugs/issues that require code level changes. It contains documents like source code documentation, database documentation and API documentation which are seldom used by the support programmers while resolving the issues.
  • Team Documentation 
This type of documentation provides the clear picture of the objectives which are to be achieved in the support project. Formal communication done between the team member and client comes under this type of documentation. Team Documentation includes documents like plans & schedules, review report, status report, minutes of meeting and checklists. 

Challenges of Documentation:
Good documentation should be simple to read and easy to understand. A document must be contain clear logic at all stages of the document and should work well for reader who do not read complete document. Documentation presents complex ideas. A good documentation must:
  • Describe how a tool or product must operates 
  • Describe how to use the product 
  • Describe possible use and configuration of the product and software
Often these goals and requirements conflict with each other and present substantial challenges in maintaining quality of well-organized document.

Conclusion:
For a support programmer reliable documentation is always must. The existence of well written and organized documents helps to keep the track of all aspects of an application and improves the support service which is provided to the application.


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

What not to do while presenting!

One of the most important skills a corporate executive should have is Presentation, the ability to talk about their research or their product.

We all have heard, read about or been trained on how to give an effective presentation so that the audience is engaged and the session does not go off-track.

Let’s discuss what NOT to do while we present to an audience!

According to a survey by AMA (American Management Association), the most annoying habits of a presenter are listed below:
While all these are to be avoided, the top 3 habits are most annoying to the audience. So these are the ones you should never do when giving a presentation.

To make sure that you do not make these mistakes during presenting, here are some tips:
  • Keep slides to the point so that you can remember what you have put in them and don’t need to read
  • Keeping content crisp makes is easier for the audience to understand better
  • Do NOT overload your slides and try not to have more than 6 bullet points and no more than 6 words per bullet
  • Know your subject well (Be prepared)
  • Prepare your presentation in advance and practice multiple times so that you know what you will be presenting and do not need fillers
  • Do NOT put too many videos in your presentation, instead include activities so that you engage the audience
  • Do NOT keep talking, keep asking questions in between to increase audience participation
  • Do NOT colour your presentation like a rainbow or a colour palette. Keep the theme simple and clear
  • Never say Sorry. If you don’t know an answer, you say the wrong thing or you click the wrong slide or document, do not say Sorry. Just correct it and move on
  • Focus on less content and more examples/experience sharing

THINK. ANALYSE. PRESENT.

About Author:
Sonam Anand 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: sonam.anand@spluspl.com

Friday, 2 June 2017

An Overview of Logistics Process

What is logistics?
“Logistics management is a part of Supply Chain Management that plans, implements, and controls the efficient, effective flow and storage of cargo, services, and related information between the point of origin and the point of destination in order to meet customer's requirements”
- Definition on Wikipedia

In other words, you can say that logistics is the management of flow of cargo from origin to destination whereas, shipping is the physical process of transportation from point of origin to point of destination.

Shipping Modes:
Inland:
Inland shipping can be by train or truck (lorry) via rail or road respectively. Typically, inland shipping is required when the cargo is shipped from consignor to origin port and from destination port to consignee.

Ocean:
Cargo is transported by containerized and bulk shipping via ocean. 

Air:
Cargo can be transported via cargo planes from origin port to destination port. Air shipping is usually required when transporting cargo from one country to other.

LOGISTICS PROCESS FLOW:
An individual or a firm that sends a freight is known as consignor or sometimes shipper. Consignor books a freight with Liner / Freight forwarder / NVOCC. 
Liner can be defined as a carrier who transports cargo abroad ships, while Freight Forwarder are those who acts as an agent on behalf of a shipper and NVOCC are those who consolidates cargo in ocean trades who will buy space from a carrier and sub–sell it to smaller shippers.

Now, the consignor can either transport the cargo via road to the warehouse or ask the freight service to pick up. When the shipment is picked up from consignor’s place (point of origin) and delivered to consignee (point of destination) is called as door to door shipment.

Once all the cargo / package is collected at the origin warehouse from the consignor, the product/ item is packed and sent as a consignment. This consignment is transported to the origin port, it can be seaport / airport. 

Customs clearance is done by Custom house agent CHA at the warehouse or port (both origin and destination). It involves groundwork and submission of documents / records required to facilitate export or imports into the country, representing client during customs inspection, assessment, and payment of duty and proceeds to deliver cargo from customs after clearance along with documents.

Documents involved in customs clearance are:
1. Exports Documentation: Purchase order from Buyer, Packing List, Sales Invoice, Bill of Lading or air way bill, Shipping bill, Certificate of Origin and any other specific documentation as specified by the buyer, or by financial institutions or LC terms or as per importing country regulations.

2. Imports Documentation: Purchase order from Buyer, Packing List, Sales Invoice, Bill of Lading or air way bill, Shipping bill, Certificate of Origin and any other specific documentation as specified by the buyer, or as required by financial institution or the exporting country regulation.

Now, the cargo is shipped via ocean/ Air/ Inland. 
Inland shipping comes into picture when the cargo is shipped from consignor to origin port and from destination port to consignee, or it’s a domestic shipment / to neighboring countries where rail or road facility is cheaper than Ocean / Air.

Domestic shipment is within the country where mode of transport is rail/ road; whereas, in international shipment, internal mode of transport (i.e. within the country) is via rail / road and external mode of transport (i.e. from one country to other) is via air / ocean. 

Once, the cargo has reached at the destination port, the freight service receives it and forwards to the destination warehouse. Now the consignment is disseminated into package and the package is delivered to the consignee. 


REVERSE LOGISTICS:
Reverse logistics is for all operations related to the reuse of products and materials. It is the process of moving cargo from their typical final destination for the purpose of recapturing value, or proper disposal. Reproducing and restoring activities also may be included in the definition of reverse logistics. 
The reverse logistics process typically includes the management and the sale of surplus as well as returned equipment and machines from the hardware leasing business. Normally, logistics deal with course of action that delivers the product to the customer. In the case of reverse logistics, the resource goes at least one step back in the supply chain. For example, goods move from the customer to the manufacturer or to the distributor.

A manufacturer's merchandise usually moves from consignor and it reaches to the distributor or customer / consignee. Any process or management after the trade involves reverse logistics. If the product is substandard/ unreliable/ defective, the customer would return the product. The manufacturer would then have to organize shipping of the defective product, testing of the product, dismantling, repairing, recycling or disposing the product. The product would travel in reverse through the supply chain network in order to retain any value from the defective product. The logistics for such matters is reverse logistics.
The typical process of reverse logistics is shown in the figure below.


Conclusion:
Thus this is a brief description of the end to end process flow of Logistics. It gives a high-level overview of the same.

About Author:
Rajeshwari Pawar  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:  rajeshwari.pawar@spluspl.com

Understanding a Supply Chain

A supply chain is a network between an organization/company and its suppliers to manufacture and distribute a product. The supply chain represents the steps it takes to get the product or service to the customer. Supply chain management has thus helped organizations to drastically reduce the time required to process and deliver products to customers.


Need for Supply Chain Management:
It is a well-known fact that supply chain management is an integral part of most businesses and is essential to company’s success and for customer’s satisfaction. The changing and ever growing business environment has made organization/companies sit up and realize that if they had to survive, they needed to reduce the costs, improve the quality and ensure smooth deliveries on time. This balance can be achieved with an effective supply chain management system.

Supply Chain Process Flow:

A supply chain may or may not always involve the following stages:
  • Suppliers
  • Manufacturers
  • Wholesalers or distributors
  • Retailers; and
  • Customers.
In a supply chain with suppliers, manufacturers, wholesalers, customers in a line, the flow of products and service, information and finances takes place in both the directions.

At the beginning, the external suppliers of the chain supply and transport raw materials and components to the manufacturers. Manufacturers then transform these materials into finished products. These products are then shipped either to manufacturer’s own distribution center or then to wholesaler’s. Next, the production is shipped to the retailers who then sell the product to the customers. Even though the customer is at the end of the chain, it is the customer who drives the entire process flow.

How a Supply Chain Functions:
Consider a customer walking into an Electronics store to buy a gadget. The process that initiates the supply chain starts with the need of the customer to buy an electronic gadget. The customer picks his gadget from a varied collection from the inventory supplied from its finished goods warehouse or by a distributor. 

The items ‘pulled’ out of the warehouse or distribution center trigger the manufacturer to produce more and fill the warehouse with more items. In order to produce more items, the manufacturer has to request more raw materials from their suppliers. These suppliers are called as the first-tier suppliers who also have their own suppliers, called lower-tier suppliers. As the manufacturer requests more raw materials from their suppliers, these first-tier suppliers request more material from the lower-tier suppliers.

Conclusion:
To conclude, management of a supply chain is a crucial process, as an optimized and efficient supply chain will result in lower costs and a faster production cycle.


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

Characteristics of complete and comprehensive requirements

Requirements definitions are the key to success in the design and development of any complex system. Business analyst needs to carefully define requirements which are gathered/elicited from users and stakeholders to ensure the product will meet their needs.


How can we distinguish good software requirements from those that have problems?
Below are characteristics of complete and comprehensive requirement.
Figure 1 Characteristics of complete and comprehensive requirements

Concise:
  • Keeps sentences and paragraphs short and to the point
  • Uses crisp and definitive language
  • Presents only one requirement per statement or paragraph
Verifiable:
  • Physically and functionally testable ( the requirements can be verified through inspection, analysis, demonstration or test)
  • Provides an example, prototype or test case
Consistent:
  • Does not conflict with other requirement
  • Resolves discrepancies between requirements
Modifiable:
  • Can be altered, changed or deleted with implicit reference on how the modification impacts the other requirements
Traceable:
  • Is uniquely numbered
  • Is backward and forward traceable
  • Traceable to business need to be delivered by the system or application
  • Maps to test document in acceptance criteria
Measurable:
  • Establishes concrete criteria for measuring progress toward each goal
  • Answers questions such as: How much? How many? How long?
Grammatically Correct:
  • Void of pronouns or passive voice
  • Written as a complete sentence
  • Clearly mention two component, a subject and a predicate
Use Appropriate Terminology:
  • Does not use and/or without clearly establishing the order of operation
  • Does not include ‘To Be Determined (TBD)’ as a place holder
  • Does not use terminology such as ‘Business as Usual’
  • Uses ‘Will’ as a declaration if purpose
  • Uses ‘Shall’ to describe something mandatory or binding
  • Spells out acronyms at first mention
Clear:
  • States exactly what new or enhanced functionality is desired
  • Leaves no room for misinterpretation; offers only on interpretation by all parties.
  • Does not include jargon or unnecessary adjectives
  • Does not include vague language such as Optimum, Easy, Efficient, Modular, Adequate, Instantaneous, Expandable, Minimum, Fast, Rapid, Acceptable, Flexible, Improved, Reasonable Etc.
Understandable:
  • Does not include technical terms that are not generally understood, unless they are included in glossary
  • Does not include pseudo code
Complete:
  • Contains all necessary information to communicate desired end-state or allows for progression to the next iteration
  • Includes user acceptance criteria
Appropriately Detailed:
  • Records requirement at consistent level of detail, making sure the stated requirement do not overlap with other requirement
Necessary:
  • Only defines requirements that are necessary to the system or application. For example, if the requirements were to be removed or deleted, a deficiency would exists that could not be fulfilled by other requirement
Goal-oriented:
  • Specifies a desired end goal or result
Reviewed:
  • Reviewed before submitted for client final review and sign-off
Compliant with template:
  • Complies with the standard templates and style guides agreed upon by the client 
Conclusion:
Performing a good job with requirements can save your organization a fortune. Requirements specifications are the primary means of communication between users and developers and should be prepared as carefully as when writing out a contract. Good requirements assist the project in managing scope and costs.
Getting requirement right will help in:

· Meeting project deadlines

· Maintaining project scope

· Satisfying customer needs

· Lower project cost.

Note: The above mentioned pointers are by no means exhaustive. Also these are just generic guidelines which can help a BA in writing requirements in more effective way.


About Author:
Ashish Akulkar 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: ashish.akulkar@spluspl.com

Effective Email Communication

Over and over we have been talking about communication. It is important that we should communicate to achieve goals in an organization.
In addition, it is equally important that sender communicate the message effectively to receiver i.e. the message is correctly understood by the receiver.
One of the types of communication is Written communication.
It is considered that written communication forms like memos, emails, letters etc. are time taking as compared to oral communication.

Importance of effective email:
It is important to write the message properly as there is no facial expression, tone, body language involved unlike nonverbal communication. It is quite easier to understand things with nonverbal modes as compared to written communication.
If messages are not conveyed properly, it will obviously not give desired result. In addition, it may cause annoyance which eventually impacts the business.
Specially, in business where frequent and instant email communication is required, polishing email skill is quite a must.

How to write an effective email:
While writing a mail, few aspects need to be taken into consideration.

Clarity: 
The sender should be clear with the purpose of sending the mail.
Why do we need to send the mail and what we expect from the receiver should be answered before starting the email.

Content: 
Content should be concise. Breakdown the content into sentences and small paragraphs.
Write the message in detail, as you can’t expect the reader to guess and read between the lines.
Empathize with reader, ensure they understand your purpose without putting efforts.
It will help them to respond positively with the required data/actions. 
Never keep action items open. Remind your recipients what is expected from them.

Approach:
Have a friendly approach while writing a mail. Respond rather than reacting to an email. 
Maintain a tone of positivity throughout the email.

Standard Layout: 
Follow standard structure for your emails. It helps to write fast.

· Greeting

· Purpose of the email

· Action Required

· Closure

· Signature

Proof reading: 
Make sure careful proofreading is done for every mail you send out. 
Do away with the unnecessary words, sentences etc.

Conclusion: 
Email is one of the important form of written communication.
Taking few aspects like clarity, proper content, proofreading into consideration while writing an email, can help in effective communication achieving the desired goals.

About Author:
Madhumita Mishra 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: madhumita.mishra@spluspl.com