Posts

Showing posts from June, 2010

Deploying Agile/Lean in the Organization- Last Thoughts

Agile/Lean Does Not Mean Downsizing!
Agile/Lean does not mean reducing or cutting down on the work force and making the rest of them work much harder for the same pay. It also does not mean downsizing the workforce after the productivity is doubled because of implementing the Agile/Lean principles. This practice is very de-motivating for the employees and could act as a deterrent to their commitment. Remember ONE of the twelve “principles behind the agile manifesto”is Business people and developers must work
together daily throughout the project
. We all succeed or fail as a team together.

Building Agile Teams Fast Presentation

Deploying Agile/Lean in the Organization- Building a Lean Team

Ten-Building a Lean Team

The Agile/Lean plan must be communicated to the workforce (face to face) and an agile implementation (involving five to six people) of the volunteers must be formed. The role of the team members must be demarcated. If you stick to a few of these suggestions your team should perform admirably. Look at your employees and try to determine which ones have demonstrated some of these traits so you can build your team. I put together a quick power point on “Putting Agile Teams Together Fast” and I embedded it above.
Understanding “just enough" planning
Pursuit of customer value they always come first
Technical excellence ability to complete different roles
Collaborator, communicator (face to face) with upper management
Team to ownership, we all win or lose together

Deploying Agile/Lean in the Organization- Role of the Senior Management

Nine- Senior Management
Senior management plays a critical role in the implementation of Agile/Lean. They need to discuss and agree on their vision for the Agile/Lean project. The management must also brainstorm to identify the project leader, team makeup and business goals. The business needs to make timely decisions and share all the knowledge with the development team. Senior managers have to support the development project so they must have a solid understanding of the technology being used. Management must get the development (agile) team involved from day ONE, your operations and support teams must be able to support the project from inception to maintenance. Management must take a business enterprise view of the project, exp: integration of new system to legacy system. The Agile/Lean projects I have been involved with have had the upper management totally behind the methodology so we have been successful multiple times on multiple projects, IT IS TRULY THE KEY!

Deploying Agile/Lean in the Organization-Automation

Eight-Automation
Automation to the production system should automatically adjust to external and internal conditions. This can be one of the toughest things about Agile/Lean implementation, the automation surrounding any repetitive activities. Having developers writing code and writing unit tests is sometimes very difficult because of time, resources and the unwillingness of team members to take on multiple roles. Repetitive activities consist of developers/quality assurance running unit tests that verify the smallest possible modules of the application software. Completing the execution at a rapid pace is one of the Agile/Lean principals for iterative development. For the methodology to work you will need to make the builds completely portable across environments, integrate unit testing into all builds and automate the deployment process so multiple team members can deploy to the environments. These iterations that are divided into 2 week modules and the prioritization of requi…

Deploying Agile/Lean in the Organization- Use Design for Six Sigma

Seven- Use Design for Six Sigma
The most important thing for an organization is business/stakeholder/customer satisfaction. I believe with Agile/Lean implementation you will be able to find new ways to keep the existing business/stakeholder/customers satisfied and bring in new business. The new designs and methodology should be adopted irrespective of the investment already made in the form of existing assets and processes to keep the customers happy. Faster to market (2 week iterations) better quality (iterative testing) face to face communications (ability to validate all the stakeholders requirements) and usable software in every build (seeing is believing) will propel your Agile/Lean development project to a successful status.

Deploying Agile/Lean in the Organization- Build Strong Relationships

Six-Build Strong Relationships
The delivery and information system of the organization should be incorporated with that of the business/stakeholder. I consider two key elements when building relationships while implementing Agile/Lean in your development projects.
You MUST know what the client/business/stakeholder needs and to know the client, collate as much information as possible about the individuals and groups that make up the stakeholders.
You must provide timely, quality driven, applications from your development team. You must track and monitor your development efforts and speak to individuals directly, (face to face) to encourage feedback.
Prioritization of specific stakeholders in the group, if you intend to maintain support you must segmenting your list into groups and then listing them in order of importance. This sometimes sounds bad but you must deliver key information to the key discussion makers (KDM) of the group to facilitate the forward movement of the projec…

Deploying Agile/Lean in the Organization- Elimination of “Just-in-Case” Activities and Resources

Five- Elimination of “Just-in-Case” (JIT)Activities and Resources
The delivery of the products should be “just-in-time”; Agile methodologies iterative building, testing and team environment coincides with this Agile/Lean development and deployment style. No extra items should be ordered from the suppliers and there should not be a huge pile of inventory, or to associate it with Agile “develop working software with every iteration during every 2 week sprint". Temporary or per diem workers should not be hired to deal with “unforeseen” issues you need to deal with issues as an agile team, NOT distribute the working environment making it harder to communicate face to face.

Deploying Agile/Lean in the Organization- Standardizing the Process

Four- Standardizing the Process
The key processes must be identified and work should be reduced in terms of variation, errors and defects. Agile helps the standardizing of processes in many ways to help create an Agile/Lean environment.
Iterative development which development team members perform builds, validate, and deliver working software.
Testing throughout the 2 weeks sprint life-cycle (unit cases written by developer and QA).
Team not individuals, co-located teams and face to face communication.
Working software delivered every 2 iteration.
Stakeholder collaboration everyone works as a team and is in direct contact.
Proactive to change NOT reactive to changes in the project.

Co-located agile team (below) in a workroom example

Image

Deploying Agile/Lean in the Organization- Distribution of Work

Three- Distribution of Work

“The work must be distributed evenly among the employees and the process must be balanced” This speaks volumes when you associate it with Agile development. Co-location of teams in one workspace where the business, developers, BA’s and QA are situated in the same work environment (work-room). The more you are distributed throughout a region, building, etc your communication strategy will deteriorate. Face-to Face communication from team members in one location will bring a cohesiveness that distributed teams cannot achieve. I put together a quick Slide-Share presentation with some tips we have discovered while having to ramp up an Agile team at an accelerated pace. I added an example of a co-located agile team (above)in a workroom, your configuration of types of employees and amounts will differ depending on the type, size and scope of project.

Deploying Agile/Lean in the Organization- Mapping the Value Stream

Two-Mapping the Value Stream
The flow of the work and information must be identified to determine how it creates value. Measures to identify the non-value added activities must be taken and waste (muda) must be reduced. You will have to value steam map for the amount of time people actually spend working on a tasks for the project like building, testing, and fixing. You will also have to map the overall time people are working on tasks from the moment they are assigned them (or volunteer). Try to look at your maps and try to classify about 75 to 80% of it as non value added time. Remember as a team value stream maps are produced by collaboration with the entire team and will identify organizational waste. Also try to keep it high-level, the team will see the value stream moving more quickly, from discovery to delivery.

Deploying Agile/Lean in the Organization

One-Identifying Value

Deploying Agile/Lean in an organization means bringing in a cultural change. Certain guidelines need to be followed while deploying Agile/Lean in the development process. We as development teams are making real efforts to improve our time to market when building IT applications. Speed and quality have been a direct result of implementing Agile/Lean in the development workplace. Agile/Lean/Scrum/XP have created at least for me a better working environment where all team members work in unison following one path which is to create the best software that will be delivered on time to the business. As more organizations move toward the Agile/Lean application development methodology I see organizations starting to experiment, innovate, and teach these different techniques to a wider audience of business leaders. During the next few years Agile/Lean will continue to grow in use and will morph into something that might not resemble what we use and see today which I …

Lean Tools- Sustain

Tools Five
The effort to keep the workplace should be sustained. The Agile cultural environment should be imbibed in every employee of the organization. The stress should be on raising the bar and efforts should be towards continuous improvements. This can be completed by the continuous testing that will arise from the shortened development cycle using this methodology. 2 week iterations force development, QA, BA’s and the business to work cohesively toward sustaining the cycle, thus developing better software. You also must chronicle the issues you find in order to know the time and frequency of their occurrence. The issues can be identified using the Pareto analysis; here is a great introduction to this type of analysis.

Lean Tools-Shine

Tools Three
Shine-Now this one is a small stretch when speaking about Agile. Shine implies keeping the workplace clean and clear. Cleanliness includes housekeeping efforts and keeping the dirt away from the workplace. The most important this here as we can relate it to Agile is that the infrastructure, equipment, development and testing environment are in good order (apples to apples) and software, hardware are up to date and will mimic production or as close as possible.

Lean Tools- Standardize

Tools-Four
The storage methods should be standardized, a tightly integrated database team is key to effective Agile development. The best practices should be followed by everybody in the organization to set an example and to standardize the efforts. Although, it is difficult to indoctrinate these habits in everybody, routines should be maintained in order to standardize the new development team. A dashboard planner can help to keep the project on schedule and Rally Software looks like it has a good product. With a dashboard the entire team can visually see how you are doing with the sprints and burn down charts.

Lean Tools-Set in Order

Tools Two
Set in Order-means the items which are required should be put in a proper place so that they can be easily accessed when the need arises. Ergonomics are taken into account and the items are placed within access. With Agile development teams you integrate and co-locate the teams so the resources have face to face contact, improving communication among the entire Agile team. Also all user stories are located together in one location, this will show your team WHAT and HOW you are doing during the 2 week sprints. Also with the team and the stories co-located the team can use the documentation as reference when solving problems during the sprints as well as for back log planning.

Lean CANDO (Cleanup, Arranging, Neatness, Discipline and Ongoing Improvement)

Tools One-
Sort/ Cleanup-means to clear the work area. The items which are required or important for a particular area in the workplace should only have things which are required. The things which are not required should be sorted out. In the Agile office environment it means clearance of unnecessary papers, co-location of team members, face to face communication and updated information to the enterprise on a daily (daily stand-ups) basis. Agile will help in saving time and removing the unnecessary hindrances in the work team environment.

Lean Tools

It is important that all the processes be coordinated in order to achieve a perfect flow. The need for Lean tools grew out of the problem of inefficiency and standardizing the process. The Lean tools allow a perfect flow for the organization. Lean begins with the identification of waste, and then uses tools like value-added analysis and value stream mapping. There are (7) seven quality tools that can be used for improvements and the process are known as ‘kaizen’. You can see how Agile fits into Lean, streamlining the processes, small teams, fast turnaround times (pull) and streamlining documentation. I will detail the seven (7) tools in the next posts.

Lean Thinking 5 (Five) Principles-Perfection

Principal Five (5)
Perfection
Perfection is one of the most important principles of Lean Thinking. This is because continuous improvement is required to sustain a process. The reason behind sustaining a process is to eliminate the root causes of poor quality from the manufacturing process. The manufacturing/development system is aligned to support the continuous flow process throughout the enterprise. There are various methods to improve perfection in a development organization and Lean Masters is one way of improving it.