Agile terminology (3)

avril 20, 2018

Agile terminology (3)

Value chain

Collaboration, responding to change, working software and individuals and interactions are on the higher side of the customer value chain. Processes and tools, comprehensive documentation, contract negotiation and following a plan are on the lower side of the customer value chain.
The highest priority is to satisfy the customer through early and continuous delivery of valuable software.
Assessing and incorporating community and stakeholder values

Values

The following are community values of the PMI agile community of practice community charter:

Vision,

Servant Leadership,

Trust,

Collaboration,

Honesty,

Learning,

Courage,

Openness,

Adaptability,

Leading Change,

Transparency

[PMI Agile Community of Practice Community Charter. Project Management Institute.]
Community values

Brainstorming techniques

A successful brainstorming event should strive to consider the following points – Host the meeting in a neutral and comfortable environment – Have an engaging and experienced facilitator lead the event – Send participants an overview, with goals, schedule, and what ground rules, beforehand – Have a multi-disciplinary/diverse team to get a broader perspective – Delay any criticism that may stifle idea generation. [Agile Retrospectives: Making Good Teams Great. Esther Derby, Diana Larsen, Ken Schwaber.]
Brainstorming is a group activity held for the purpose of generating new ideas. The idea is that through collaboration, a team can generate more potentially valuable ideas than an individual, while at the same time forming a positive bonding experience for the team. [Agile Retrospectives: Making Good Teams Great. Esther Derby, Diana Larsen, Ken Schwaber.]

0

Agile project management

avril 20, 2018

Agile project management

Key characteristics of agile project management include: continuous improvement, cross-functional teams, short iterations, an incremental approach, and business priorities and customer value. [The Art of Agile Development. James Shore.]

Agile triangle

The agile triangle includes value, quality, and constraints as its parameters. [Agile Project Management: Creating Innovative Products – 2nd Edition. Jim Highsmith.]

Agile iron triangle

The agile iron triangle includes cost, scope, and schedule as its parameters. Constraints is a parameter included in the agile triangle, not the agile iron triangle. [Agile Project Management: Creating Innovative Products – 2nd Edition. Jim Highsmith.]

Agile project management model

Jim Highsmith’s agile project management model consists of the following five phases: Envisioning, speculating, exploring, adapting, and closing. [Agile Project Management: Creating Innovative Products – 2nd Edition. Jim Highsmith.]

We apply empirical process control where underlying mechanisms are not well defined.
Agile project management differs fundamentally from traditional project management in the following ways: High-level project scope, multiple iterations of product development, teams are self-organizing, extensive customer involvement. [Manifesto for Agile Software Development. Agile Alliance.]
Key characteristics of agile project management include: continuous improvement, cross-functional teams, short iterations, an incremental approach, and business priorities and customer value. [The Art of Agile Development. James Shore.]
Jim Highsmith’s agile project management model consists of the following sequential five phases: Envisioning, speculating, exploring, adapting, and closing. [Agile Project Management: Creating Innovative Products – 2nd Edition. Jim Highsmith.]

5 phases :

Envisioning
The focus in the envisioning phase is on project vision, scope (and requirements), project schedule, and assembling a project team. [Agile Project Management: Creating Innovative Products – 2nd Edition. Jim Highsmith.]

Speculating
The focus in the speculation phase is on estimating iteration and release plans, defining feature breakdown, developing a rough project plan, considering project risk and risk mitigation strategies, and estimating project costs. [Agile Project Management: Creating Innovative Products – 2nd Edition. Jim Highsmith.]

 

Exploring
When conducting the exploring phase, project leaders assist developers by removing any obstacles or constraints that my impeded progress, and managing interaction with product owners, customers, and other stakeholders. [Agile Project Management: Creating Innovative Products – 2nd Edition. Jim Highsmith.]
In the exploring phase, the agile team focuses on designing, building, and testing product features. This occurs within useful increments to the customer. [Agile Project Management: Creating Innovative Products – 2nd Edition. Jim Highsmith.]

Adapting
In the adapting phase, the agile team encourages feedback of the latest deliverable of an iteration. From the feedback, the team adapts product features and plans for the subsequent iteration. [Agile Project Management: Creating Innovative Products – 2nd Edition. Jim Highsmith.]

In the adapting phase, the agile team leader may make adjustments to the team makeup, like problems raised by team members, if any team dynamic problems arise. [Agile Project Management: Creating Innovative Products – 2nd Edition. Jim Highsmith.]

Closing
In the closing phase, the agile team completes all remaining project work. In a software project, remaining work can be such tasks as user training documentation and installation manuals. [Agile Project Management: Creating Innovative Products – 2nd Edition. Jim Highsmith.]

Agile plan

Showing dependencies of one task on others is not a characteristic of an agile plan.

Since in agile we focus on creating a pull system rather than push system and we start with a top level plan first.
Principle of last responsible moment
In agile we do things at last responsible moment.

The stories should have details and acceptance criteria attached before they get developed not before they get estimated.

Agile and traditional project management

Definition of business objectives occurs during the initiating phase in a traditional project management effort. [Manifesto for Agile Software Development. Agile Alliance.]

The agile and traditional project management methods share closing as a phase name. Closing occurs as the last phase in both methods. [Agile Project Management: Creating Innovative Products – 2nd Edition. Jim Highsmith.]

Traditional project management phases
The traditional project management phases are typically introduced in the following sequence: Initiating, planning, executing, monitoring and controlling, and closing. It is important to note that monitoring and controlling happen concurrently and throughout the project life-cycle with other phases. [Agile Project Management: Creating Innovative Products – 2nd Edition. Jim Highsmith.]

Agile  Works

Completing remaining project work
Authoring user documentation
Authoring product release instructions
Agile project management phases
The agile project management phases, in sequence, are: Envisioning, speculating, exploring, adapting, closing. [Manifesto for Agile Software Development. Agile Alliance.]

Agile development process

The agile development process has multiple iterations that focus on specific product features, encourages heavy customer feedback, and is adaptive to changing customer requirements. [Agile Project Management: Creating Innovative Products – 2nd Edition. Jim Highsmith.]

Iteration

A cornerstone of Agile development is ‘incremental delivery.’

Incremental delivery is the frequent delivery of working products, which are successively improved, to a customer for immediate feedback and acceptance. Typically, a product is delivered at the end of each sprint or iteration for demonstration and feedback. In this feedback technique, a customer can review the product and provide updated requirements. Changed/updated/refined requirements are welcomed in the agile process to ensure the customer receives a valuable and quality product. A sprint or iteration typically lasts from two to four weeks and at the end a new and improved product is delivered, incrementally. [The Art of Agile Development. James Shore.]

Project and quality standards

Refined over time
All agile efforts have project and quality standards that the team defines collaboratively at the beginning of an effort and refines collaboratively throughout the effort. Project and quality standards help an agile team with team cohesion and provide a structure, albeit one that can adapt as the project evolves, to promote a self-disciplined environment. There is no ‘one size fits all’ standards definition in agile; because every project is different, it has been shown that the team should define which project and quality standards it should hold itself against and strive to conform to those standards while also being open to adapting those standards throughout the project to optimize performance and delivered value. Project standards can range from where the daily stand-up meeting is located and how long each participant has to share his or her progress and challenges to highly specific software coding styles, methods for test-driven development, and what the team’s definition of ‘done-done’ means. [Agile Software Development: The Cooperative Game – 2nd Edition. Alistair Cockburn.]

0

Agile Knowledge and Skills (2)

avril 20, 2018

Agile Knowledge and Skills (2) : Agile Manifesto values and principles

The authors of Agile Manifesto are the founding members of Agile Alliance.

Ken Schwaber founded Agile Alliance in 2001 after the Agile Manifesto was published.

Agile Manifesto values include the following:

Individuals and interaction over processes and tools

Working software over comprehensive documentation

Customer collaboration over contract negotiation

Responding to change over following a plan

4 values

The Agile Manifesto defines four values.

The four values list primary values and secondary values, with primary values superseding secondary values.

The values are :

1) individuals and interactions over processes and tools,

2) working software over comprehensive documentation,

3) customer collaboration over contract negotiation, and

4) responding to change over following a plan.

[Manifesto for Agile Software Development. Agile Alliance.]

Individuals and interactions over process and tools

This talks about value of empowering the team that far outstrips the benefits derived from processes and tools. We must constantly be aware that it is our people who actually do all the value added work, and respect for people is a comforting and fundamental principle of Lean and Agile.
Agile projects are built around motivated individuals and the team organize themselves without the command and control structure. The rest of the options are not correct since agile teams are highly disciplined, there is more planning in agile projects than the traditional projects and also the teams are motivated and empowered which enables them to deliver at sustainable pace.

Responding to change over following a plan

Responding to change over following a plan – Agile Manifesto. The principle doesn’t devalue planning—just sticking to the plan. Planning is valuable in itself, and because the plan helps us recognize when things have changed; it helps us understand the implications of change, how we need to adjust, and the likely cost. The important thing is that, as we make plans, we understand that the plan may have to change. Planning is an ongoing time-boxed activity.
Though Agile Manifesto states that it values responding to change over following a plan, it should not be constructed as there is no need for planning on agile projects. In fact, Agile projects do overall more planning than the traditional ones.

Secondary values

The agile secondary values include: documentation of software, processes and tools, contract negotiation, and following project plans. [Manifesto for Agile Software Development. Agile Alliance.]

If you don’t follow the four Agile Manifesto values “It Will Create Risks”:

Principles

The Agile Manifesto defines 12 supporting principles.

Agile principles include

1) Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.

2) Welcome changing requirements, even late in development. Agile processes harness change for the customer’s competitive advantage.

3) Deliver working software frequently, from a couple of weeks to a couple of months, with preference to the shorter timescale.

4) Business people and developers must work together daily throughout the project.

5) Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.

6) The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.

7) Working software is the primary measure of progress.

8) Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.

9) Continuous attention to technical excellence and good design enhances agility.

10) Simplicity–the art of maximizing the amount of work not done–is essential.

11) The best architectures, requirements, and designs emerge from self-organizing teams.

12) At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly. [Manifesto for Agile Software Development. Agile Alliance.]

12 principles

Customer satisfaction : Satisfy the customer by delivering software that provides value to the customer early, and often.
Welcoming change ; It is expected that requirements will change and these changes are welcomed.
Frequent delivery : Get working software delivered to the customer as soon as possible.
Colocated teams : Bring the project team and the customers together, preferably collocated in the same physical area.
Motivated individuals : Build your team around motivated individuals and trust them to do the work.
Face-to-face contacts : Face-to-Face communication is the most effective method for exchanging ideas.
Working software : True customer value is realized by delivering results, which is represented in terms of working software.
Constant pace : Sustain a constant development pace to minimize project team burnout and maximize optimal performance indefinitely.
Continuous attention : Continuous Attention to technical excellence and good design will allow the project team to respond more quickly and easily to change.
Simplicity : Maximize the amount of work not done.
In agile processes, there is a strong taste of minimalism. Include only what everybody needs rather than what anybody needs. There is a point in time when any additional effort put into work product will increase its cost without increasing its value. It’s easy to continue developing a product beyond some point. A Standish Group survey in 2009 stated that over 70% of functionality is never or rarely used. Not doing that work is a great opportunity to do more valuable work.
Self-organization : The team decides how the tasks will be allocated, as opposed to being dictated to them.
The best architectures, requirements and designs emerge from self-organizing teams. The emergent properties for a complex project are best generated from self-organizing teams in which the interactions are high and processes are low.
Regular reflections : Schedule Retrospectives to constantly reflect on the work that was completed and find ways to improve during the next iteration.

Agile Manifesto Principles as Months

January : Just Sit Together (Collocated Teams)
February : Face-to-Face Contact (Face-to-Face Contact)
March : Motivated Individuals (Motivated Individuals)
April : Attention (Continuous Attention)
May : Maintain a Constant Pace (Constant Pace)
June : Jump on Improvements (Regular Reflection)
July : Juggle Changes (Welcomed Changes)
August : Augment Customer Satisfaction (Customer Satisfaction)
September : Simplicity (Simplicity)
October : Organization (Self-Organization)
November : New Changes (Welcomed Changes)
December : Deliver Frequently (Frequent Delivery)

The principles behind Agile Manifesto states that “Welcome changing requirements, even late in development. Agile processes harness change for the customer’s competitive advantage.

The agile principles state without ambiguity that business people and developers must work together daily throughout the project. Answer ‘b’ says ‘regularly’ which may not be ‘daily’. Agile developers adopt practices such as on-site customer and active stakeholder participation which enable stakeholders to be actively involved with software development.

Fixed scope is not in line with the agile principles. One of the core principle of agile is to welcome changing requirements even late in development cycle for customer’s competitive advantage. The rest of the options are in line with Agile principles.

0

Agile Knowledge and Skills (1)

avril 20, 2018

Agile Knowledge and Skills : Level 1

Active listening

One communication technique to reduce misunderstanding and miscommunication is active listening.

A well run agile project necessitates both good listeners and communicators, active listening helps work towards both of these necessities.

The basics of active listening include:

1) Being present and focusing your attention on the speaker.

2) Taking notes instead of interrupting.

3) Paraphrasing to confirm and review what you have heard.

4) Summarizing the conversation once it has concluded for posterity. Using open ended questions, good body language, and silence can help improve listening skills. [Coaching Agile Teams. Lyssa Adkins.]

Basics for active listening

1) Being present and focusing your attention on the speaker
2) Taking notes instead of interrupting
3) Paraphrasing to confirm and review what you have heard
4) Summarizing the conversation once it has concluded for posterity
Using open ended questions, good body language, and silence can help improve listening skills.

0

Self assessment

avril 20, 2018

Self assessment

In social psychology, self-assessment is the process of looking at oneself in order to assess aspects that are important to one’s identity. It is one of the motives that drive self-evaluation, along with self-verification and self-enhancement. Sedikides (1993) suggests that the self-assessment motive will prompt people to seek information to confirm their uncertain self-concept rather than their certain self-concept and at the same time people use self-assessment to enhance their certainty of their own self-knowledge.

However, the self-assessment motive could be seen as quite different from the other two self-evaluation motives. Unlike the other two motives through self-assessment people are interested in the accuracy of their current self view, rather than improving their self-view. This makes self-assessment the only self-evaluative motive that may cause a person’s self-esteem to be damaged.

So if through self-assessing there is a possibility that a person’s self-concept, or self-esteem is going to be damaged why would this be a motive of self-evaluation, surely it would be better to only self-verify and self-enhance and not to risk damaging self-esteem? Trope suggests in his chapter « Self-Enhancement and Self Assessment in Achievement Behaviour » that self-assessment is a way in which self-esteem can be enhanced in the future. For example self-assessment may mean that in the short-term self-assessment may cause harm to a person’s self-concept through realising that they may not have achieved as highly as they may like; however in the long term this may mean that they work harder in order to achieve greater things in the future, and as a result their self-esteem would be enhanced further than where it had been before self-assessment.

Within the self-evaluation motives however there are some interesting interactions. Self-assessment is found a lot of the time to be associated with self-enhancement as the two motives seem to contradict each other with opposing aims; whereas the motive to self-assess sees it as important to ensure that the self-concept is accurate the motive to self-enhance sees it as important to boost the self-concept in order to protect it from any negative feedback.

Self assessment :

  • Learning all the life
  • Learning to know
  • The formal education system
  • Learning to do
  • Vocational learning
  • Learning to live together
  • Learning for social cohesion
  • Learning to be
  • Learning as personal growth

8 keys competences :
1) Communication in the mother tongue, which is the ability to express and interpret concepts, thoughts, feelings, facts and opinions in both oral and written form (listening, speaking, reading and writing) and to interact linguistically in an appropriate and creative way in a full range of societal and cultural contexts.

2) Communication in foreign languages, which involves, in addition to the main skill dimensions of communication in the mother tongue, mediation and intercultural understanding. The level of proficiency depends on several factors and the capacity for listening, speaking, reading and writing.

3) Mathematical competence and basic competences in science and technology. Mathematical competence is the ability to develop and apply mathematical thinking in order to solve a range of problems in everyday situations, with the emphasis being placed on process, activity and knowledge. Basic competences in science and technology refer to the mastery, use and application of knowledge and methodologies that explain the natural world. These involve an understanding of the changes caused by human activity and the responsibility of each individual as a citizen.

4) Digital competence involves the confident and critical use of information society technology (IST) and thus basic skills in information and communication technology (ICT).

5) Learning to learn is related to learning, the ability to pursue and organise one’s own learning, either individually or in groups, in accordance with one’s own needs, and awareness of methods and opportunities.

6) Social and civic competences. Social competence refers to personal, interpersonal and intercultural competence and all forms of behaviour that equip individuals to participate in an effective and constructive way in social and working life. It is linked to personal and social well-being. An understanding of codes of conduct and customs in the different environments in which individuals operate is essential. Civic competence, and particularly knowledge of social and political concepts and structures (democracy, justice, equality, citizenship and civil rights), equips individuals to engage in active and democratic participation.

7) Sense of initiative and entrepreneurship is the ability to turn ideas into action. It involves creativity, innovation and risk-taking, as well as the ability to plan and manage projects in order to achieve objectives. The individual is aware of the context of his/her work and is able to seize opportunities that arise. It is the foundation for acquiring more specific skills and knowledge needed by those establishing or contributing to social or commercial activity. This should include awareness of ethical values and promote good governance.;

8) Cultural awareness and expression, which involves appreciation of the importance of the creative expression of ideas, experiences and emotions in a range of media (music, performing arts, literature and the visual arts).
These key competences are all interdependent, and the emphasis in each case is on critical thinking, creativity, initiative, problem solving, risk assessment, decision taking and constructive management of feelings.

The self-assessment process

1) The user, in a first step, is asked to choose one to start the self-assessment of key competence performance with, from the list of 8 key competences of Lifelong Learning named by the European Commission (2007);

2) In a next step five generic situations are presented, each one describing a situation in which the chosen key competence is performed in a common setting. Each of the five situations corresponding to the following five levels of mastery: Level 1 can do when guided (in known situations),Level 2 can do, can choose (in known situations),Level 3 can combine, can design (also in unknown situations),Level 4 can improve, can extend, Level 5 can explain.

3) Five different clusters of the chosen key competence are presented. These clusters are well grounded in Vintage research considering projects and publications throughout European countries and Framework.[10] After deciding for a cluster the user is presented a situation in which the key competence in the chosen domain is performed. Again situations, meant to be broad enough to apply to many common experiences, yet specific enough to identify what a performance in a certain key competence and domain requires, meant to refer to daily life settings, support the user in the reflective abilities to relate own experiences and performances to the described situations.

4) the user is asked to note and reflect upon own experiences and collect these in the Vintage portfolio as documentation of personal key competence experiences to be used in further development or to be included in e.g. the European CV (Cedefop/European Commission 2004). Amongst others this stresses the importance and relevance of lifelong learning, be it in formal, non-formal or in-formal settings.[11]

5) The quality of the performance is, consequently to the premises of self-assessment, evaluated by the user himself, ranking personal performances on the following four dimensions of qualities:
1. Reflective
2. Autonomous
3. Self-directed – Self-regulated
4. Effective
The four quality dimensions thereby refer to themes such as critical thinking, creativity, initiative, problem-solving, risk assessment, decision-taking and constructive management of feelings.

0

Agile terminology (2)

avril 20, 2018

Agile terminology (2)

Project charter

The project charter is an important governing document that requires all stakeholder participation. Although experts recommend it not be longer than a page in length, creating a project charter can be challenging, as all stakeholders must participate and come to a consensus. Three key elements should be included in a project charter: vision, mission, and success criteria. Vision is the ‘why’ or rationale of a project. Mission is the ‘what’ of the project and describes what the team will accomplish to reach the vision. Success criteria are management metrics that define ‘how’ the project will be deemed successful. [Lean-Agile Software Development: Achieving Enterprise Agility. Alan Shalloway, Guy Beaver, James R. Trott.]

Facilitation methods

As a project leader or scrum master, effective facilitation methods are critical for building a high-performance and motivated team. Facilitation of meetings, discussions, demonstrations, etc., is a constant on an agile project. Some general facilitation methods include: using a small number of people for brainstorming events; hosting events in a non-threatening/comfortable environment; having an agenda that is shared with the group ahead of time; using open-ended questions instead of closed-ended questions; including a diverse representation to gain a broader perspective of the topic. [Agile Retrospectives: Making Good Teams Great. Esther Derby, Diana Larsen, Ken Schwaber.]

Problem-solving techniques

Literally thousands of decisions are made in the course of a project. Many of these decisions are made in response to problems that inevitably arise and confront the agile team. Therefore it is essential that an agile team is properly versed in problem-solving strategies, tools, and techniques. Some common problem-solving techniques include: ask it loud; revisit the problem; 5Y; sunk cost fallacy; devil’s advocate; be kind, rewind; asking probing questions; and reflective/active listening. [Agile Retrospectives: Making Good Teams Great. Esther Derby, Diana Larsen, Ken Schwaber.]

Participatory decision models

(e.g., inputbased, shared collaboration, command)
To build trust among the team, agile believes heavily in participatory decision models where team members collaborate to make decisions. Although a team leader or scrum master will need to make some decisions individually, many decisions can be made by the team collectively. These agile principles are also known as collective ownership, self-organization, and self-discipline. In collective ownership, the team members are equally responsible for project results and are empowered to participate in decision making and problem solving processes. [Agile Retrospectives: Making Good Teams Great. Esther Derby, Diana Larsen, Ken Schwaber.]

PMI’s Code of Ethics and Professional Conduct

PMI professional code of conduct
The Project Management Institute (PMI) outlines a professional code of conduct in the PMI Code of Ethics and Professional Conduct document. [PMI Code of Ethics and Professional Conduct. Project Management Institute.]

Process analysis techniques : Value stream mapping

Value stream mapping is a collaborative process analysis technique where a diverse team depicts/maps a process to identify where waste occurs and where improvements can be made. It is an example of a process analysis technique. Like value stream mapping, process mapping is also used to map a process to identify bottlenecks (places where processing slows and inventory can build). [Lean-Agile Software Development: Achieving Enterprise Agility. Alan Shalloway, Guy Beaver, James R. Trott.]

Value-based analysis

Value-based analysis strives to understand how value, as defined by the customer, relates to various components of the product, like features and tasks. Features are often prioritized with prioritization based on value and risk. Prioritization can be performed using the MoSCoW or Kano method and through the use of risk-to-value and cost-to-value matrices. [Lean-Agile Software Development: Achieving Enterprise Agility. Alan Shalloway, Guy Beaver, James R. Trott.]

0

Agile Teams

avril 20, 2018

Agile Teams

In Agile environment, we are building high-performance teams.

Building a high-performance team is critical to any project’s success. A high performance team has the right team members, is empowered, has built trust, works at a sustainable pace, has consistently high velocity/productivity, takes regular time for reflection to review work, has a team lead that removes any obstacles and provides mentoring and coaching, is self-organized and self-disciplined, and is collocated. Several management techniques can be used to build or foster a high-performance team environment, some techniques include: removing obstacles that slow down a team’s performance, having high expectations of team performance, and coaching and mentoring the team to achieve its best performance. [Coaching Agile Teams. Lyssa Adkins.]

A high-performance agile team is one that is ideally collocated for osmotic communication and face-to-face interaction.

However, collocation isn’t always feasible in today’s multinational environment.

For distributed teams, several practices are available to provide the best form of effective communication in the absence of being collocated: team intranet sites, virtual team rooms, and video conferencing over e-mail when possible. Geographic separation, especially on a world-wide scale, causes the team to consider language and cultural differences, and time zone differences.

[The Art of Agile Development. James Shore.]

High-performance teams differ from low-performance teams with how they deal with conflict.

Conflict is inevitable even for the most experienced agile team.

The difference is that high-performance teams approach conflict with an open mind and as self-organizing often navigate and resolve conflict organically.

[Coaching Agile Teams. Lyssa Adkins.]

Taking the team out to lunch for bonding and trust building. [Agile Retrospectives: Making Good Teams Great. Esther Derby, Diana Larsen, Ken Schwaber.]

Empowered teams

Empowered teams – ones that are self-organizing and know how to solve problems with minimal management involvement – are a cornerstone of the agile methodology.

This is the antithesis to the classic viewpoint of the traditional project manager who is seen as someone that controls all decisions and delegates tasks to a team with little feedback.

An agile team must include all members and stakeholders to make decisions, and make decisions expediently.

Because it is essential that the user/customer be involved with development, it is encouraged that the user/customer is closely integrated with the agile team with collocation/on-site support being ideal.

An agile team feels empowered when it collectively assumes responsibility for the delivery of the product (i.e., taking ownership).

[Coaching Agile Teams. Lyssa Adkins.]

Empowered teams – ones that are self-organizing and know how to solve problems with minimal management involvement – are a cornerstone of the agile methodology.

An agile team feels empowered when it collectively assumes responsibility for the delivery of the product (i.e., taking ownership).

[Coaching Agile Teams. Lyssa Adkins.]

Empowered teams take responsibility of the product and thus have a strong focus on delivering value.

A team that is self-organizing and knows how to solve problems with minimal need for oversight
Empowered teams need minimal management involvement and thus can focus on leading and delivering value instead of being lead

Motivated team

Having a motivated team is essential for any project, regardless of whether it is agile or not.

Motivated teams work together better, have strong productivity, and exceed expectations.

Some simple steps to increase motivation are

1) spending quality time together; where team members get to know one another on a personal level to build a sense of community,

2) providing feedback, mentoring and coaching; where team members are congratulated and thanked on jobs well done and also mentored or coached to improve in skill and capability, and

3) empowerment; where the team is empowered to make many key decisions which, along the way, builds trust and shows that leadership believes in the capabilities of the team.

[The Art of Agile Development. James Shore.]

The best architectures, requirements, and designs emerge from self-organization teams.

Leading

A common misconception in agile is that an agile team does not need a leader.

In fact, all agile teams need a leader, but the way in which the leader leads is fundamentally different than the typical traditional project manager/project leader method.

Some have theorized that this misconception stems from the desired ‘self-organizing’ quality of the agile team.

And although the ‘self-organizing’ agile team is empowered to take ownership and responsibility of the product and make some decisions itself, it nevertheless requires a leader to help provide guidance, mentoring, coaching, problem solving, and decision making.

Some key aspects required of an agile leader include:

empowering team members to decide what standard agile practices and methods it will use;

allowing the team to be self-organized and self-disciplined;

empowering the team members to make decisions collaboratively with the customer;

inspire the team to be innovative and explore new ideas and technology capabilities;

be a champion of and articulate the product vision to team members so it will be motivated to accomplish the overall objective;

remove any obstacles and solve any problems the team may face in its effort;

communicate and endorse the values and principles of agile project management to stakeholders that may be unfamiliar with agile;

ensure that all stakeholders, including business managers and developers, are collaborating effectively; and,

be able to adapt the leadership style to the working environment to ensure that the agile values and principles are effectively upheld.

[The Art of Agile Development. James Shore.]

Coaching and mentoring within teams

Coaching and mentoring within teams can be helpful for nascent agile teams and even for more experienced agile teams.

Coaching and mentoring is the act of helping a person or team improve performance and achieve realistic goals.

Because agile has a value of continuous improvement, coaching and mentoring is not solely for new or immature teams, but experienced ones too where coaching can help achieve higher levels of performance.

The amount of coaching and mentoring an agile team needs is variable.

Some newer teams will need a coach guiding the team nearly all the time while others may need a coach only for particularly challenging situations.

A not uncommon scenario is to have a coach help the team collectively during sprint/iteration planning and then during the iteration help mentor individual team members.

[Coaching Agile Teams. Lyssa Adkins.]

Team motivation

Having a motivated team is essential for any project, regardless of whether it is agile or not.

Motivated teams work together better, have strong productivity, and exceed expectations.

Some simple steps to increase motivation are :

1) spending quality time together; where team members get to know one another on a personal level to build a sense of community,

2) providing feedback, mentoring and coaching; where team members are congratulated and thanked on jobs well done and also mentored or coached to improve in skill and capability, and

3) empowerment; where the team is empowered to make many key decisions which, along the way, builds trust and shows that leadership believes in the capabilities of the team. [The Art of Agile Development. James Shore.]

Globalization, culture, and team diversity / Common language

Scrum emphasizes, in part, the following principles: always have a product you can theoretically ship, speak a common language, and continuously test the product as you build it. [Agile Project Management with Scrum. Ken Schwaber.]

A high-performance agile team is one that is ideally collocated for osmotic communication and face-to-face interaction. However, collocation isn’t always feasible in today’s multinational environment.

For distributed teams, several practices are available to provide the best form of effective communication in the absence of being collocated: team intranet sites, virtual team rooms, and video conferencing over e-mail when possible.

Geographic separation, especially on a world-wide scale, causes the team to consider language and cultural differences, and time zone differences.

[Agile Software Development: The Cooperative Game – 2nd Edition. Alistair Cockburn.]

Changing company culture is typically the most difficult when migrating to an agile framework. [The Art of Agile Development. James Shore.]

0

Agile terminology (1)

avril 20, 2018

Agile Terminology

Caves and common

The XP phrase ‘caves and common’ refers to the creation of two zones for team members.

The common area is a public space where osmotic communication and collaboration are largely at play.

The caves is a private space is reserved for private tasks that require an isolated and quiet environment.

For the common area to work well, each team member should be working on one and the same project. [Agile Software Development: The Cooperative Game – 2nd Edition. Alistair Cockburn.]

Governance

Highsmith defines agile project governance as « making decisions in an uncertain environment. » [Agile Project Management: Creating Innovative Products – 2nd Edition. Jim Highsmith.]

Intrinsic quality

“Higher the technical debt means lower the intrinsic quality.”

Intrinsic quality is an internal quality of the product, having good design and implementation improves the intrinsic quality and reduces the technical debts.
Intrinsic quality is required to deliver continuous value to the customer, it’s an internal quality of product which is not visible to the end user but needed to make product adaptable for future need.

Product knowledge

Cohn’s definition of product knowledge is knowledge about what features will or will not be developed in a project. [User Stories Applied: For Agile Software Development. Mike Cohn.]

Reflection or retrospective

During reflection or retrospectives, an agile team reserves time to reflect on the work it has completed with the objective of continuous improvement. In these self-assessment/team-assessment events, topics can include: lessons learned from successes and failures; team standards that worked, failed, or were not properly followed; and other areas of improvement. [Agile Retrospectives: Making Good Teams Great. Esther Derby, Diana Larsen, Ken Schwaber.]

Refactoring

A change that is made to the internal structure of software to make it easier to understand and cheaper to modify without changing its observable behavior is referred to as Code refactoring .
Code refactoring is method of improving working source code to make it more efficient, readable, extensible, maintainable and less complex. Through refactoring one is able to restructure source code modifying internal code without changing the external behavior. [Agile Retrospectives: Making Good Teams Great. Esther Derby, Diana Larsen, Ken Schwaber.]

Aspirational standards

Aspirational standards are standards that every professional should strive to uphold, but are not compulsory. [PMI Code of Ethics and Professional Conduct. Project Management Institute.]

Mandatory standards

Mandatory standards are required and often backed by law. [PMI Code of Ethics and Professional Conduct. Project Management Institute.]

Vertical-market software

Vertical-market software includes solutions for many organizations within one industry (e.g., pharmaceutical software). Horizontal-market software includes solutions for many organizations in many industries (e.g., word processing software). [The Art of Agile Development. James Shore.]

PDCA

PDCA (plan–do–check–act or plan–do–check–adjust) is an iterative four-step management method used in business for the control and continuous improvement of processes and products.

PDCA was made popular by Dr W. Edwards Deming, who is considered by many to be the father of modern quality control.

Kaizen

The Japanese word « kaizen » means change for the better. [Lean-Agile Software Development: Achieving Enterprise Agility. Alan Shalloway, Guy Beaver, James R. Trott.]
The word kaizen means “continuous improvement.” It is a system of continuous improvement in quality, technology, processes, company culture, productivity, safety, and leadership. It comes from the Japanese words (“kai”) which means “change” or “to correct” and (“zen”) which means “good.”

Continuous improvement

Agile project management places strong emphasis on ‘continuous improvement.’ Continuous improvement processes are built into the agile methodology, from customers providing feedback after each iteration to the team reserving time to reflect on its performance through retrospectives after each iteration. Ongoing unit and integration testing and keeping up with technological/industry developments also play a part in the continuous improvement process. Continuous improvement is also a key principle in the lean methodology, where a focus of removing waste from the value stream is held. [The Art of Agile Development. James Shore.]

Tacit knowledge

Tacit knowledge is the « sum of all knowledge from all people on a project team. » [Agile Software Development: The Cooperative Game – 2nd Edition. Alistair Cockburn.]

Business case development

Business case development is an important initial step in agile project management. The business case is a concise document that outlines the project’s vision, goals, strategies for achieving goals, milestones, required investment and expected return/payback. A business case articulates the why and how a project will deliver value to a customer. [Lean-Agile Software Development: Achieving Enterprise Agility. Alan Shalloway, Guy Beaver, James R. Trott.]

0

Technical debt

avril 20, 2018

Technical debt

Technical debt is not an XP practice.

Technical debt is total sum of less than perfect design and implementation decisions in the product.

Technical debt needs to be monitored and controlled.

Sit together-XP advocates an open space big enough for the whole team

Slack- XP recommends that in any plan it is better to include some minor tasks that can be dropped if you get behind.

You can always add more stories later and deliver more than you promised.

Energized- Work only as many hours as you can be productive and only as many hours as you can sustain.

Team should strive to have minimum technical debts, and team should reduce technical debt by adapting refactoring practice of XP.

0

Agile failures

avril 20, 2018

Agile failures

The top 12 causes of agile failure (failure modes) according to Aaron Sanders:

1. A checkbook commitment doesn’t automatically cause organizational change or support.

2. Culture doesn’t support change.

3. Culture does not have retrospectives or performs them poorly.

4. Standards and quality are lost in a race to project closing.

5.Lack of collaboration in planning.

6.None or too many Product Owners.

7. Poor project leadership or scrum master that doesn’t place trust in the team and allow it to be self-organizing and self-disciplined.

8.No on-site agile promoter or coach.

9.Lack of a well built, high-performance team.

10. Accrued technical debt if strict testing standards are not upheld.

11.Culture maintains traditional performance appraisals where individuals are honored and the team aspect is lost.

12. reversion to the traditional or ‘old-way’ of doing business occurs because change is hard. [Coaching Agile Teams. Lyssa Adkins.]

 

0

Agile frameworks and terminology

avril 20, 2018

Agile frameworks and terminology

Common frameworks or methodologies used within agile include: scrum, extreme programming (XP), lean software development, crystal, feature driven development (FDD), dynamic systems development method (DSDM), agile unified process (AUP). [Agile Software Development: The Cooperative Game – 2nd Edition. Alistair Cockburn.]

Agile methods offer several benefits including faster time to market, more business value and improved stakeholder satisfaction. For planning, agile does not recommend heavy upfront planning.

Instead, it recommends an initial high-level plan which is re-visited on several occasions throughout the project.

Agile methods work well where there is uncertainty in the environment and the results are driven by people rather than process.

Heavy-weight methods canvass formality and discipline in order to work the intricacies of the project.

In opposition, agile methods favor creativity, improvisation, and nimbleness to negotiate with project hazards.

In addition, agile methods welcome change and alternately adapt to the new conditions.

Heavy methods are more pessimistic at handling change and try to get all things worked out in the first instance.

0

Agile and Soft skills negotiation

avril 20, 2018

Agile and Soft skills negotiation

Key soft skills negotiation qualities for the effective implementation and practice of agile are: emotional intelligence, collaboration, adaptive leadership, negotiation, conflict resolution, servant leadership. [Coaching Agile Teams. Lyssa Adkins.]

Soft skills negociation :

  • Emotional intelligence
  • Collaboration
  • Adaptive leadership
  • Negotiation
  • Conflict resolution
  • Servant leadership

Adaptive leadership :

Highsmith defines adaptive leadership as two dimensional: Being agile and doing agile.

Being agile includes focusing on cornerstones of agile project management, like incremental delivery, continuous integration, and adapting to changing requirements.

Doing agile includes several activities that an agile leader must do: do less; speed-to-value, quality, and engage and inspire. [Agile Project Management: Creating Innovative Products – 2nd Edition. Jim Highsmith.]

Collaboration

Collaboration is a key soft skill negotiation skill.

It involves working in groups to create ideas, solve problems, and produce solutions. [Coaching Agile Teams. Lyssa Adkins.]
Pair programming is an effective method for improving team collaboration. [Agile Retrospectives: Making Good Teams Great. Esther Derby, Diana Larsen, Ken Schwaber.]

Conflict resolution

Conflicts are unavoidable in the project environment.

Conflict resolution must not focus on personalities and past events.

The people who are in conflict are first responsible for resolving it.
Conflict resolution is a key soft skill negotiation skill.

It involves applying proper leadership techniques to resolve and diffuse any conflict between team members or other stakeholders. [Coaching Agile Teams. Lyssa Adkins.]

Emotional intelligence

Higgs & Dulewicz (1999) defines emotional intelligence using seven components:

1) Self-awareness,

2) Emotional resilience,

3) Motivation,

4) Interpersonal sensitivity,

5) Influence,

6) Intuitiveness, and

7) Conscientiousness. [Coaching Agile Teams. Lyssa Adkins.]

Having a high emotional intelligence means self-awareness, control over your own emotions, and being attentive to other team members’ emotions. A high emotional intelligence allows team members to collaborate effectively. [Coaching Agile Teams. Lyssa Adkins.]

Servant leadership

Servant leadership has its roots with an essay written in 1970 by Robert K Greenleaf. Greenleaf defined servant leaders as humble stewards devoted to their company and work to serve their peers, teams, and customers. In a self-organizing team, a servant leader, as Greenleaf defined it, is ideal as the team leader is an enabler, listening to the agile team’s needs, removing obstacles, and providing tools or other support to promote high productivity. [Coaching Agile Teams. Lyssa Adkins.]

Servant leader is an expected leadership style from Scrum master
In high performance teams, leaders manage the principles and principles manage the teams. [Becoming Agile: …in an imperfect world. Greg Smith, Ahmed Sidky.]

Negotiation

Agreement found through discussion.
Key soft skills negotiation qualities for the effective implementation and practice of agile are: emotional intelligence, collaboration, adaptive leadership, negotiation, conflict resolution, servant leadership. [Coaching Agile Teams. Lyssa Adkins.]
Negotiation is a key soft skill negotiation skill. It involves discussion or conversation to work towards a common understanding between two parties. [Coaching Agile Teams. Lyssa Adkins.]

0

Agile analysis and design / agile modeling

avril 20, 2018

Agile analysis and design / agile modeling

The Crystal development process is cyclical/iterative.

Its primary components are chartering, delivery cycles, and project wrap-up. 

Chartering :

Chartering involves creating a project charter, which can last from a few days to a few weeks.

Chartering consists of four activities:

1) Building the core project team

2) Performing an Exploratory 360° assessment

3) Fine tuning the methodology

4) Building the initial project plan

Source : [Agile Software Development: The Cooperative Game – 2nd Edition. Alistair Cockburn.] 

Customer, user stories and Extreme Programming (XP) :

The best role for a customer in XP is to write well-defined user stories.

Source : [User Stories Applied: For Agile Software Development. Mike Cohn.]

Examples of questions for the PMI-ACP exam :

Question 1 :

In which agile project management methodology does chartering play a significant role?
A. TDD
B. Crystal
C. XP
D. FDD

 Answer 1 :

B – The Crystal development process is cyclical/iterative. Its primary components are chartering, delivery cycles, and project wrap-up. Chartering involves creating a project charter, which can last from a few days to a few weeks. Chartering consists of four activities: 1) Building the core project team, 2) performing an Exploratory 360° assessment, 3) fine tuning the methodology, and 3) building the initial project plan. [Agile Software Development: The Cooperative Game – 2nd Edition. Alistair Cockburn.] [Agile analysis and design]

Question 2 :

What is the purpose of the Exploratory 360 assessment?
A. To define the core project team
B. To assess project soundness in terms of business value and feasibility
C. To conduct an introspective reflection on the team makeup
D. To define a project mission and vision

 Answer 2 :

B – The executive sponsor conducts the Exploratory 360° assessment to assess the business case of the project. Several dimensions are explored: business value, requirements, domain area, and technology impacts. Based on the results the team adjusts the Crystal methodology to the need or, in some cases, the project may be cancelled if serious issues are discovered. [Agile Software Development: The Cooperative Game – 2nd Edition. Alistair Cockburn.] [Agile analysis and design]

Personas

A persona is a notional user of the system under development.

Being much more detailed than actors in use case modeling where generic user names are assigned (e.g., end user), personas try to elaborate on users with detailed descriptions to provide context to the developers.

Some personas have such notional details as name, address, age, income, likes and dislikes, and other specific details.

All details are important details 

Extrem character

Extrem characters are some exceptional personas

We should identify them since it leads to identification of some of the important user stories which we may miss if we do not identify them.

Source : [User Stories Applied: For Agile Software Development. Mike Cohn.]

 Examples of questions for the PMI-ACP exam :

Question 1 :

In agile modeling, what is a persona?
A. A made up personality used for facilitating the daily stand-up meeting
B. An assigned personality used in reflection workshops.
C. A notional user of the system under development.
D. A method to describe the customer’s personality for the day so the team may adapt to his or her feedback in the most effective way

Answer 1 :

C – A persona is a notional user of the system under development. Being much more detailed than actors in use case modeling where generic user names are assigned (e.g., end user), personas try to elaborate on users with detailed descriptions to provide context to the developers. Some personas have such notional details as name, address, age, income, likes and dislikes, and other specific details. [User Stories Applied: For Agile Software Development. Mike Cohn.] [Agile analysis and design]

0

PMI-ACP certification exam reference books list

avril 20, 2018

PMI-ACP certification exam reference books list

Exam candidates should be aware that the PMI Agile Certified Practitioner (PMI-ACP) examination is not written according to any single text or singularly supported by any particular reference. PMI does not endorse specific review courses, resources, references or other materials for certification preparation.

The references listed below are not inclusive of all resources that may be utilized and should not be interpreted as a guaranteed means of passing the exam.

As the PMI-ACP is a competency–based certification which assesses the integrated set of knowledge, skills and abilities as gained from both practical and learned experiences, it should also be noted that the references identified herewith are but one element of a broader set of educational resources and texts that might possibly be utilized for exam study and preparation.

  • Agile Estimating and Planning

Author: Mike Cohn

Publisher: Pearson Education/Addison Wesley Professional

  • Agile Practice Guide

Publisher: Project Management Institute, Inc.

  • Agile Project Management: Creating Innovative Products

Author: Jim Highsmith

Publisher: Pearson Education/Addison Wesley Professional

  • Agile Retrospectives: Making Good Teams Great

Author: Esther Derby, Diana Larsen, Ken Schwaber

Publisher: Pragmatic Bookshelf

  • Agile Software Development: The Cooperative Game

Author: Alistair Cockburn

Publisher: Pearson Education

  • Coaching Agile Teams: A Companion for ScrumMasters, Agile Coaches, and Project Managers in Transition

Author: Lyssa Adkins

Publisher: Pearson Education/Addison Wesley Professional

  • Effective Project Management: Traditional, Agile, Extreme

Author: Robert K. Wysocki

Publisher: Wiley

  • Exploring Scrum: The Fundamentals

Author: Dan Rawsthorne with Doug Shimp

Publisher: CreateSpace Publishing

  • Kanban In Action

Author: Marcus Hammarberg, Joakim Sunden

Publisher: Manning Publications

  • Kanban: Successful Evolutionary Change for your Technology Business

Author: David J. Anderson

Publisher: Blue Hole Press

  • Lean-Agile Software Development

Author: Alan Shalloway, Guy Beaver, James R. Trott

Publisher: Pearson Education

  • User Stories Applied: For Agile Software Development

Author: Mike Cohn

Publisher: Pearson Education

Source : https://www.pmi.org/certifications/types/agile-acp/references

 

 

 

0

PMI-ACP certification exam

avril 20, 2018

PMI-ACP certification exam

The PMI-ACP exam is the exam for the certification PMI-ACP , Agile Certified Practitioner of Project Management Institute.

The PMI Agile Certified Practitioner (PMI-ACP)® formally recognizes your knowledge of agile principles and your skill with agile techniques.

It will make you shine even brighter to your employers, stakeholders and peers.

PMI-ACPism’s

• Assume a small, dedicated team (7 plus or minus 2) rather than a large one
• Delivery Team includes scrum master BA, QA, developer, product owner
• Collaboration is always better than command control style management
• Face-to-face (co-location) is better than virtual
• A stable team establishes a predictable velocity
• Teams self-organize, self-govern, self-directed, make their own commitments
• Recognize you can’t know everything at the beginning of a project
• A software product can be delivered incrementally
• Questions are asked from the perspective of a team
• On the iron triangle, agile sets the time and cost, scope varies
• Terminology: Timebox, sprint (scrum), iteration (xp) are used interchangeably

Exam taking tips

– Find the question in the question text then read the rest of the text. Determine what your answer should be, and then look at the answer options shown
– Read all 4 choices and choose the BEST answer
– Quickly eliminate answers that are highly implausible
– There may be more than one “correct” answer to each question, but only one “BEST” answer
– Watch out for choices that are true statements, but do not answer the question
Options that represent broad, sweeping generalizations tend to be incorrect, so be alert for “always,” “never,” “must,” “completely,” and so forth.
Alternatively, choices that represent carefully qualified statements tend to be correct, so be alert for words such as “often,” “sometimes,” “perhaps,” “may,” and “generally.”

0