Delivering a Project and Presenting to a Multi-Level Audience

Delivering a project to the client involves many substantial tasks such as client training and presenting the project functionality and details in front of multi-level audience. When I was working on an Oracle based project, the release process generally used to involve signing off the project agreement document, project presentation, client training and post-release support.

Delivering a Project

Software firm and Client organization or individual client will have an agreement document that will state the requirements, budget and schedule of the project. As a part of release process, representatives of both Software Company and client will have to go over the agreement document and sign it off. Any issues related to budget, functionality or schedule are supposed to be addressed when the product gets released. The process of resolving the issues if any will continue throughout the support phase of the project.

Effective Project Presentations. Egeland (2010). Retrieved from Retrieved from http://bit.ly/1v2vBgb

Effective Project Presentations. Egeland (2010). Retrieved from http://bit.ly/1v2vBgb

Delivering the project also entails functionality support and accommodating changing requirements. Functionality support involves the support from software firm with respect to functionality that is not working or is expected to work in a specific way. If functionality is not meeting the Client’s requirements, the software company is held liable for making the necessary changes.

Presenting to a Multi-Level Audience

During my tenure as Oracle Apps Technical Consultant I offered many technical presentations. The audience for these presentations used to be multi-level ranging from project manager to representatives from Sales team. Needless to say, software developers and representatives from testing and QA teams were also used to be part of the audience. In order to make such kind of multi-level audience presentation work, I developed a strategy after giving the entire process a serious thought.

In order to make multi-level audience to understand the project, the presentation should not include only the technical details. Of course the technical aspects should be put forward but one needs to use layman terms. The presentation should cover technical, business and functionality aspects of the software project.

Presenting to Multi-Level Audience. Hodge (2014). Retrieved from http://bit.ly/1vGTWMt

Presenting to Multi-Level Audience. Hodge (2014). Retrieved from http://bit.ly/1vGTWMt

The target audience may include COO, CEOs. It may also include recent college graduates who are more interested in understanding how stuff works. CEOs and COOs might just expect the speaker to present the business directions and client representatives might just expect the functionality side of it.

The Speaker has to maintain the balance in order to make the effective presentation. The speaker needs to explain the functionality of the project not going into unnecessary technical details. At the same time he needs to touch the business benefits the product is going to give. For a layman to understand the project, speaker also needs to summarize is non-technical terms. The functionality can be effectively explained with the help of diagrams, charts.

References

Hodge (2014). Excellent project scope in five easy steps. Retrieved from http://bit.ly/1vGTWMt

Egeland (2010). Effective Project Presentations. Retrieved from http://bit.ly/1v2vBgb

Risks and Challenges after Handing a Project to the Client

I think handing a project to the client is just a beginning phase in life-cycle of that project. I have worked closely with all the SDLC phases of software development. I have observed that once a project is handed over to the client, the first and foremost challenge is client training.  Client needs to understand the usage pattern of the project. The next challenge is deployment. Developer develops the product keeping in mind a certain way of deployment configuration. Client environment might not support all those configurations. When I worked as software developer for more than three years I would say, following are the risks and challenges after handing a project to the client, which I came across.

Project Release Management. Special Purpose Equipment (2013). Retrieved from http://bit.ly/1z7i0IP

Project Release Management. Special Purpose Equipment (2013). Retrieved from http://bit.ly/1z7i0IP

Client Training: May it be an encryption product, may it be a game on android store, clients need training as to how to use the product. Though software best practices suggest on writing elaborate functional and technical specifications and user guides there remains some gray area which clients are unsure of. Client training is one of the most challenging part after handing over the product to the client. Client can fully make use of the product only if client gets to know how the project works thoroughly.

Changing Requirements: After the project is handed over to the client and client starts using it, client might come across some of the requirements those are no longer valid. Some of the requirements those were stated earlier might have been changed for client. In case of these changed requirements, the developer team should support these requirement and try and modify the code accordingly. Technical support team for a project does this job of taking care of changing requirements.

Risks and Challenges. Image created using Microsoft Word

Risks and Challenges. Image created using Microsoft Word

Technical Support: Once the users start using a product they might come across some issues with respect to functionality. If the product is released recently, some companies try to extend the infant support. In the infant support period, the issues need to be taken care by the technical support team of the company. Depending on the priority of the issues, issues get addressed within the time frame ranging from one day to six months. Product developed by one software firm might be supported by another software firm after it is released to the client. This is called product lifetime support wherein, the supporting team takes care of customer issues if any.

Operational Risks: After the project is released to the client, there are many operational risks involved as far as the support team is concerned. Some of these risks are: (software-testing-help, 2013)

  •  Failure to address priority conflicts
  •  Failure to resolve the responsibilities
  •  Insufficient resources
  •  No proper subject training
  •  No resource planning
  •  No communication in team

References

Software-testing-help (2013). Types of Risks in Software Projects. Retrieved from http://www.softwaretestinghelp.com/types-of-risks-in-software-projects/

Special Purpose Equipment (2013). Project Management. Retrieved from http://bit.ly/1z7i0IP

Top Five Technical and Soft Skills

Software industry is growing rapidly so are the programming paradigms and languages. One needs to keep one’s skills up-to-date in order to sustain and grow in this industry. Soft skills are also very important part of career growth. When I was working with Infosys Limited in India, I experienced the importance of soft skills. I learnt that for a project to succeed, all SDLC phases must succeed. Requirement gathering phase needs the developer to have excellent communication skills. Coding and Testing phases need the developer to have outstanding technical skills. Let us first talk about the technical aspect of it.

Technical skills are the most highlighted subject in the resume of a software developer. Knowledge of programming languages, software development life cycle, hardware, operating systems and other computer related terminologies come under technical skills. Since different companies use different programming languages for software development, specializing in specific programming languages is usually the trend (thinkvidya, 2014). Technical skills of a software developer are constantly assessed and tested by their managers and also their co-workers.

I believe that following technical skills are needed for a student to have in order to get a job with good profile.

  1. Java/JavaScript: Java being the platform independent language, comes with vast capabilities. It is a very elastic language and has a wide range of applications. Java is being used in almost every company and Java programmers are needed worldwide. JavaScript is a scripting language and is also being used worldwide.
programming languages

Popular Programming Languages. Lap-Trinh (2014).Retrieved from http://laptrinh123.com

  1. C/C++: System level programming is predominantly completed using C and C++. These two languages are needed worldwide. These languages are basic skills to have for any programmer to grow in software industry.
  2. Hadoop/Map-Reduce: In modern era the data storage and processing requirements are growing exponentially. Hadoop/Map-Reduce skills are required for handling and processing.
  3. Spark-Shark: This is an in-memory big data processing system which can handle specific applications not being handled efficiently via Hadoop/Map-Reduce.
  4. I-OS / Android: With mobile gaming industry flourishing, I-OS/Android development skills are needed for one to have.            Along with technical skills, developers should possess soft skills. Soft skills are really necessary for developers to have in order to complete a software project successfully. I found following soft skills to be extremely important.
Soft Skills

Soft Skills. Image Created using Microsoft Word

  1. Adaptability: Diverse environments demand adaptability. One day you are working in in enterprise software domain and next day you are working on open source. According to me, one needs to have adaptability.
  2. Zeal to keep learning: One should have zeal to learn new things in order to grow in career.
  3. Business Skills: Marketing and business skills are really helpful for career growth.
  4. Initiative: I think taking lead and initiative is what makes you different from other people. (Crain, 2013)

In conclusion, one needs to have outstanding soft skills and relevant technical skills in order to succeed in career and life.

 References

Thinkvidya (2014). Top five skills every software developer must have. Retrieved from http://bit.ly/1yt9Met

Lap-Trinh (2014). Popular Programming Languages. Retrieved from http://laptrinh123.com

Crain (2013). Top 5 soft skills for success. Retrieved from http://bit.ly/1CxkzcY