Delivering a project and presenting it to a multi-level audience

My last post had me talking about the risks and challenges involved in handing off a project to a client. In this post, I am going to discuss about delivering a project(right on time) and presenting it to a wide diapason of multi-level customers, starting from non-technical customers to tech-savvy customers.

Starting off with delivering a project, it is essential to “detail the deliverable”. Like I have described in my previous post, it is essential to describe what is included with the product, while delivering it. Also, it is important to detail the sign-offs and maintenance reports. Delivery of a project should be monitored and controlled, including reviewing the progress and regular assessment of risks, to identify potential problems in a timely manner so that corrective action can be taken, when necessary, to ensure the delivery of the project is on-target. Not just this, but to ensure consistency and see a project through, to completion, it is necessary to take steps to sustain consistency and also ensure that the team doesn’t fall back on deadlines.

After delivering the project right, it is essential that is must be presented right, too. The client might have well loved the design and the product, but he must be explained/trained about the way the product works.


Figure 1: Presenting to tech-savvy clients


The following are to be taken into consideration when presenting a project to a multi-level and a multi-faceted client-audience:

Initial designs must be chalked out with questions in mind. Often, you get to hear questions such as, “Why is this page blank? Why have you used this font-type? Is it supposed to work this way?”, from the clients. A presenter cannot just stare blank-faced at the client, on hearing such questions and if he does, it bubbles up to the initial planning stage. Two important issues need to addressed by the entire team, while presenting the project to the client: first, designs must be functional and not just eye-pleasing, and second, having an answer when a client pops up a question.


Figure 2: Addressing a client’s questions


Next, presenting realistic mockups of the end-product. This is a better way to help the clients understand what the final product will actually be like. Instead of just explaining in words, which might scare a non-technical client, it is best, when things are explained practically, using design mockups.

Thirdly, it is important to describe or elaborate on the design mockups. These explanations need not be long and elaborate, but should convey the essential stuff. As an example for my team’s project, “Christmas in the Park App”, a home screen design can be explained as follows:

Hi ABC, attached is the proposal for the app. Here are some notes:

  • We decided to go with a lighter background to help the user focus on the content.
  • The background images on the home page and the images for each menu item are a atypical for christmas. Hence the big green tree and ornaments.
  • We have used fonts that are both, legible and appealing to the user’s eyes.
  • Any other requirement-change can be discussed over and incorporated.

Presentations are much important. As a matter-of-fact, a team’s presentation is the story of their work. It’s an opportunity to get the client standing on his feet, after the handoff process is done. According to, if you spend hours working on a logo project, you can spend an hour making a quality design mockup to impress the client. If you spend a day creating a website proposal, you can spare 10 minutes to write an explanation of your design decisions.


[1] Egeland, B.,Do They Really Know What They Need?, Posted in Nov 12, 2013.

[2] Ulrich, K.T., Eppinger,S.D., Goyal. A., Product design and development, 3rd Ed., McGraw-Hill, 2011

Handing off a Project to a Client – Risks and Challenges

Whatever project that a team might build, it is important to hand it off to the client[2], end of the day. During the planning phase of the project, it is essential that a maintenance agreement be included in the proposal, that describes the outline of handing off the project to the client. It is essential to decide on what should be handed off and how it should be done, along with the other documentation. Also, it is important to decide on the degree of transitional support that must be given to the clients during/after a handoff.


Figure 1: Handing off


The following are the expected risks and challenges that a team might face when handing off a project to its client:

Differences in expectations: It is the job of the project managers to make sure that the client is well-informed in terms of when and how the project is delivered and at what cost. Also, many project managers do not keep key stakeholders and clients up-to-date as expectations get changed. People on a team and the clients always make decisions on the best and latest information available and if the expectations among them is not a common set, it might lead to other communication issues.

Managing Client Expectations

Figure 2: Managing Client Expectations


No client really has the same requirements from the start to the end. Some clients may come back and ask for features that have not been really discussed, or they might have a complete change of requirements.  It is therefore, essential that the team must set both, time and effort to address such issues.

Another critical challenge is the amount of transitional support that a team might be able to give after handing off a project. Clients might not have enough training to use the product delivered and hence, in-house training might be essential most of the times. But sometimes, though, the degree of support might be defined in maintenance reports already, clients might keep requesting for support. Thus, it is important to make sure that any training or transitional support works within the specified budget.

SupportFigure 3: Maintenance and support


Further, it is important to keep a copy of all the records for the team’s use. According to the author of “Building Websites for Dummies”, sometimes clients might come back to the team for follow-up work, so having everything from the first project on file and readily accessible will make the follow-up work flow much easier[1].


[1] Karlins,D., Sahlin,D., Building Websites All-in-One For Dummies, 3rd Edition.

[2] Ferris, B. How to Hand Off a Project Successfully,

Essential Technical and Soft Skills that are sought after by Potential Employers

Rich Milgram, CEO of Career Network Beyond in an interview to Forbes says that,  “The most sought-after skill-sets for recruiters are becoming less and less about proficiency in specific processes and coding languages”. While creating technologies play an important part, it is also important to bring these innovations to market and use them quite effectively. Thus, a right concoction of technical and soft-skills might land you in a job that you desire to be in[2].

The following are the most sought-after technical skills, that in my perspective, each person should possess:

1. Computers and Electronics: Knowledge about not just software and application programs, but also at the hardware, chip-level is important. If not too much details, at least the basics of circuit and mother boards, their functionality, etc., is desired to be known by any software engineer.

2. Operating Systems: The ability to work on any operating system available in the market is another potential skill that employers are looking for. Rather than being stuck and wallowing in the same operating system for more than a decade, a tech-savvy person is expected to know at least the latest ones in market. Of late, Linux is most sought after; knowing the kernel of Linux and the ability to throw Linux commands to the system is much needed.

3. Analyzing Algorithms: Any computer science major is expected to know algorithms, for the matter of fact that they are supposed to apply these in real-time environments and come up with solutions in projects. For larger datasets, a strong understanding of any algorithm’s time complexity is important.

4. Programming skills: A software developer must not only be able to analyze algorithms, but also must be able to apply these in the work environment and convert algorithms into programming language statements that the computer can understand. Lots of new programming languages are on their prowl, and it is left to the person programming to decide upon and apply a particular programming language, but it is best to know the latest ones. For example, Apple’s new programming language, “Swift” reduces the number lines of code that a normal Objective-C program would have. It is quite a good practice to know and use such programming languages that would reduce the programmer’s burden.

5. Testing and debugging: After writing blocks of code, the programmer must be able to test for various scenarios and must be able to document findings. If bugs arise, the programmer must be able to debug the written code and provide a fix.

Apart from the above, nowadays many applications and solutions are available with an open source license. Contribution to any such open source code is a major career boost.

Though paper-borne degrees and other certificate credentials speak a lot, the development of soft skills plays an important role. These are the skills that are more social and help in fostering a dynamic work environment.


Figure 1: Soft Skills


Soft skills are more generic and relate to communicating effectively, accepting feedback, working collaboratively, managing time efficiently[1], etc. The top skills that I think put me on top are as follows:

1. Communication Skills: It doesn’t just involve speaking any language. Communicating effectively involves active listening, presenting information as well as possessing excellent writing capabilities. When a person possesses good communication skills, he might as well be an effective teacher and might be able to do an effective knowledge transfer to his peers and also to non-technical customers. I think I am an effective communicator. A lot of times, I have been able to teach my juniors and peers, technical concepts. I have also been able to speak effectively about myself in the interviews I have attended so far.

2. Interpersonal Skills: This conforms to the ability to work in teams and manage conflict among team members. This is a valuable asset to any person in a workplace. This is also an important skill to advance ahead in career. Though personal accomplishments may say a lot about you on your resume, it also means a lot to show that you can work well with others. As a person, I can lend myself well into any team and can also get along well with the team members.

3. Problem-solving skills: This relates to the ability to use creativity, reasoning and past experiences to resolve an issue. This is quite important as effectively using it can save valuable time and efforts of many people in an organization. To make a resume stand out amongst a pile, one could state examples of when the team/organization had a difficult situation and how effectively was that person able to handle it. Quite a number of times, I had been able to address my team’s issues while working on assignments and projects at collegial level and had given suggestions to overcome it.

4. Adaptability: This refers to the ability to adapt to changes and manage multiple tasks. The present day is a technology-driven world and the ability to pick up new technologies and adapt to the current business market is very important. One could chalk out his adaptability skills in his resume and hence stand out among others. As for me, I had been able to sudden changes to technology. One semester, I learnt about cloud and virtualization while on the other, I switched off to an entirely different technology and learnt about mobile programming(iOS and Android).

5. Researching skills: Now that googling about anything and everything is possible and it brings information at the tip of your fingers, it’s easy to find answers to common issues. However, employers seek people who are able to thoroughly understand and assess every situation that they are put into and gather more in-depth information. As a student, I must have high researching skills to gain knowledge not only in class, but also outside.

The following image has been taking from my Linkedin profile. It includes a set of skills for which I have been endorsed:

Screen Shot 2014-11-30 at 3.47.56 PMFigure 2: Skill set on my Linkedin Profile



[1] Gerardo Matturro, Soft Skills in Software Engineering: A Study of Its Demand by Software Companies in Uruguay, CHASE 2013, San Francisco, CA, USA

[2] Sahu, M. ; NITTTR Shamla Hills Bhopal, Bhopal, India ; Rizvi, M.A.,Trait and skills for new engineers in the global market scenario, IEEE International Conference on Engineering Education: Innovative Practices and Future Trends (AICERA), 2012.

Social Media and Branding

Social media plays a crucial role in building your brand online; it helps build a virtual world of visibility and help taking a step forward in your career.[3] In my last post, I had described what Linkedin is all about and why should one brand himself to stand out in the job market.

images (1)

Fig: Social Media and Branding


Branding and marketing plays good for not just individuals, but also for companies.[1] For instance, Google, the well known technology guru, has its own branding and marketing strategy. How did a startup become such a huge hit, forms the base of what Google’s branding is all about.

What truly keeps tech giants in the limelight is their innovation and ubiquity.[2] We’ve seen this phenomenon in recent years as lackluster Apple products, compared to those in the past, have weakened popular consumer view of the brand as a whole. This blow thwarted Apple’s title of being the most innovative tech company. The title, of course, went to its rival, Google.

About a year ago, Google released news about trying to build a self-driving vehicle, but later was said to be an April Fool’s Day prank. But does this mean that Google is trying to build unrealistic products? Definitely not. Rather than deal with the expenses of a high-risk and low-profit car manufacturing operation, a proactive approach of becoming the software behind the hardware in a very early-stage industry is more likely. The combination of strong universal branding and hedging their technology to capture share in plentiful industries is likely to yield a bright future for the Google empire.

One of Google’s marketing and branding strategy was to show that people actually enjoyed while using the product. The Google Demo Slam challenges users to come up with the funniest or most creative videos showcasing new Google technologies(users must upload these videos to youtube). Google tries to sell its brand by making users feel that they have a hand in a product’s development.

To me, branding on social media isn’t just about setting up accounts and getting a pretty design across each one. Every single post made,replied, or shared is building your brand[4] (according to my previous post). For example, my friends and me are building a mobile app on Christmas in the Park, which is a non-profit organization which facilitates the celebration of Christmas. We might have to make users or people who come to the park, use this mobile app. It all lies in how good the app we create it. The more better features it has, the more people people are going to use it and in turn, might attract more visitors to the park.

Personally, I am a singer. I also sing for small-time regional films. To shine better, I might have to brand myself; something like putting up my skills in a directory of musicians. I might have to put up my music in social networking sites such as facebook, twitter (open a page, maybe), or have an individual youtube channel. Not just this, I might also have to create and compose albums that might in fact, attract a huge crowd if people like it.


[1] Soumitra Dutta, What is your Personal Social Media Strategy?, Harvard Business Review

[2] How Google Sells its Products,

[3] Social Media and Your Personal Brand,

[4] Hope Jensen Schau, Albert M. Muñiz, Jr., Eric J. Arnould (2009) How Brand Community Practices Create Value, Journal of Marketing: September 2009, Vol. 73, No. 5, pp. 30-51.

Using Linkedin Profiles for Marketing Yourself and Networking with Others


It is said that online professional profiles will replace résumés in the next 10 years. It is because, they are a way of analyzing a person’s growth in his/her career. Recruiters and other professionals might be constantly looking out for someone with a good digital footprint and a profound online presence, as they use the web as the medium for talent search and employment background searches[1]. This is growing as a trend and is as common as a drug test now. Optimizing one’s own websites might rank them favorably in web searches, when their names are searched for.

Why would I want to market myself?

To achieve our goals and make a difference, we are highly dependent on interacting with others. Marketing yourself is simply communicating why someone would want to interact with you. It includes honestly presenting your positive features – the ones that are valuable in that particular relationship – in a way that interests the other person. In this uncertain economy, the job market is more competitive than ever. You may not get the interview if your resume doesn’t market your abilities with precision and impact.

One good way to market yourself is to establish your positives to your Linkedin connections. Though it is automatic (updates) or self-generated (sending emails to notify of profile changes to your connections), this marketing message serves as a means of networking and also makes you stand out from the rest of the crowd.

One good way to effectively market yourself is to put yourself in an employer’s shoes and think about yourself. Employers might want you to answer what you could do for them, rather than swanking about what you have already accomplished. You might have to use your Linkedin profile here, to nail down employers with your skills and abilities that might be a perfect fit for a person that they want to recruit.

The second thing is to look out for every possible parts of your Linkedin profile[2]. You might have to make changes to each so that the profile becomes noticeably outstanding. Than the other parts of your Linkedin profile, the headline, summary, skills and abilities, status and custom URL matters the most.


Fig: Personal Branding


A headline, for example could be used to talk about your skills and abilities in short than just the job title. For example, a good headline could be like this: Digital marketing leader experienced in lead generation”. The summary is an ideal place to talk extensively about your knowledge, skills and abilities (KSA). Updating the custom URL to a more professional one could do wonders in increasing your digital footprint. Also, “status” updates once every week not just reminds people of what you are up to, but keeps you high on your network’s radar. Using the 80-20 rule, eight statuses out of ten must help reinforce your personal brand. This space could be used to tell people about the work you’re doing, the type of employment you’re seeking, or about career-related events, books and articles.


Fig: Sample Linkedin Headline


Why should I even network? Why should I keep knowing people?

You should, yes! You might never know where an opportunity might come from[3]. If you only share your ideas with those you know and don’t branch out to connect with new people, then you will only know about a limited amount of opportunities. This makes you wallow in a never-ending circle of limitations. Starting with school groups and extending out in to alumni associations and individuals might be a perfect start to network.

Ted Rubin describes how networking is important in a Linkedin profile as: “Having a personal profile with a zillion LinkedIn connections means the same thing as having a desk full of business cards. Unless you actually build relationships with the people in your network, you just have a collection of names …. Do you have a strategy for reaching out to build relationships with strangers and acquaintances?” This means that you might not just want to send a “connect-with-me” message to them, but should also get to know them equally. You can arrange for informational interviews over phone calls; this might increase your chances of knowing more about a specific field,company, jobs, etc. You could also ask for recommendations form people whom you have worked with, so that potential employers get to know about your achievements better.


Linkedin is a wonderful platform- a social media for professional networking. If you prepare yourself well, you can easily stay ahead of your competition[4] when it comes to landing on a job of your interest.


Fig: Stand Out!

Source: Source:


[1] Debra Zahay, Linkedin for Learning Marketing Edge,

[2] Tony Peregrin, LinkedIn Profile Makeover: Optimizing Your Professional Online Profile, Journal of the Academy of Nutrition and Dietetics, Volume 112, Issue 1, Pages 23–25, January 2012.

[3] The Sophisticated Marketer’s guide to Linkedin,

[4] Joanne M. Kuzma and Warren Wright, Using social networks as a catalyst for change in global higher education marketing and recruiting, Int. J. Cont. Engineering Education and Life-Long Learning, Vol. 23, No. 1, 2013.

Agile Tasks List and the meaning of “done” in agile

Hi all! After a brief gap, here I come to write about the next part of agile, “The Agile Tasks List”.

Agile Tasks-List:

An agile task list specifies the work that needs to be done in a team. The members of an agile team can either set up tasks that they need to do individually or tasks that the whole team must accomplish[1]. For example, a developer in a team can define a set of tasks for developing/coding; a product owner can set up tasks for holding scrum meetings and end-of-sprint meetings to discuss user stories, performance of the team and as such. The team members can also link tasks to user stories during the initial stages or bugs during development. Specifically, tasks to be done are the requirements that are broken down[2].

Defining tasks in Visual Studio 2012

Fig : Defining Tasks using Visual Studio 2012, by Microsoft


What is “done” in agile? 

After creating a product that can be shipped finally, or at the end of each sprint, the agile team must be able to verify that it meets the benchmarks of “done”. Marking a project as “done” would involve checking the following:

  • Code Complete
  • Unit tests written and executed
  • Integration tested
  • Performance tested
  • Documented (just enough)
  • Approved by Product Owner, etc.

The team cannot truly ship the product until it is marked “done”[4].


Fig: Sample Done list


A product that is marked done is usually presented by the team during the sprint review and demonstrated to the product owner. Apart from completing the product and checking completed parts of the product, it is essential that the product owner accepts it to be marked “done”.

An agile team can write out the tasks that are done, in an agile “done thinking grid” as shown below:

Done thinking grid


Fig: Done Thinking Grid


Good Practice in marking a project “done”:

Many agile teams, during the initial sprint meetings, discuss user stories and the initial definition of done (teams initially discuss what might be the end product and what can potentially be marked as “done”), trying to complete atleast 80-90% of the work and leave the remaining 10-20% to be done towards the end of the release, which might waste the teams’ effort. Thus, it is always good to not make too many commitments and set too many/hard goals for each sprint that the team might not be able to finish[3] (though they might finish them off in the next sprint). Also, it is better to finish off each goal before progressing to the next one rather than cramming to finish up all at once.


Agile is always effective, if each step is carried out after proper planning. The essence of the Agile tasks list is to show what work has been committed to (user stories), how important these are, etc. Completing user stories sequentially (for marking each stage consequently, as done) might be impractical due to time constraints, but the teams must decide how to go about this, during the sprint planning or retrospective.

So there it is! I will meet you in my next post!


Primary References:

Research on Agile Project Management with Scrum Method

[1]  Hu Zhi-gen; Yuan Quan; Zhang Xi, Research on Agile Project Management with Scrum Method, IITA International Conference on Services Science, Management and Engineering, 2009.

Secondary References:

Requirements Analysis: Next Generation

[2] Maiden, N.; Wever, A., Requirements Analysis: Next Generation, Software, IEEE, Volume: 28, Issue: 2

Do We Know Enough about Requirements Prioritization in Agile Projects: Insights from a Case Study

[3] Racheva, Z.; Daneva, M.; Sikkel, K.; Herrmann, A. et al, Do We Know Enough about Requirements Prioritization in Agile Projects: Insights from a Case Study, IEEE International Conference on Requirements Engineering Conference (RE), 2010

Definition of Done: A Reference

[4] Definition of Done: A Reference,

What is an Agile Sprint Retrospective?

Hello! This post is going to have me explain about agile sprint retrospective.

What is Sprint Retrospective?

In any project that follows the agile methodology, a sprint retrospective is a kind of scrum meeting in which the Scrum Master (Team Lead), the Product Owner and the entire team discuss about what went well in the current sprint and what else must be done further to improve, during the next sprint[3]. These sprint retrospective meetings are usually conducted during the end of each sprint. Sometimes, stakeholders can also participate in the agile sprint retrospective meetings. Their inputs would be quite valuable to the team. Also, important data extracted from each sprint retrospective can show the results such as when and where exactly did the team face any obstacles and what else did they do to overcome their roadblocks. These data can help in analyzing the team’s performance effectively.


Fig: Sprint Retrospective, an example


Ever-wondered why all this is needed? It is because it helps the agile teams to continuously improve on the long run. Improving and customizing the entire process according to the needs of the stakeholders and each member of the team increases the entire productivity of the team.


Fig: Typical 2-week Scrum


The retrospective meeting is action oriented and should cover three primary questions:

  • What went well during the sprint?
  • What is likely to be changed?
  • How can that change be implemented?

Thus, to address these questions, everyone in the scrum meeting might want to take notes[2] and discuss each point. For the first sprint, the roadblocks that hinder the team’s performance are considered. From the second sprint onwards, the current sprint and the previous sprint can be compared and the results can be analyzed.

Fig 4 From the review and retrospective meeting.eps


Fig: Sprint Review and Retrospective

Source: A teamwork model for understanding an agile team: A case study of a Scrum project by NB Moe and others

Use of Sprint Retrospective:

The team could also compare the work that is planned ahead, with what is completed till date. Also, the product burndown chart can come in handy here. It tells the development team about the project’s progress. The sprint retrospective also can be used to initiate and monitor communication between the team members.  Furthermore, these retrospective meetings can be used in getting support, development, and code review processes.

When teams first start performing retrospectives, they often find it easier to identify problems than plan what to do about them. Accordingly, the commitments[1] published by the team may look like these:

  • Work in smaller batches
  • Make requirements easier to read
  • Write more unit tests
  • Be more accurate when estimating
  • Plan ahead

When do Retrospectives Fail?

One of the rules of scrum is to spend no more than 45 minutes in a sprint retrospective meeting for every week of the sprint. But on the other hand, badly run retrospective meetings can ruin the entire project plan for the next sprint. Thus, a skilled person such as a scrum master should conduct the sprint retrospectives and document them effectively for future use.

sprint timeframe

Fig: Sprint Retrospective Timeframe



Having meaningful retrospectives can  aid in providing highly cross-functional teams. Teams working at high levels can achieve conspicuous results with the help of sprint retrospectives. Thus, the teams grow more focused, productive, and valuable to the organization. Such excellent teams do not appear out of the blue. They are highly organized and follow strict deadlines according to agile principles. Sprint Retrospectives play a vital role in helping the teams achieve that.


Primary References:

Decision Making in Agile Development: A Focus Group Study of Decisions & Obstacles  

[1] Drury, M.; Conboy, K.; Power, K., Decision Making in Agile Development: A Focus Group Study of Decisions & Obstacles, Agile Conference(AGILE), 2011.

Secondary References:

A teamwork model for understanding an agile team: A case study of a Scrum project

[2] NB Moe; Dingsøyr, T.; Dybå, T., A teamwork model for understanding an agile team: A case study of a Scrum project, Information and Software Technology, 2010 – Elsevier, Volume:52, Issue:5.

Agile for Dummies: Book

[3] Scott .W Ambler, Matthew Holitza, Agile for Dummies, IBM Limited Edition.