Figure 1: Image adapted from presentationzen.com Retried November 24, 2014, from: http://bit.ly/1iIF3p3
According to Cottmeyer (2008), “Great speakers engage their audience, they show empathy, and they understand what their audience needs to take from the experience they had.” When you give a presentation, you are going to describe about your experiences or express an idea to the audience. The audiences come to your presentation because they want to learn more about you, they want to learn about your experience and idea. Therefore, in order to delivery a great presentation, you need to understand your audience and it is very important to every speaker.
How to prepare:
After you know your goal and audience, now you have to prepare and customize your presentation to make your audience interested while you are presenting.
Figure 2: Image adapted from gingerpublicspeaking. Retried November 23, 2014, from: http://bit.ly/1j6Pj4l.
According to Ernst (2005), there are three basic things that can help you convince your audience and missing one of these steps will make your presentation become less success. These three things are “The problem is worthwhile, the problem is hard, and you have to solve it.” Every presentation topic is about a problem. A difficult problem that people has to solve, but you solve the solution and that is the reason you are giving the presentation. You want to present your idea on how to solve the difficult problem. You need to make sure that you provide the motivation of your work, the background of the problem, and the technical details of the solution in your presentation. So you can convince your audience to follow the concept.
Figure 3: Image adapted from pazarlamasyon.com. Retried November 23, 2014, from: http://bit.ly/1FGSWKL.
I need to present to different levels of audiences. How can I prepare for my presentation so everyone can understand and follow my talk?
According to Ernst (2005), the audience is only interested in your talk when he/she understands what you talk about. If you try to fit too much material in your presentation, the audience would get bored. Therefore the audience does not want nonsense ideas that would make your data long and useless. Some materials are meaningless to the audience because those materials do not provide any value to the audience. However, if your presentation is only covering the basic concept, then the audience who has experience about the problem will also get bored. Therefore, you should not make it too hard or too easy on your presentation. According to Ernst (2005), “A good way to determine what you talk about , is to explain your ideas verbally to someone who does not already understand them.” If you can explain well to someone who does not have any experience on the problem and he/she can understand and have some interest in your discussion at the end, then you are moving on the right direction.
In addition, according to Cottmeyer (2008), a great presentation is always delivering value to the audience. One of my greatest college presentations is the presentation for my database course. The topic for this presentation was taking about the Data Visualization. The presentation was divvied into three parts. The first part talked about the history of the Data Visualization. The second part was about the component of the Data Visualization. The last part was the demo. I worked with two members to prepare for the presentation and I recognized that my teammates only went through the topic briefly. They did not look for any evidence and interesting example to show to the class, they only summarized what they found and read. If I followed what they did, we would not get a good grade for this presentation and the most important thing was no one would listen the presentation. In order to capture the audience eyes, instead of demoing the data visualization tool, I showed the audience how to do ETL progress and generate the data visualizations. First of all, I described the dataset that I found and the story behind this dataset. Then I thought the audience how to apply the phpMyadmin to perform the ETL progress. Finally, I showed them how to apply some data visualization tools, like Tableau and IBM Many Eyes, to generate the data visualizations. I knew that I had succeeded to capture my instructor and classmates because people were asking questions during the demo part. For instance, a classmate asked that the source of the dataset and how I found it. The other asked how I configure the phpMyadmin to upload 200mb CSV files. The most important feedback that I heard after the presentation was a person told me that he learned a lot from my demo. I totally agree with Cottmeyer and Ernst, the audience will only interested in the presentation depending on whether the presentation can provide value to the audience or not.
Now I am preparing for the 30 seconds presentation for my CS100W project, and I need to present to different level of audiences. According to Cottmever (2008), when you are preparing the presentation for your software project, you can apply the product roadmap and the prioritized backlog into your presentation and presenting in a high-level. For instance, my project is about developing the Facebook apps for a small business located at downtown San Jose. This is my elevator pitch that I will give out on my presentation day.
Facebook becomes one of the powerful marketing platforms; many businesses have created a Facebook page to promote their businesses. For this reason, my client also wants to create a Facebook page so she can easily promote her business with the low cost. My team has applied HTML5/CSS3 and JavaScript to develop the Facebook apps to make the Facebook page become unique. For example, we delivered two Facebook apps that have a fantastic photo gallery in JavaScript to display the client’s work. We also include a list of services with the affordable prices. After release those two Facebook apps, the number of Facebook fans have improved from 10 to 28 without any promoting. We believe that doing that can attract the customers easily since the users like to look at the pictures and comparing prices before purchasing any service.
I think this is good enough to present to multi-level audience becuase it convers the purpose of the project, the deliverables, and the value that my team has provided to the client. Remember that your presentation always and always deliver value (Cottmever, 2008)
References
Cottmeyer, M. (2008, October 2). Delivering a Great Presentation. Retrieved November 24, 2014, from http://bit.ly/1vyg3pq
Ernst, M. (2005, January 28). Giving a technical presentation (giving a scientific talk). Retrieved November 24, 2014, from http://bit.ly/1rK98Ev
Risk management is important to the success of every project. “Every software development project faces a significant amount of uncertainty that is usually manifested as possible risk materialization. The success of a software development project is directly connected with the involved risk…project risks should successfully mitigated in order to finish a software development project.”(Boban, Požgaj, & Sertić, 2003) Before delivering or handoff the project to your client, you should do the risk management report for your client. Risk management is the progress to identify and mitigate all the true risks that can cause the potential threat or failure to the software development project. In other words, failure to identify, manage, or choose to ignore the risks can lead to the cause of many major problems such as unmet user requirements, cost and schedule overruns, and the production of systems that do not provide business value (Alter & Ginzberg, 1978, as cited in Wallace, Keil, & Rai, 2004)
Four basic steps in risk management (Capers, 1994, as cited in Wallace, Keil, & Rai, 2004)
1.Identification: The risk identification step is very important. The development team should work together to discover all factors that can lead to project failure.
2. Assessment: After identify the risks, the development team should prioritize the risks based on the risk impact.
3. Mitigation: This step considers as an action stage, the development team will have to determine the risk strategies to prevent the consequence of risk materialization.
4. Conclusion: This final step is generating a formal document to describe the risks and the action plan.
Firgure 3: Soft Risk’ model’s diagram(adapted from Kwak & Stoddard (2004)) Retrieved November 18, 2014, from http://bit.ly/1vYYsZT
I have applied the four steps above while creating the daemon in my internship. I needed to create a daemon that integrated all ETL programs developed by other interns. During the integration, I also needed to identify all the risks that might occur while the daemon was running. In order to identify the risks, I needed to pass different sizes of input to the daemon and verified the output at the end. I succeed to identify a risk that made the daemon fail to run. The risk was the daemon would fail if the input size was larger than 2MB and took so long to scan through the whole input. To identify what the risk was, I had to code review for all ETL programs, then I found out the ETL program, that extract the chemical names and conditions, developed in the wrong approach. First of all, the program cost too much memory because it used three to four Map data structures to progress. In addition, the program was written in Java but it did not apply the reusability that was very important to any Java program. I needed to report the risk to the project manager and the team because we needed to do assessment part and determined the risk strategies for this risk, and I needed to write a small report and screenshot to describe the risk. In my opinion, even I succeed to identify the risk but it was too late for the project. First of all, this risk should to be identified by the intern who developed the program because she needed to test it carefully before delivering. Second, that intern already left that means we had to assign this task to another developer. Finally, the development progress of the daemon needed to be delay, and the project was running behind the schedule. Therefore, fail to identify the risk causes a lot of major problems to the project. (Alter & Ginzberg, 1978)
References
Boban, M., Pozgaj, Z., & Seric, H. (2003). Strategies for successful software development risk management. Management, 8(2), 77-91. Retrieved November 18, 2014, from http://bit.ly/1B3CJkF
Kwak, Y. H., & Stoddard, J. (2004). Project risk management: lessons learned from software development environment. Technovation, 24(11), 915-920. Retrieved November 18, 2014, from http://bit.ly/1vYYsZT
Wallace, L., Keil, M., & Rai, A. (2004). How software project risk affects project performance: An investigation of the dimensions of risk and an exploratory model*. Decision Sciences, 35(2), 289-321. Retrieved November 18, 2014, from http://bit.ly/1tCgaLa
According to Turley and Bieman (1995), “The knowledge and skills of software engineers is perhaps the most important factors in determining the success of software development.” Employers are likely to hire a professional who has the most essential skills. After doing some research, I come with the list of top five technical and soft skills that employers seeking now. According to Tucker (2014), five technical skills that software developers should have are:
1. Ability to apply what you learn into the projects (Tucker, 2014)
Learning a new program language is easy, but having the ability to adapt the new knowledge into a project quickly is the different situation. You always need to show your applying ability to the recruiters and hiring managers during the interview because it represents your critical thinking and problem solving skill. In my opinion, before learning the new programming language, you should also research the framework of that language. The reason is when learning the framework; you almost learn how to apply the language into your projects. The existence of the framework is to provide convince and reduce amount of work for development. Most of employees are seeking the candidate who can quickly adapt any new framework into project. For instance, while I was learning JavaScript, I also learned about NodeJS or BackboneJS, so that I could apply JavaScript to generate a web services system in NodeJS or building a single-page web application in BackboneJS.
2.JavaScript (Tucker, 2014)
JavaScript now become the universal language and top programming language.
Figure 1: Image adapted from itworld.com Retried November 09, 2014, from: http://bit.ly/1y3jDFn
You can apply javascript to write mobile applications, server applications, and single page web applications. JavaScript has also been applied into big data analytic platforms, like Pig and Rhino. As you can see, you can use javascript to create anything you can think of. One of the greatest examples I can come up are many big companies, like Facebook, Google, Cisco, SAP, LinkedIn, and Paypal that have been adapted NodeJS for the backend development. NodeJS is an open source server-side platform written in JavaScript. This is the recommended resource that I have been used for learning JavaScript:
JavaScript: The Good Parts
Figure 2: Image adapted from oreilly.com Retried November 09, 2014, from: http://bit.ly/1iIF3p3
LearnCode.academy: this YouTube channel has some great tutorials for JavaScript, also NodeJS.
Figure 3: Image adapted from youtube.com Retried November 09, 2014, from: http://bit.ly/1yALuAi
MongoDB for NodeJS Developers: This is free course provided by MongoDB University. You can build your own blog system in NodeJS and MongoDB after taking this course. https://university.mongodb.com/courses/M101JS/about
3.Agile methodology (Tucker, 2014)
Agile methodology is currently a popular development framework and most of employees now like to apply it for their projects. Employees want students to have experience on agile development, so students know how to track the process of tasks or issues, and how to work with other employers to get things done. You should get familiar with some agile development toolsets, like Jira, and adapt it into your projects. For instance, I needed to learn how use Jira to report and keep tracking the software bugs or verify my tasks in the internship. If you have time, you should get familiar with any agile development toolsets. So you can show the employees that you know how to manage your tasks in agile methodology.
Figure 4: Image adapted from medium.com Retried November 09, 2014, http://bit.ly/1xoWPmO
4.Mobile development skill (Tucker, 2014)
Many employees now are seeking developers who are professional in mobile development. For example, the career fair that I attended this year, there were more than four employees asked me about the mobile development experience and they wanted to hire students who had experience on mobile development.
5.Git (Tucker, 2014)
Git is a version control system (VCS). Many software companies now apply Git for the project development. In my internship, I need to use Git all the time to push my development to the team, and merge my development with another developer. You should learn how to use Git for your project as much as you can, so you can understand how to manage your projects easily.
Figure 5: Image adapted from medium.com Retried November 09, 2014, http://bit.ly/1xoWPmO
For the soft skills, according to Adams (2013), these are top soft skills that employees are seeking now:
1.Clean verbal communication
2.Active listener
3.Ability to work in team also individual
4.Decision making
5.Ability to plan, organize and prioritize work
(Adams, 2013)
In my opinion, these five soft skills are the most important skills that can help you to get hire. First of all, employees only hire people who can communicate well with the team and express their ideas clearly to the team. Also the active listening skill is always the basic soft skill that employees are seeking because the person who has the active listening skill is always able follows the team direction quickly. Communication is very important to team. Lack of communication can lead the team to fail to deliver product on time. In addition, the last three skills are the skills can help you get the promotion, and you will be the most impact person in your team. I am assigning to lead a small team with three members in my internship. My manager wants me to in charge for the database development although I am not the expert in design database structures. She said that she chose me because I always provided solution to other teammates and helped them to make the decision on the coding development. I strongly agree with Adams with these five soft skills that these concepts are the most important skills that every student should have before graduating.
References
Adams, S. (2013, November 10). The 10 Skills Employers Most Want In 20-Something Employees. Retrieved November 9, 2014, from http://onforb.es/1gFUx93
Tucker, D. (2014, February 9). 10 Skills Developers Should Invest In for 2014. Retrieved November 9, 2014, from http://bit.ly/1xoWPmO
Turley, R., & Bieman, J. (1994, January 1). Identifying Essential Competencies of Software Engineers. Retrieved November 9, 2014, from http://bit.ly/1y3gXHP
Social Media became the most useful tool for small business owners today. Small business owners can now use the social media to interact with their customers to promote and provide more quality services.(Jantsch, 2014) Social media is also a tool for small business owners to listen and collection the consumers’ feedback, so they can understand their consumers and provide the correct services to meet the consumers need. Social media is a powerful tool for small business owners; the business owners can run their business smoothly and successfully by applying social media into their business.(Jantsch, 2014)
Figure 1: Image adapted from Jantsch, J. (2014, April 8). Let’s Talk Social Media for Small Business. Retrieved November 30, 2014, from http://bit.ly/1btLcgK
To do that, you need to follow some practices and try to make them into a consistent habit when applying social media into your business. There are many social media tool we can use for our business, and this post I am going to talk about how to increase the value of your Facebook page. The reason that I pick Facebook is because “Facebook is generally deemed more useful for the small business than other social media tools, such as Twitter.”(Jantsch, 2014)
1. Get more likes or followers
“Your Facebook page can’t be successful unless users engage and are happy.”(Loomer, 2014) Try to promote your Facebook page to your customers and ask them give a like to your page. To create a connection with your customers you have to interact with them, so you always need to post something that is attractive to your customers on your Facebook page. The best way to promote your Facebook page is creating a QR code so your customers can easily access the page and like your page by scanning the QR code.
2. Be consistent
Try to post consistently. It is very important to have new post everyday at least one by day. The time to post is also very important. A good time to post is between 8am-7pm.(Bullas, 2012) You would need to create an interaction with your customers by posting because people would like to give comments on your posts. This is a great way to promote your new services to customers.
Figure 2: Image adapted from Bullas, J. (2012, February 29). 10 Powerful Tips to Increase Fan Engagement on Facebook. Retrieved November 30, 2014, from http://bit.ly/19VD8E9Figure 2: Image adapted from Bullas, J. (2012, February 29). 10 Powerful Tips to Increase Fan Engagement on Facebook. Retrieved November 30, 2014, from http://bit.ly/19VD8E9
3. Be relevant
Try to post the content relevant to your Facebook page. People follow your page because they pay attention to your product or service. Therefore, you should post something that is closed to the topic of your Facebook page. (Geter, 2013)
4. Use Photos and less words
Try to use eye-catching image for your post, so you can catch customer’s attention. A post with Photos would get more likes than words post. (Geter, 2013)
Engagement without an image – 10 likes and 10 comments Figure 4: Image adapted from Getner, G. (2013, January 4). A Powerful Two Step System to Increase the Value of Your Facebook Community. Retrieved November 30, 2014, from http://bit.ly/OZ9ZUv
vs.
Engagement with an image – 100 likes and 43 comments Figure 5: Image adapted from Getner, G. (2013, January 4). A Powerful Two Step System to Increase the Value of Your Facebook Community. Retrieved November 30, 2014, from http://bit.ly/OZ9ZUv
5. Create Facebook apps
According to Loomer (2013), the first impression to the users is very important. In order to improve the impression of the Facebook, you can create your own Facebook apps to feature your product or service. For instance, I developed a Facebook app that has a fantastic gallery to display my client’s product. I believe this app has impressed the users since the number of like of my client’s Facebook page improved from 10 to 28 when it released.
6. Offer value
“Most Facebook users say they like brands in order to receive coupons.”(Getner, 2013) Beside improving the engagement on your Facebook page, offers can also increase the sales as well because the discounts would encourage the users purchase your product or service.(Getner, 2013) You can create the Facebook app to display the promotion deals and setup a scheduling posting feature to post it on your timeline frequently, so your site is attracted the old customers, also the new customers.
Figure 6: Image adapted from Facebook/lisa.beautypt Retried November 24, 2014, from: http://on.fb.me/1vGVRloFigure 7: Image adapted from Facebook/lisa.beautypt Retried November 24, 2014, from: http://on.fb.me/1vGVRlo
I strongly agree with Jantsch (2014), As Jantsch says, “When used properly, if social media can be a great tool to help your business reach untapped, potential customers and stay connected to current ones.”(2014) If you have a great marketing strategy and adapt it into the social media, you can successfully promote your business. I have applied for what I learn Loomer(2014) and Geter(2013) into my school project. I helped developed the Facebook apps to improve the engagement of the client’s Facebook page. I have applied javaScript and WOWSlider API to build a app that had a fantastic gallery to display my client’s product. I also developed the promotion app and integrate the Postcron API (a scheduling posting feature) to offer the value to the users.
Peer reviewed primary research:Thackeray, R., Neiger, B. L., Hanson, C. L., & McKenzie, J. F. (2008). Enhancing promotional strategies within social marketing programs: use of Web 2.0 social media. Health promotion practice, 9(4), 338-343. Retrieved November 30, 2014, from http://bit.ly/1zMavqE Peer reviewed secondary research: De Vries, L., Gensler, S., & Leeflang, P. S. (2012). Popularity of brand posts on brand fan pages: an investigation of the effects of social media marketing.Journal of Interactive Marketing, 26(2), 83-91. Retrieved November 30, 2014, from http://bit.ly/1pNN5Ba
Other References:
Bullas, J. (2012, February 29). 10 Powerful Tips to Increase Fan Engagement on Facebook. Retrieved November 30, 2014, from http://bit.ly/19VD8E9
Jantsch, J. (2014, April 8). Let’s Talk Social Media for Small Business. Retrieved November 30, 2014, from http://bit.ly/1btLcgK
LOOMER, J. (2014, May 30). Why Facebook Page Likes Still Matter. Retrieved November 30, 2014, from http://bit.ly/1lagyRe
LOOMER, J. (2013, April 3). 5 Reasons You Should STILL Create Facebook Tabs for Your Page. Retrieved November 30, 2014, from http://bit.ly/1i2sbaj
Getner, G. (2013, January 4). A Powerful Two Step System to Increase the Value of Your Facebook Community. Retrieved November 30, 2014, from http://bit.ly/OZ9ZUv
Introduction
Why is LinkedIn so special comparing with other social networking websites out there, such as Facebook and Twitter? Well, LinkedIn is a professional social network platform where you can build relationships with the people in your field. You can also use LinkedIn for job seeking. Today, recruiters like to use LinkedIn seeking the candidates who can match their requirements. (Zappe, 2013)
Zappe, J. (2013, September 5). LinkedIn Dominates Social Media Sourcing and Recruiting. Retrieved November 5, 2014, from http://bit.ly/1mr19dS
How to use LinkedIn market your own brand? 1. Build a multimedia profile (Knarr, 2014)
Most profiles on LinkedIn are just plain text. If you are a job seeker, you should do something that can impress the recruiters, so the chance of getting a phone call interview is higher. You should use the relevant pictures to your career, projects, or business. For instance, you can use the picture showing your team while working on the project, also the outcome of the project, so the recruiters can have the visualization about you achieving the results on your project.
Knarr, C. (2014, April 5). 8 Secrets to Building a Stunning LinkedIn Profile. Retrieved November 5, 2014, from http://huff.to/OxvwV1
2. Write a outstanding summary (Knarr, 2014)
Summary is the most important part in the LinkedIn profile. This is your chance to be creative and describe who you are and what you are passionate about, and most important thing is showing your accomplishments and awards you have achieved in your career. Try to apply the KSAs – Knowledge/Skills/Abilities for your summary to inspire people looking on your profile.
FOOTE, A. (2013, February 7). 3 Stunningly Good LinkedIn Profile SUMMARIES. Retrieved November 5, 2014, from http://bit.ly/Ju7ZkH
And this is how I applied the KSA into my LinkedIn summary:
3. Getting more important connections (Knarr, 2014)
Try to connect with people in your field. Before accepting connection, you should review other profile first. You only want to connect with the people who can provide value to your career.
4. Give recommendations and endorsements (Knarr, 2014)
By you giving someone something its a highly chance that they are going to give something back to you. It’s a chance to help your fellow professionals, expand your network. It also shows you have worked with these people and when endorsing with others you acted as an authority.
After you have done all things above, then let your network speak for you. This is the beauty of LinkedIn.
Figure 1: Image adapted from linkedln.com Retried October 19, 2014, from: http://linkd.in/11IumvK
Extra tips for improving your network (linkedin.com, 2014)
1. Find business contact that would help you succeed
Try to use LinkedIn search to find and connect with past and present colleagues and other contacts that can speak to your skills and experience.
2. Keep in touch
As a student, I would like to connect and keep in touch with the recruiters who I met in the job fair on LinkedIn. I thoroughly believe that it is very important to build relationship with the recruiters. Whenever they have the open position, you will get the notices first and the chance to get interview higher than others. Summary
LinkedIn is a great social media tool for professionals, job seeker, and employee. Try to spend more time to build an outstanding and professional profile, so you can use LinkedIn to promote your brand.
Peer reviewed primary research: Peterson, R. M., & Dover, H. F. (2014). Building Student Networks with LinkedIn: The Potential for Connections, Internships, and Jobs. Marketing Education Review, 24(1), 15–20. Retrieved October 19, 2014, Peer reviewed secondary research: Skeels, M. M., & Grudin, J. (2009, May). When social networks cross boundaries: a case study of workplace use of facebook and linkedin. InProceedings of the ACM 2009 international conference on Supporting group work (pp. 95-104). ACM. Retrieved October 19, 2014,
Other References:
Zappe, J. (2013, September 5). LinkedIn Dominates Social Media Sourcing and Recruiting. Retrieved November 5, 2014, from http://bit.ly/1mr19dS
Knarr, C. (2014, April 5). 8 Secrets to Building a Stunning LinkedIn Profile. Retrieved November 5, 2014, from http://huff.to/OxvwV1
What is agile tasks list and why is it important to the projects?
Agile tasks list is a to-do list that represents the tasks needed to accomplish the user stores. People apply the agile tasks list to ensure quality of stores and manage the project easily (West,Grant, & D’silva, 2010). Most students do not like to create the agile tasks list for their class projects. They think the agile tasks list is not necessary for the projects, so they do not want to spend time to think about how to create agile task list for their projects. However, after attended the Cisco Innovation Jam, I realized that creating the agile tasks list is very important. It is a very important practice and habit that students should have before graduation. In software development, most of requirements you get from your clients are just abstract ideas, and your job is to turn those abstract ideas into reality. For instance, my current project is developing the Facebook apps for small business owner. However, my clients did not have any ideas about what kind of apps that she wanted for her Facebook page. In this situation, I applied the agile tasks list with the Cisco Idea Generation Platform (Cisco Innovation Jam, 2014) to design the requirements for the project. First of all, I identify the audiences. The audiences for this Facebook page are the customers who need the services on nails and hair, then I came up with the idea to create Facebook apps to display my client’s nail art design, also the services and fees. People nowadays like to look the reviews and customer’s rating before purchasing any services. Therefore, The app can show my client work including the affordable price, it will help my client to promote her business and attract people when looking on her Facebook page. Now I have the user story, the next task is breaking down the user stores into many sub tasks, and this is how I did to my project.
How can I make my tasks to meet the “Done” definition in Agile and avoid the rework process?
In my experience, some of my classmates may misunderstand the “Done” definition. They thought that the user store would meet the “Done” if it has been fully implemented. However, that is not true. In order to meet the “Done” definition in Agile, we need to pass the all the test, especially the acceptance test from the product owner and client. (Grant, Gerush, & D’silva, 2012)
Figure : Image adapted from blogs.seapine.com Retried November 24, 2014, from: http://bit.ly/1y8pUTP
After failing several times to meet the “Done” definition in the project, my advice is to spend time communicating with your client and product owner. During the communication try to gather as many information as you can for the requirements. Try to come with specific question and listen carefully on the client’s answer. The other advice is trying to come with the prototype and show the client to collect feedbacks, so you can make sure that you are moving on the right direction or not.
Peer reviewed primary research: West, D., Grant, T., Gerush, M., & D’silva, D. (2010). Agile development: Mainstream adoption has changed agility. Forrester Research, 2, 41. Retrieved October 12, 2014, from http://bit.ly/11IwuUq Peer reviewed secondary research: Vlaanderen, K., Jansen, S., Brinkkemper, S., & Jaspers, E. (2011). The agile requirements refinery: Applying SCRUM principles to software product management. Information and Software Technology, 53(1), 58-70.Retrieved October 12, 2014, from http://bit.ly/1v3sGnr
Want to improve team performance? Want to create a dynamic team with interactions and emotions? Want to make your good team become a great team? Then Sprint Retrospectives are what you looking for. “When done well, Sprint Retrospectives are often the most beneficial ceremony a team practices.”(Starr,2013)
Kniberg, H. (2006). Scrum and XP from the Trenches. How we do Scrum.
What is Sprint Retrospective?
The Sprint Retrospective is an opportunity for the team to reflect on what happened and to evaluate the work process in the sprint, so the team can identify strategies to improve on the next sprint. This also allows the team and product owner to improve their collaboration, and their work practice to get better at creating a great product.
Purpose of doing Sprint Retrospective meeting
The meeting takes place right at the end of the sprint after the sprint review meeting.
To review the process of last Sprint included team environment, process, and tools.
Identify the major items that went well and find out the potential improvements.
Generate a action list for implementing improvements.
(Starr,2013)
Who organizes the meeting, How?
Like a normal meeting, we need a person who manages and leads the meeting, and Scrum Master is playing this important role. However, Scrum Master is a facilitator not a manager. His/her job is helping the Product Owner maximize productivity, also helping the team to organize the Sprint Retrospective meeting into an evolutionary, so Scrum Master should lead the meeting, not control. “As a retrospective facilitator, our primary responsibility is the process. Process means managing activities, managing group dynamics and managing time.”(Derby & Diana, 2007)
Manage Activities
The activities include in the Sprint Retrospective: prioritizing, brainstorming, building a timeline, and creating working agreements. These activities can improve the team interaction and make the team working together. “As a retrospective leader(Scrum Master) needs to introduce the activity, monitors the team environment during the activity, and debriefs the active when it is done.”(Derby & Diana, 2007)
Manage Group Dynamics
The retrospective leader has to make sure that everyone has the chance to talk about their perspective during meeting. The leader also needs to create opportunities for the quieter team members by making opening. For instance, “We haven’t heard John yet, what would you add to this problem?” “The retrospective leader need to remain neutral in discussions, even the team has strong opinions.”(Derby & Diana, 2007)
Manage Time
The Sprint Retrospective meeting is normally taking 1-3 hours depending on how much discussion is anticipated, so the retrospective leader need to keep track of time to organize the meeting time effective, and spending enough time on the important activity, also make sure that everyone has enough time to speak out their opinions to the project.
Before the Sprint Retrospective meeting is started, Scrum Master should remind the attendees that this meeting is for evaluation and improvement, and should ask them consider on three things: What went well? What did not work? What needs improvement? Scrum Master makes sure that the team comes up with the action items at the end of meeting, such as what to start doing, what to stop doing, and what to continue doing. Sometime good Scrum Master is not only helping the team, but also making the good team to be a great team.
How I apply this strategy into my project?
After gathering the feedback for the product owner, I would like to write a small general report and send to every members let them take a look first before coming to the meeting. First of all, they can have more time to think about what they did wrong, how they can improve for the next sprint. Then during the meeting, I would briefly talk about the feedbacks and the expectation from the product owner and clients. I would like to go through to specific tasks and explain how it different from client’s expectation, and ask for solution to improve.
In conclusion, the Sprint Retrospectives meetings provide the visibility regarding achievement of sprint goals. At the end of Sprint Retrospective, the team can improve work processes and avoid recurrence for the project.
Peer reviewed primary research:Drummond, B., & Unson, J. F. (2008, August). Yahoo! Distributed Agile: Notes from the world over. In Agile, 2008. AGILE’08. Conference (pp. 315-321). IEEE.
Peer reviewed secondary research: McHugh, O., Conboy, K., & Lang, M. (2012). Agile practices: The impact on trust in software project teams. Software, IEEE, 29(3), 71-76.
Other References: James, M. (2010). Scrum Reference Card. Retrieved September 28, 2014, from http://scrumreferencecard.com/scrum-reference-card/ Starr, D. (2012). Effective Sprint Retrospectives. Retrieved September 28, 2014, from http://msdn.microsoft.com/en-us/library/jj620912.aspx Derby, E., & Diana, D. (2006). Chapter 3:Leading Retrospectives. In Agile retrospectives: Making good teams great. Raleigh, NC: Pragmatic Bookshelf. Kniberg, H. (2006). Scrum and XP from the Trenches. How we do Scrum.
Software development is a development process involved a lot human interaction, and team performance has a significant impact on the development.(Moe, Dingsøyr, & Dybå, 2010) In this post, we are going to discuss about the teamwork in Scrum, one of the popular methods in agile development. Scrum is a software development process for small team. We have three specific roles in Scrum, the team, product owner, and scrum master.
Scrum Team is a cross-functional team and consists 5-9 people. There are no set project roles within the team. Team is self-organizing and self-managing, and maintains the Sprint Backlog. Normally, team defines tasks and assignments by itself not product owner or scrum master. Team also conducts the Sprint review.
Product Owner is responsible for product success. He/she needs to define all product features, and responsible for prioritizing product features. Product owner also maintains the Product Backlog, and insures team working on the highest valued features.
Scrum Master will hold daily 15 minutes team meeting. He/she needs to solve the obstacles for the team, and shields the team from external interference. He/ she also need to maintain the Sprint Burn-down Chart and conduct Sprint Retrospectives at the of end every Sprint.
In a Scrum team, the members are jointly responsible for the end product and must development shared mental models by negotiation-shared understandings about the teamwork and the task.(Moe, Dingsøyr, & Dybå, 2010) Everyone on the project works together to complete the set of work they have been assigned within a sprint. One person fails to commit his/her work that means whole team fail. Everyone in the team should share the knowledge or experience, and fully support other team member. Instead of blaming the failure, the team should spend more time on solving problem so the team can reach the final goal on time.
After applied Agile methodology into my project, I began to recognize the benefit of Agile development to the team, also my client. For instance, I always reminds my teammate tried to implement their assigned tasks without waiting others. We always need to have something ready to show to client when they ask for. That mean if someone fails to commit their works, we still have something to turn in to the client.
Product Backlog
Now we understand what Agile team is, but how the Agile team handles the customers’ requirements, and creates the implement plan for the project. The answer is the Product Backlog. The Product Backlog is a list of all desired product features (user stories), it can contain bugs and non-functional items. A scrum team works with its product owner to create the product backlog and prioritize the product backlog items. The product backlog is allowed to grow and changed later on. From the prioritization of the backlog, the team would decide which product feature need to focus on first and put them into the sprint backlog. The team needs to release a small test module to the client, so the client can comment on the product and provide changes to improve the product if needed.
The importance of product backlog is helping the team to determine the work for the sprint, and provides the basis for an executable plan for the project. From the Product Backlog, the team can easily break down each backlog item into tasks and create a to-do list or implement plan to each product feature.
My experiences for creating product backlog after two sprints of work is that we should not spend too much time at the beginning stage while drafting the product backlog. First of all, product backlog would like to change by the client and the work we have submitted during each sprint. For instance, one of user stories my team needed to implement was the “Welcome page”, but the product owner did not like it because it was unnecessary for the project. So we have to delete that user store and design the other one. The other thing is trying to communicate with your client oftenly. You can always gather the client’s expectation, how they like for their products. I always come with new user stories after talking with the clients, my user stories in the product backlog increase from five to ten after every client’s meeting.
“The Product Backlog is the heart of Scrum. This is where it all start.”(Kniberg, 2007) In order to create a good Product Backlog, there are some requirements we needed to meet. First of all, we need to put the most important features at the top of the Product Backlog and prioritize them, so the team can focus on and build them first.
A good Product Backlog should ensure the system that the team build can meet the basic requirements that customers ask for. In addition, a good Product Backlog needs to include all the works and timeframes to complete the product. Finally, a good Product Backlog should provide flexibility for customers to change requirements base on their needs, and allow to grow later on.(Lacey, 2012)
As we can see, having a good Agile Team can help the product go smooth and meet all customers’ requirements, and create a good working environment, and having a good Product Backlog can help the team create the development goal and direction to complete the product.
Peer reviewed primary research: Beedle, M., Devos, M., Sharon, Y., Schwaber, K. & Sutherland, J. (2000). SCRUM: An extension pattern language for hyperproductive software development.
Peer reviewed secondary research: Moe, N. B., Dingsøyr, T. & Dybå, T. (2010). A teamwork model for understanding an agile team: A case study of a Scrum project.. Information & Software Technology, 52, 480-491.
What is Agile? Agile is software development methodology using incremental and iterative approach. In Agile development, specification, design, implementation, and testing are interleaved which mean the product will be rapidly develop and release to clients for testing and collecting feedbacks from clients.(Chow & Cao, 2008) By using Agile development, the development team can be able to respond quickly to changing requirement without excessive rework and reduce overheads in software process, such as limiting documentation. Agile development can help developers deeply understand their clients so they can create the product satisfy customer needs.
Agile process vs. Traditional process To gain knowledge about Agile development, we need to compare the Agile development process with the traditional development process.Traditional development process is a non-iterative process like Waterfall model.
Since the workflow of the traditional process is moving from stage to stage, the project teams always need to spend extra time to come with the development plan and stick with it until the project is done.Customers cannot change their requirements during the development process.
In traditional model, the development team focuses more on analysis and design rather than coding and testing.This is one of major drawbacks of the traditional development.For example, if the development team finds out a lot of bugs during testing stage, they might not able fix all of them because of time issue.This can cause many critical problems and costly on maintenance stage.
Agile process can be described as freedom of software design.The development teams work on small modules at a time, and every module need to be fully testing before showing to the customers.
In agile process like Scrum, the development team focuses more on coding and testing rather than analysis and design.Customer involvement is one of biggest advantages of Agile because it allows designer changing the requirement during the development process and create opportunities for improvement.Because of the flexibility of Agile, the development team can create the product that satisfies their customers’ need.
Agile or Waterfall? In order to choosing correct methodology for our projects, there are some factors that need to be consider at.
Project size:
Agile is best fit for small and medium size project.
For large project, we should consider Waterfall as primary choice.
Team size:
Agile is best fit for small and tightly integrated team.
Waterfall is good for large team size.
Requirements notification:
If the designer has been defined the requirements clearly and not likely to be change throughout the development process, then we should choose Waterfall methodology.
Agile tends to be a better option for small or medium project where changes are likely to be made during design process.
(Kniberg,2006)
What is User Stories? User stores are short, simple description of a feature.In Agile methodology, the development team likes to represent the requirements or feature as user stores.Normally, project manager is the one who collects the user stories from client and work with the team to create the Product Backlog – a collection of user stories.
User Stories Examples We typically follow a simple template:
For instance, as a scrum master, I want to able see the list of developers including name, phone number and email, so that I can easily contact them. User Stories can help the team to define what tasks needed to do and how much time needed in order to accomplish that user requirement.
Peer reviewed primary research:da Silva, T. S., Silveira, M. S. & Maurer, F. (2013).Ten Lessons Learned from Integrating Interaction Design and Agile Development..AGILE (p./pp.42-49), : IEEE Computer Society.ISBN: 978-0-7695-5076-3 Peer reviewed secondary research: Chow, T., & Cao, D. B. (2008).A survey study of critical success factors in agile software projects. Journal of Systems and Software, 81(6), 961-971.