Delivering a project and presenting to a multi-level audience

presentationmaterialsresized
Figure 1

How to deliver your project and present to an audience is an important step for a successful project. I will never forget the 2007 iPhone presentation which Steve Jobs introduced his new product in a simple and easy way. A successful presentation can make a complex product be easy to accept by an audience. There are some issues that you need to be aware when you want to deliver a project and present to your audience.

Delivering a project on time, within budget, and with functionality required are the basic requirements, yet the most important thing is that you must let your audiences know what and how your team did in the project. There are some risks when you deliver your project into the market. A good project is the key to succeed, but at first you need to let your audience know how good your project is. Different audience may have different desire for the project, and you can make different plan such presentation or training for each type of audiences. For example, when we delivered our project to our client, we gave a workshop to the client about how to use and manage the Facebook apps. She felt very helpful and gave a good feedback. However, when facing a multi-level audience, it will be more challenge. Each level audience has different knowledge about the project. Thus, you have to make your presentation be easy enough and accepted by different audience.

Something is helpful when you prepare for your presentation.

  • The content of your presentation is really important. It should be something that the audience is interested. Some difficult technical issues should not be in the presentation since they are only been care by technical staffs. Thus, figure out the special feature and important property of your project, and show how they will get the benefits from the project.
  • Keep the presentation simple and easy to accept by all audiences. The principle “Keep it simple, Stupid!” should be always used to prepare a presentation. Avoid some difficult technical terms; use less text and more visual. According to the research of professor Albert Mehrabian, only 7 percent of text is accepted by an audience in a presentation, while visual is 55 percent (as cited in Presentation Magazine, 2009). Some visual aids such as PowerPoint, slides, and video are very helpful to improve your presentation. According the research of University of Alabama School of Medicine in 2005, students can remember more information and in longer time if verbal and visual are used together. We can see the data below (Figure 2).

retention1
Figure 2

 

  • Show your passion about the project. When you sell something to an audience, it must be the best in your mind. Thus, expressing your passion with the project is the great way to arouse yours audience’s feelings. If you are not excited about your project, nobody else will be.
  • Practice, practice, and practice. Nobody will be born in presenter. If you want to sell your project successfully, you have to practice more. As Carmine Gallo (2012) points out, “Hours and hours of practice made Jobs look polished, casual, and effortless.”

When you delivery your project and present to audiences, you need to plan your presentation carefully. Just as Steve Jobs, a successful presentation is an effective way to introduce your project to audiences, and it can also improve your brand in their minds.

References

Presentation Magazine. (2009). Presentation Skills. Retrieved from http://www.presentationmagazine.com/presentation-skills-1-use-visual-aids-7320.htm.

University of Alabama School of Medicine. (2005). Successfully Using Visual Aids

in Your Presentation. Retrieved from http://www.uab.edu/uasomume/fd2/visuals/page2.htm.

Gallo, C. (2012). 11 Presentation Lessons You Can Still Learn From Steve Jobs. Retrieved from http://www.forbes.com/sites/carminegallo/2012/10/04/11-presentation-lessons-you-can-still-learn-from-steve-jobs/2/.

Figure 1. Retrieved from http://www.alphagraphics.com/centers/nottingham-uk007/Presentation_Materials.

 

 

Handing off a project to a client; what are the risks and challenges?

handoff Figure 1

After hard working in a project for a long time, it may be exciting when you hand off the project to your client. However, before delivering your project, you need to be careful of the risks and challenges.

  • Hand off your project on time

Handing over your project before the deadline is really important. Every project has clear deadline which indicates when you must hand off the project. The client can refuse the project if it is late. For this reason, if you cannot finish the project on time, talk with your client, show your progresses, and get an agreement with another deadline.

  • Deliver your project within the budget

Another reason that a client may turn your project down is that the project is out of the budget. Thus, while you are doing the project, you need to be aware of the expenses of the project. If it exceeds the budget, you need to show reasons and get another agreement with your client. Otherwise, it is your responsibility for the exceeded payment.

  • A working and functionality required software

You should hand off a working and functionality required software to your client since no client will accept a project which does not fulfill the requirements. Thus, before you hand off your project, you need to have a checklist with each requirement, test and record them one by one. You need to keep the document and show it to your client.
localization_project_handoff_checklist
Figure 2

  • With the satisfaction of your client

Although you do all above, your client is not satisfied with your project somehow. It may be the wrong style or taste, but the major problem is because of your lack of communication with your client. Steve Berczuk (2013) suggests using Agile methods to avoid it since they “are one way to use iteration and frequent feedback to manage risk.” In Agile, you need to release you project in each Sprint, and your client need to give feedback about the project and sign an agreement, so he/she will not be “surprised” on the day when you hand off the project.

  • Training

Training the client is an important step before you hand off your project. According to the experience of Steve Berczuk (2013), “much of the future success of your project depends upon the ends users knowing how to use the process or the system you have been working on.” Thus, a complete document about how to use the software and client training plan are necessary for a successful project.

  • Keep a copy of your project

When handing over the project to your client, it is a good idea to burn your final project into two DVDs, and you and your client keep each copy. Sometime the client will give feedback and ask you to follow up the project. You also need to keep all the information about the project because it is the evidence of your work.

  • Sign an agreement

You and your client need to sign an agreement while you are handing off the project. Since there is not perfect software, sometimes your client will ask you to response to the bug or maintain the system. You can list them in the agreement and ask for a maintaining fee. In addition, if there are some accounts or passwords related to the project, you need to provide and ask your client to change. Once signing the document, it means your client accepts what you have done.

Being aware of the risks and challenges, you will hand off your project successfully.

 

References

Berczuk S. (2013). How Using Agile Can Help with Risk Management. Retrieved from www.agileconnection.com. http://www.agileconnection.com/article/how-using-agile-can-help-risk-management.

Ben Ferris (2012). How to Hand Off a Project Successfully. http://www.cobaltpm.com. Retrieved from http://cobaltpm.com/project-hand-off/.

Figure 1. Retrieved from http://www.2wtech.com/wp-content/uploads/2013/06/handoff.png.

Figure 2. Retrieved from http://www.net-translators.com/sites/default/files/images/blog/localization_project_handoff_checklist.jpg.

 

What technical skills and soft skills are employers seeking?

got-skills-300x225

Figure 1

If an applicant has the skills that the employer really desire, he or she will have a great possibility to beat other applicants and become a winner. Thus, as computer science students, it is very important to know what technical skills and soft skills that employers are seeking in the computer science field.

Some technical skills below are essential and seeking by most employers in IT field.

  • Programming skill

Programming is essential for computer science students. You at least have to master two types of common computer languages such as C/C++, Java. They are very common in the requirements of IT companies. These two computer languages are essential for computer science students. If you know these two languages, it is easy for you to learn other languages such as Python, PHP, etc. Some students may worry that the requirement for programming is decreasing in today’s market. According to the Bureau of Labor Statistics (2014), although the occupations for computer programmers grow less than average, the occupations for software developers grow much fast than other computer related jobs. As we know, when a programmer have enough experience, he or she can get a promotion to become a software developer. In addition, these two computer languages are the basic languages for computer science career. Thus, if you are good coding, you have more changes to get a higher position in this career.
bls1
Figure 2

  • Mobile development skill

Mobile application development grows very fast in several years. Smart phones such as iPhone and Android are very common in the United States. Dave Mielach (2013) points out, “At the end of 2013, 28 percent of all Web traffic was from mobile devices.”  Therefore, mobile development is a high requirement in many IT companies. To become a mobile developer, you need to understand Objective-C language or Android language. They are based on C language or Java language.

  • Database and SQL

Database is widely used in big business to manage their data such customer or sale information. It is very important for data analysis and a basic technical skill for big data. In addition, as a language to query, manipulate, and manage a database, SQL is in high demand. There are about 100,000 SQL jobs indexed by Indeed.com in the United States, far beyond C/C++ and Java.

  • WEB development skill

The occupations for WEB developers have grown very fast for many years. It still has a high requirement since the wide use of the Internet in the world. According to the Bureau of Labor Statistics (2014), the occupations for WEB developers grow “20 percent from 2012 to 2022.” A WEB developer should have knowledge in HTML, CSS, JavaScript, JQuery, and API of social network such as Google and Facebook.
bls2
Figure 3

  • Agile methodology

Nowadays, more and more companies use Agile methodology to manage and develop their projects. Because most projects are worked in teams, it is not enough if you only have programming skill. Having experiences in Agile, you will engage in teamwork more easily.

Besides of technical skill, you need to have some soft skills to get the better of other applicants. Soft skills are transferable, so they are also required in other career not only computer science field. Some essential soft skills are listed below.

  • Communication skills

Both oral and written communication skills are important for applicants. Almost all the employers require their employees having good communication skills. Otherwise, you will be kicked out in the interview. Attending writing workshops and oral presentations are great ways to improve your communication skills.

  • Team work

Working in an individual is not enough for today’s business since more and more projects require the employees who have abilities to work in teams. Attending more group project is an effective way to enhance the skill.

  • Organization or management skill

Many employers are willing to seek their applicants who have organization or management skill.

The people with the skill have more power to manage themselves and can work effectively. In addition, it is the important skill for promotion.

  • Responsibility and initiative

Most employers require their employees to have the skills of responsibility and initiative. Responsibility and initiative are tied together and used to measure your ability and attitude to the job. An employee who has the skills is more active and responsible in work.

  • Problem Solving

Every employee wants to hire an applicant who can solve problems. The skill of problem solving is depending on how many technical skills you understand and master. Participating in more projects is helpful to develop the ability of problem solving.

 

If you can get these technical skills and soft skills before your graduation, you will be the top candidate that employers are seeking.

 

 

References

Mielach D. (2013). The Best Tech Skills to List on Your Resume in 2014. http://www.businessnewsdaily.com. Retrieved from http://www.businessnewsdaily.com/4932-tech-skills-resume.html.

Bureau of Labor Statistics. (2014). U.S. Department of Labor, Occupational Outlook Handbook, 2014-15 Edition, Software Developers. Retrieved from http://www.bls.gov/ooh/computer-and-information-technology/software-developers.htm.

Figure 1. Retrieved from http://preparingyourfamily.com/wp-content/uploads/2012/02/got-skills-300×225.png.

Figure 2. Retrieved from http://www.bls.gov/ooh/computer-and-information-technology/software-developers.htm.

Figure 3. Retrieved from http://www.bls.gov/ooh/computer-and-information-technology/web-developers.htm#tab-6.

 

 

Social Media and Branding

reasons_social-media_branding_quote

Figure 1.

When talking about branding, many people will relate it to some big companies, such as Apple, Coca-Cola, etc. In fact, all of us have our brands which can represent your status and capabilities in our society.  According to Dr. Nadir Ali Kolachi (2013), “Branding in Human Resources is the concept of promoting one’s capabilities in the Organization.” He divides individual branding into three parts: competency branding, professional branding, and career management branding. While some companies use a lot of money to promote their brand by advertising, what can college students do for their branding? We can use social media to improve our status in the society. As we know, there are hundreds of social media which are very cheap and even free on the Internet.  Social media are the effective tools for individual branding, but we really need to be careful the information that we put on them.

What is the relationship between media and individual branding?  

I believe that most college students use social media in their daily life, but how many of them think about the relationship between social media and their branding. Some student may argue that they only use social media for conversation. Yes, they are good tools to connect people. However, when you release something online, the information will easily spread to the whole community. It will affect your branding in public. Depending on what kind of information that you post, it can be good or bad for you.

socialmedia_slide

Figure 2.

How to use social media for branding?

Looking around us, there are many social networks which are free for using, like LinkedIn, Facebook, YouTude, etc.  Are they helpful for us to develop a strong personal brand? Soumitra  Dutta (2010) gives his answer that Tom Dickson becomes an “internet rock star” and a famous CEO from an unknown guy by posting series videos on YouTube. It is the power of social media. There are several steps to build our brand by social media. First of all, create a professional profile on LinkedIn. This is the first step to create your brand. It tells people about your name, experiences, and capabilities. Next, select a medium platform which is suitable to expose your talents. For example, if you are a cook, you can create a blog or post a video on YouTude to show people how cook. For computer science students, you can show your solution of some computer problems on YouTude or show your work on your personal web site. Furthermore, you should be active in each professional blog and give you idea about the topic. These are very helpful to improve your competency branding, which is most important for your individual branding. Finally, connect more professionals by using social media and only post positive information.  If you use the social media in the right way, you can improve your brand quickly. Just as Soumitra  Dutta (2010) says, social media are low-cost platforms which allow you communicate with the public and learn from them to build up your brands.

The bad effects of social media

While we use social media for branding, they also have side effects. I really remember the news that a teacher was fired after she posted some drinking pictures on Facebook. Believe or not, it is the negative image of a teacher. Regardless of what you post on social networks, they can spread around the world in seconds. Thus, before you want to post something online, you need to understand which is good or bad for you.

Social media are double-edged swords. If we use them appropriately, we can develop our strong individual brands. On the other hand, they can also harm our images if we use them in the wrong way. Therefore, when you post something on social media, you need to think carefully.


References

Dutta, S. (2010). What’s your personal social media strategy?. Harvard Business Review, 88(11), 127-130.

Kolachi, N. n. (2013). Competitive Branding & Development Model: A Qualitative Case Study of UAE approach to Human Capital. Bulletin Of Education & Research, 35(1), 95-105.

Figure 1. http://whitbeckweb.com/wp-content/uploads/2014/09/reasons_social-media_branding_quote.jpg. Accessed on 11/01/2014.

Figure 2. http://itvibes.com/site/wp-content/uploads/2010/10/slider/socialmedia_slide.gif. Accessed on 11/01/2014.

LinkedIn profiles, how to use them, how to market yourself, how to network

linkedin-recommendation

Figure 1.

Nowadays, employers hire their new employees is very different than twenty years ago.  Employers need to read the resumes from the letters or emails of their applicants in that time, while they read their profiles on social networks right now. In many social networks on the Internet, LinkedIn is the largest professional network in the world. According the statistics of LinkedIn (2014), its network is over 200 countries and has more than 332 million members. Its target audiences are students and professionals, and about 80 percent of companies find their employees in LinkedIn. Therefore, having a professional profile in LinkedIn is the first step for college students to achieve their professional goat.

What are LinkedIn profiles and how to use them?

LinkedIn profiles are not only a photo and a resume. They are the rich information about your career, education, interests, and skills, and the information are searched by companies over the world.  In order to attract your employers, you have to design your LinkedIn profile carefully. First of all, a professional headshot and headline is the first impression of your potential bosses. A smile and positive current headshot will give a professional image to employers, and the headline should be short, attracted and can describe your ability but not limit to one position. In addition, your experience and skills is the most important part that the viewers desire. Thus, you should describe your education, internship, jobs, or other skills and experience in detail. Finally, a simple, no good grammar error, and interesting summary is very useful to let the readers know more about you and convince them to hire you. By the way, don’t forget to put your contact information in your summary. The figure below shows how to create your LinkedIn profile in easy ways.

Web

Figure 2.

How to use LinkedIn to market yourself and build your network?

As students, learning how to sell themselves in the current market is really important. A survey points out that “92 percent of recruiters reported using social media to recruit candidates,” and “73% have successfully hired a candidate” in 2012 (Paula Brand and Shahrzad Arasteh, 2013). Thus, the first step is to create a professional profile in LinkedIn, the largest professional social media.  Secondly, you need to update your status and information in LinkedIn frequency. When you got new experiences or skills, don’t hesitate to put them online. Also, when your supervisors appreciate you, it’s better to ask them for a letter of recommendation and put it on LinkedIn. Finally, there is a customer URL in LinkedIn. It is very useful to show your sample works in your web site or blog.

LinkedIn is also an important tool for us to expand our network. According to Debbie Bardon (2004), “A network has to be made up of people and links between people.” Thus, although you have a sharp profile, it does not work if you have a bad network. There are several steps to improve your network by using LinkedIn.

  • Send invitations to all your relatives and friends. The first and important step to tell people that you are on LinkedIn is to invite your relatives and friends through LinkedIn because they are always the solid supporter in your network.
  • Follow the employer pages that you are interested. Find out what kind of companies that you like. Search and follow them in LinkedIn.  Most companies will release their job posting on LinkedIn.
  • Join the groups which are related to your career as many as you can. The more groups you interact, the more opportunity you will get.
  • Connect the people who work in the companies that interest you. While you connect more employees in your desired company, you will know more information and culture of the company, and you will have more chances to get a job.

LinkedIn is an online social medium which designs for professionals to connect each other. In recent years, more and more college students create their profiles on LinkedIn and use them to enhance their status. Thus, it is significant for college students to learn how to create a professional profile and how to network on LinkedIn.


 

References

Bardon, D. (2004). Online Social Networking for Business: An Interview with Konstantin Guericke, Marketing VP, LinkedIn. Online, 28(6), 25-28.

Brand, P. p., & Arasteh, S. s. (2013). USING LINKEDIN and TWITTER for JOB SEARCH and CAREER MANAGEMENT. Career Planning & Adult Development Journal, 29(3), 33-44.

LinkedIn. (2014). About LinkedIn: Company Information.Linkedin.com. http://press.linkedin.com/about. Accessed on 10/15/2014.

Figure 1.  http://gallinghouse.com/wp-content/uploads/2014/07/linkedin-recommendation.jpg.   Accessed on 10/15/2014.

Figure 2. http://theundercoverrecruiter.com/wp-content/uploads/2013/03/linkedin-profile-tips1.jpg. Accessed on 10/15/2014.

Agile tasks lists, what does “done” mean in Agile?

taskBoard

Figure 1

Agile task lists are broken down by the project backlog. They are the tasks which the Agile team members need to do and finish in their daily work in each sprint. The task lists are developed from the user stories that are defined by team members. Of course, user stories are not task lists. A user story may be done in one or many task lists, and a task list can be used for one or two user stories.  As a result, if you want to figure out the task lists in a clear way, your team has to finish the user stories and know a lot of information about the business. Otherwise, your team will be in trouble. For example, in our team “2014 Fall Beauty PT Facebook Page”, the customer does not give us any requirements, and all the members know a little about the business. That gives us a big challenge to bring out the user stories, so right now we don’t have clear task lists. Thus, it is really important to engage the customer for an Agile team. In the Agile model, all task lists are divided into sprint task lists, and each sprint task list will be done in the short time (a week or two weeks) by the team. The Agile team uses Burndown charts to measure the progress of the project. The Burndown chart is a visual chart which “representations of the progress within a sprint and within the project as a whole” (Ambler, S. W., & Holitza, M. ,2012, P. 25).  By the chart, the team members can see their progress clearly, and it is very useful for them to estimate when the project can be done.

burn_down

Figure 2

In general, “done” means finished or completed. Thus, “done” may have different definition for members because of their roles in the team.  a developer may think that “done” is finished the codes, and a tester may think that a tested product is “done.” However, “done” is not so simple in Agile. According to Ken Schwaber and David Starr (2012), “Agility requires delivering done, ready-to-use Increments of working software each Sprint.” It means that only finishing the code and testing the program are not the “done” in Agile. It should be no bugs, pass the user acceptance testing, and ready use by customers. For example, when we think that we have done the QR Code for our Facebook page, our customer does not accept it, and we need to design a new QR Code. From this lesson, we learn something about “done” in Agile. Therefore, it is really important for team members to understand that “done” is not the simple meaning of finish. It requests all the team members to develop complete, acceptable, and working software for customers. As a result, a successful Agile team must know what “done” means in Agile.


References

Ambler, S. W., & Holitza, M. (2012). Agile For Dummies®, IBM Limited Edition. Hoboken: John Wiley & Sons, Inc.

Schwaber, K., & Starr, D. (2012). “Done and Undone,”  http://msdn.microsoft.com/en-us/library/hh765983(v=vs.110).aspx. Accessed on 10/11/2014

Figure 1. https://confluence.atlassian.com/.

Figure 2. http://www.e-technologymanagement.com/tm/images/article_image/burn_down.jpg.

What is an Agile Sprint Retrospective?

Written by Zhen, Cequan

In the Agile Scrum, the product backlog is divided into many sprints to finish by a team. So, it is important to evaluate the work of the team after each sprint. How can we do that? In Agile, there is a good way for a team to find out these problems. It is called the Agile sprint retrospective. A sprint retrospective is the one of the most important meetings in Agile, since it is an evaluation for team members to inspect how they did in the past sprint and how they will improve in the next sprint.

The sprint retrospective is important for the Agile team. Normally, the Scrum master will hold the meeting after each sprint review meeting. It also is called “the iteration retrospective” since all the team members need to do it again and again after each sprint. Maybe some developers question, “Is it worth for us waste a lot of time to do?”  The answer is “Yes.” The meeting is helpful for the team to find out why their work slows down, what the wrong is, and how to improve it. If you have a wrong direction, you will never touch your goal. Of course, only having the right direction is not enough, and you have to find out a good way. According to Scott W. Ambler and Matthew Holitza (2012), “The goal of the iteration retrospective is to continuously improve your processes … and increases velocity — work output” (p. 24). As we can see, the team is being improved by the retrospective meeting. It is very useful for teamwork and accelerates development processes.

happy-retro

Note: This picture is from http://www.jaftalks.com/

Agile team members can get many benefits from the retrospective meeting. However, the first of all, they have to prepare something in order to have a good meeting. For example, the lists of what they did well or badly in the last sprint, a new idea, or a good experience are essential. Each member needs to summary his or her work and get feedback from other members in the meeting. It is a chance to learn something. And then, they need to prepare for the next sprint. At the same time, the customers have an opportunity to know more about where the project is going on and to show what they like or unlike. According a case study of Chris Mann and Frank Maurer (2005), most developers like the meeting since they can get feedback and figure out their problems, and the customers also like it because they can understand the product beforehand (P. 77-78). Therefore, successful sprint retrospectives can make your team great.

There is not a shortcut which brings us to success. Sometimes, we have to fall down, rest, search our way, and go on. The sprint retrospective is a tool like that: Figuring out problems when the team is in the rest, looking for an effective way, and continuing to work for the goal.

 

References

Ambler, S. W., & Holitza, M. (2012). Agile For Dummies®, IBM Limited Edition. Hoboken: John Wiley & Sons, Inc.

Mann, C., & Maurer, F. (2005, July). A Case Study on the Impact of Scrum on Overtime and Customer Satisfaction. In Agile (pp. 70-79).Retrived from Http://ase.cpsc.ucalgary.ca/uploads/Publications/MannMaurerAU2005.pdf

The Agile Team and Its Backlog

Written by Cequan Zhen

Teamwork is an essential and important in today’s software development.  In the same way, it is very important in Agile. However, The Agile team has some different roles and effects than the team in the traditional development model. In here, I am going to talk about what the Agile team and its backlog are for and why they are important in Agile.

The Agile team has some differences than the traditional team. First of all, it is a cross-functional team. In traditional teams, they are divided by different function, such as for requirement, design, development, or testing. However, the teams in Agile are very different. Each team must have full functions. It includes not only designer, developer, and specialist but also domain expert and customer. A team with different role is important for Agile. It allows each team to work independently.  A cross-functional team is very helpful to find out the questions and solve them in a quick way. Furthermore, The Agile team must have frequent conversations. Each Agile team should have a short meeting before working. The members simply describe what they have done and what they are going to do today and ask questions. It is very helpful to improve their daily activities. As Martin Fowler (2014) points out, “Agile teams cannot exist with occasional communication. They need continuous access to business expertise.” Finally, most Agile teams are in small scale. According to Agile Alliance (2013), an Agile team is supposed to have “at least three people” and generally not more than ten. It is easy to understand that a small team is good for communication, and of course it will improve working activities. As M. A. Awad (2005) states in his report, Agile model works well in small teams, but it is more difficult in large teams (P. 20).  For example, Scrum is the most common team in Agile. Generally, it has only 5 to 9 members, but their works are effective.

scrum

Note: The picture is from www.unf.edu.

There are two types of backlog in Agile: product backlog and sprint backlog. According to Scott W. Ambler and Matthew Holitza (2012), product backlog is all the requirements about the product, and sprint backlog is the requirements related to each sprint (P. 25). In simple words, backlog is all the tasks that we need to do in the Agile team. It is formed by a lot of user stories about the product. In Agile, the whole product backlog is divided into many small sprint backlogs, and each sprint backlog will be done in a short time. Obviously, a small backlog can be done easily, and it also ensures the whole project can be finished on time.

Team and backlog are important in Agile. The backlog is all the works about the project. It is created and finished by the team. A cross-functional and interactive team can make a useful backlog and burn it down in a simple and effective way.

References

Agile Alliance (2013). “Guide to Agile Practices,” http://guide.agilealliance.org/guide/team.html. Accessed on 09/18/2004

Ambler, S. W., & Holitza, M. (2012). Agile For Dummies®, IBM Limited Edition. Hoboken: John Wiley & Sons, Inc.

Fowler, M., “The New Methodology,” http://www.martinfowler.com/articles/newMethodology.html. Accessed on 09/18/2004

Awad, M. A. (2005). “A Comparison between Agile and Traditional Software Development Methodologies,” www.unf.edu.  Accessed on 09/18/2004

What is Agile and what are user stories?

Written by Zhen, Cequan

As a student studying in computer science, it is really important and significant to find out and master an effective software development model. A few weeks ago, I was introduced a new programming approach by my CS100W professor.  It is Agile, which is more focus on teamwork, management, and working software.

What is Agile?

In the early year of 2001, some developers worked together and released a new idea of software development: Manifesto for Agile Software Development (for more information, visit http://agilemanifesto.org/ ). In one word, Agile is a new idea of software development which makes our work simpler and more effective.  Agile software development is different than the other development models that I have learned in my classes, such as code-and-fix and waterfall developments. It is more focus on teamwork. The team members include developers, testers, and customers. All team members interact together to find out a solution. As we can see, customers are involved in the team all the time.  It is really different and important in Agile than others. It improves the programming quality and makes the product fulfill the customer’s requirements. According to Scott W. Ambler and Matthew Holitza (2012), for a typical software system, there are only 20 percent of capacities which are often used by customers (Page 5). As a result, the practice of customers will reduce a lot of development time to do the unused work and insure the project can be released on time. Furthermore, the style of management in Agile forces the team to work effectively. According to Brad Gilmer (2013), “Agile is a great way to get stalled projects moving” since it allows the managers to check the development process all the time (page 18). For these reasons, Agile is an effective software development model, and it works for any size of teamwork, especially good for the medium team.

Agile-Development-Diagram

Note: This figure is from http://www.stagrp.com

 

What are user stories?

Replaced requirements with user stories is another important part of Agile.  Scott W. Ambler and Matthew Holitza (2012) define that “a user story is a simple description of a product requirement in terms of what that requirement must accomplish for whom” (page 25). In simple words, a user story is to describe what a system user wants to do in his/her typical day. For example, in a title: search for patients, you can write “as a doctor, I want to search my patients by their first name and last name” as your user story. User stories are not the same as requirements. They are much simple since they don’t need to handle some structure that requirements need.  Furthermore, a user story involves much useful information and leads the developers to the point directly, so the process of development should be more effective. Everyone in the team can create his or her user story, and the team will decide whether it works and the development time together. Some developers may be worried that a lot of user stories would make documentation become less effective. Yes, Agile is more focus on working software than its documentation. However, it does not say that Agile has no documentation. In fact, a study pointed out that Agile could have a very effective documentation by an “active documentation” since all the information comes from the interactions of developers and customers (Eran Rubin & Hillel Rubin, 2011).

In conclusion, Agile is a new and effective software development model for developers to improve their efficiency in the team. The user stories are used to simplify their works and reduce a lot of time.  For customers, a working and on time software is the most important tool to seize the market share.

 

References

Ambler, S. W., & Holitza, M. (2012). Agile For Dummies®, IBM Limited Edition. Hoboken: John Wiley & Sons, Inc.

GILMER, B. (2013). Software development. Broadcast Engineering (World Edition), 55(9), 18-21.

Rubin, E., & Rubin, H. (2011). Supporting agile software development through active documentation. Requirements Engineering, 16(2), 117-132. doi:10.1007/s00766-010-0113-9.