Monday, November 23, 2015

Agile Documentation, Conveying the Right Information

When working on a project using agile development, remembering to correctly document the necessary project information is extremely important to the project’s development(Essential honestly) and should be easy to write up if incremental work is being done by the Scrum team. The team should be concentrated on working on the software as a main priority, and after finishing any important development or research concentrate on documenting the necessary information. Most the scrum team’s main effort should be put into the development of the software as the agile manifesto states,

“Working software over comprehensive documentation”

When working in an agile environment documents are worked on in a team as a collaborative effort. The documents are not written by one person beforehand or after the project is done, but continuously through the project's development by the whole team. This ensures that all of the scrum team can look over what the documents say when contributing to ensure the documentation is correct, and get informed about any information if anyone might have missed out.

The Documentation is extremely important to the product owner and scrum leader, for they will most likely be the ones reading it in the end, if at all. The information in documentation can change as the software itself changes, “If documentation is adaptive and if the documentation supports people collaboration rather than replacing it, then documentation can be well aligned with agile development principles,” (Rubin & Rubin, 2011).  When writing agile documentation be sure to use agile vocabulary so that it is easier to describe what agile development techniques are being used.

Documentation should be short and exact with what is written by putting only what is necessary from the research and development of the project, complete dates/times for what is being done or has been done, and any helpful images. The agile documentation necessary in development to help whoever is reading said documentation to be able to understand what the project is about, who the project is developed for, what the software is being developed to do, what the scrum team has been doing so far in the development, and what they plan to do on further development if not finished.When working on any agile project, especially bigger and more adverse softwares it is important to remember with, “the complexity of modern software systems and the cryptic nature of current programming languages, good design documentation is not only useful but vital” (Selic 2009).

Monday, November 2, 2015

Agile Communication Strategies, Finding What Works Best

Communication is key to having a working scrum team when using agile methodology. Teams that are able to communicate often and efficiently, are able to accomplish more for their project, collect feedback, and better develop their software. A case study on communication in agile development stated, "Effective communication and feedback are crucial in agile development. Extreme programming embraces both communication and feedback as interdependent process values which are essential for projects to achieve successful results."(Mikko, Pekka, & Pekka, 2006) Feedback is essential to ensure that a scrum team is developing their project to be able to fit the needs of the product owner and that the product owner knows the team's perspective on the project development. To collect feedback a scrum team must be in always be in communication with all other members of the team, the scrum master, the product owner, and any others needed in the development process from end users to developers outside of the team.
(http://www.romanpichler.com/, 2015)
Analysis of modes of communication in agile practices found, "active communication in communication hierarchy plays a vital role in improving design and quality of software. It reduces the project development time and cost of change of software."(Bhalerao and Ingle, 2011) Active communication and feedback will help the scrum team to move forward faster and more efficiently with the project by keeping them updated what needs to be done, what is done right, and what needs to be worked on.

First hand I have seen how necessary communication is for developing software using agile strategies. In the Project that I am currently working on, The Santa Clara Valley Wine Association Application(SCVWAA), I'm working with a scrum team with five other team members and as a team we must communicate daily using several types of communication. To ensure we are effectively communicating and giving each other feedback, my scrum team stays in contact by meeting in person multiple times a week, emailing, texting using mobile devices, group chats, and video conferencing with WebEx software. By using several forms of communication, whenever a member of the scrum team needs to talk with the team, they can communicate anywhere they are on multiple platforms. As team manager of the SCVWAA project, it is essential that I keep in contact with the product owner to understand what he wants out of the project, keep the the product owner informed on what has been finished for the project by the my team, what is still being worked on, and what will not work or is not working. Without proper communication my team would not be able to effectively work on our project or develop what is wanted from our product owner.

To ensure the best communication, a scrum team must find the best way to communicate within the team, as well as with the scrum leader and product owner. Having multiple ways to communicate helps to ensure that team members can reach others with ease, but using too many modes of communication can end up being confusing and hard to keep track of. Try to keep your communication modes to what is necessary, try to use platforms like google, that allow for multiple modes of communication from one company. Overall to have a successful project, keep up with constant communication within scrum team, with the product owner, and scrum master.
(google.com, 2015)