Agile Tools

How to select an Agile tool that works for you and your team

The agile approach to project management entails constant changes which require a set of tools that are not only resilient to the various changes that will emerge in the development process, but which also suit how your team works.  The ideal tool for each organization will be different, but in any case, it will facilitate agile work processes and allow for team structures to be adapted for maximum project results.

Read more here.

{image courtesy: Flickr/Dushan}
Agility

Myths & Misconceptions about Agile

Many organizations and teams across industries and throughout the world are using Agile methodology to get the advantages of faster product delivery, shortened feedback loop, and increased collaboration between teams.  This doesn’t mean, however, that the move from traditional to agile project management is an easy one.  As with any new approach and methodology, there are hurdles in adoption — a prevalent one being the need to overcome a number of myths and misconceptions about what an agile approach involves.

Such common myths and misconceptions, five of which are addressed below, arise as a result of a lack of adequate understanding of the agile method.

Read more here >>

Better Software Magazine Jul/Aug 2014

How Can You Get More Effective with DevOps?

Here’s the excerpt of my recent article published in Better Software Magazine, :

The promise of DevOps is to provide a basis of collaboration between organizations and IT that produces superior customer value.

One of the most recent changes in the operations and delivery surrounding IT has been a new awareness of how critical sup- port for ongoing operations is, and how the value chain should continue to improve for the various businesses that IT sup- ports. For large and fair-sized corporations, where the core business is anything but IT, popular opinion suggests that IT is perceived to consume company profits—essentially, a cost center. This has led to a high level of scrutiny in recent years, especially with tighter budgets and shrinking profits. The need for tight control of expenditures in IT development and support to keep the network running smoothly is a growing concern for the CIO and CFO. In effect, this has turned into a struggle between the need to main- tain tight operations with minimum expenditures and resources while attempting to maximize support and continuing to produce results. …

Download the Better Software Magazine’s July/August 2014 Edition here to read the full article.

Product Owner

How to Be a Stellar Product Owner

Here’s the repost of my recent post on ScrumAlliance.org:

As we get into the routine of releases and sprints, over time the Scrum team establishes its work pattern, and the product owner (PO) becomes more familiar with not only the team but with methods for developing the product build with agility. As we move into sprint after sprint, daily stand-ups, planning, review, and retrospective sessions become second nature for the team. During this process, the PO may feel overwhelmed by the demands of involvement with the team, as well as the demands of external priorities. Some POs may lose their focus on the team as those external priorities shift. To address this and a few other factors that can affect the transition from being an average PO to being a stellar PO, I’ve listed some traits that can help a PO move in that direction.

A stellar PO makes himself or herself available to the team.

Product ownership is more than just a minor commitment — active participation in team gatherings is essential. A stellar PO must also commit to assisting with the resolution of various impediments affecting the team and with keeping product development on track, which requires more than a fair share of commitment.

Product ownership may be not a full-time job, but it needs sincere, dedicated attention from the PO so that the team gets queries answered and clarified, so they can keep development continuous, without any hiccups.

While the PO makes sure that his or her availability is active and ongoing for the team, the team should make sure that they respect the PO’s time, making productive use of everyone’s time during various Scrum ceremonies and activities.

A stellar PO is knowledgeable about the product being developed.

One of the key factors that every PO should know is the organization’s end-user market. Without that knowledge, any PO could unintentionally derail the team and lead them in the wrong direction — and on toward failure. The PO must be well versed in each and every end-user requirement.

From the team’s perspective, the PO is a powerful and resourceful representative for the business (as it pertains to a specific product within a business unit). As such, a stellar PO should have access to all pertinent information and should have full authority to guide product decisions in the right manner through the various Scrum ceremonies.

The PO represents the business and speaks on behalf of the business — any conflicts or issues encountered during development must be resolved by a single voice in the favor of customer value and end-user benefit.

A stellar PO is empowered.

With two-week sprint cycles, the entire duration is crucial for completing, testing, and potentially shipping the number of stories selected by the team. Since time is of the essence here, it becomes absolutely essential for the PO to respond in a timely manner to all requests for information or clarification that are sent his way by the team. Promptness, being on top of things, and fighting fires for the team is the key to the success of the project.

POs are direct business representatives (at least that’s the expectation), and it is expected that part of the PO’s role is to provide ready access to decision makers or influencers. In the absence of such access, crucial development decisions can be delayed and progress slows down — or comes to a halt — as the team struggles with issues that the PO should be able to easily manage. The result is incomplete stories and an unsatisfactory sprint outcome for the end user.

One of the strong traits that a stellar PO exhibits is acting as an advocate for the team. Teams that receive essential and accurate product direction and support build a higher-value business product. The stellar PO should take every opportunity to demonstrate advocacy for the team.

Summary

If you think of the product development cycle as a train, the team is part of the engine and the PO acts as its conductor. As developers move the process forward (acting much like an engine), they improve efficiency with every effort applied to delivery, and they help move the product as directed by their conductor, the PO, according to the defined and accepted stories and requirements. The conductor keeps the product train on track so it reaches every determined station (sprint completion) with the allotted resources and within the set time frames. Both the conductor and the engine must work together to get the product train to the right station with the right requirements and resources, in one piece and on time — each representing half of the equation toward reaching the solution. The PO and the team are core partners on this “journey,” and their profit is ultimately measured by building a high-value business product for their customers.

agile-img

Lean Building: Understanding Waste and Managing It with Agile

Here’s the excerpt of my recent post on ScrumAlliance.org:

Within the context of product development and manufacturing, Lean management is essentially an efficient means of controlling production costs and maximizing profit over the product life cycle while avoiding and reducing defects and scrap (wasted effort, time, and resources). Waste typically occurs in the form of excess inventory, production, resources, or processes. This is valid for the manufacturing industry but is applicable to other industries as well, though the terminology may change.

There are eight areas of waste defined in Lean management:

  1. Transport: Moving people, products, and information
  2. Overproduction: Producing more than is immediately required
  3. Waiting: For parts, information, instructions, resources, and equipment
  4. Inventory: Warehousing parts, pieces, and documentation ahead of requirements
  5. Skills: Underusing staff capabilities or delegating tasks beyond scope and training…

To read more, please go to ScrumAlliance.org >>

How to effectively Manage Today’s IT Challenges

The Agile Manifesto states:

We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value:

Individuals and interactions over processes and tools

Working software over comprehensive documentation

Customer collaboration over contract negotiation

Responding to change over following a plan

Source: Beck, Kent; et al. (2001) – “Manifesto for Agile Software Development”; Agile Alliance

In addition to managing software/hardware and resources, IT must identify and focus on a myriad of key factors and anticipate obstacles before they occur. Costs, processes, technology changes, and the ability to visualize future opportunities are all critical elements that must be predicted and planned for. The ‘top five’ areas IT managers should strictly adhere to are:

  • Communication
  • Planning
  • Testing
  • Vision
  • Maintenance & Support

While there is a myriad of challenges facing IT teams, I want to highlight five of the most crucial challenges that illustrate the need for and use of the top five areas mentioned above.

Top Six IT Challenges

Security

TECH4A good example of a network security breach is the US government’s healthcare website, which has had its sensitive information compromised because of failures in the website’s security. Essentially, systems protecting the customer’s (applicant) security and privacy were never tested because of deadline restrictions. In addition to threatening customer security, the security of other agencies including the IRS, the Social Security Administration, and the Department of Veteran’s Affairs, which interface with the compromised hub, were also put at risk. That is why strategic project planning and communication must be at the forefront of every project and strict guidelines must be respected and adhered to during each stage of the development process, and testing and retesting of each project component, and then of course providing maintenance of the new system, take preventive measures and eliminate potential problems such as downtime or security breaches, which are unacceptable on any level.

Moving beyond dated or overly complex systems and towards technological innovations also requires IT to address similar concerns and deliver simple, effective solutions to the organization and sharing of an ever-increasing amount of information. Not only must new technologies be introduced, they must seamlessly interact with existing, older ones. More and more companies are recognizing that their customers want to connect with their companies through applications and social media. It is therefore essential to construct technologies to facilitate that communication and interaction with systems while protecting their security and integrity. These systems must also be available to company staff while remaining invisible to outside entities. Any breach will impact not only the company’s financial wellness but also client confidence, so appropriate security measures such as encryption, authentication and other standard measures must be fully tested and integrated from the start. With agility in mind, processes and tools are important, yet clear, effective communication among all project participants is vital to the success of every project deployment, as this example illustrates.

Virtualization

Creating virtual processing environments that can be used by a varied assortment of users is not only a must, but one that requires deep knowledge not only of each department’s applications environment but how processes connect and communicate with each other. Each user’s snapshot of the virtual environment must be current and accurately portray how finished applications will look and behave in the ‘real world’.  The ‘virtualized’ IT environment demands larger and sound storage measures. Many organizations IT systems are aging rapidly and must be upgraded to meet new demands. This can present new challenges as the infrastructure may be somewhat piecemeal, which requires careful planning to ensure that new technologies are seamlessly connected to the older systems so that all network components communicate with each other effortlessly. Agile methodologies stress responding to change over following a plan — Which of course doesn’t mean that Agile teams ignore planning. Rather, flexible plans allowing for these rapid changes are built-in the software and processes, eliminating costly do-overs and major upgrades.

Cloud Computing Services & Social Media

Cloud computing, while advantageous and useful, present new threats to not only application security but to the entire infrastructure as a whole, and must be planned for and prevented. This requires the rapid development and deployment of new technologies being built into the networks to provide authentication of all users wanting access to company’s networks.

Information collected through social media merges with selling and marketing data to provide a valuable bank of information. This in turn necessitates the construction and implementation of assorted data repositories, statistical data, and new tools and processes to distribute and analyze the collected information. Agility recognizes that processes must evolve with industry changes. In the new workplace, companies eschew printed or digitized documentation in favor of information stored and retrieved from the Cloud. Agile stresses that working software is more important that comprehensive documentation, since it is more advantageous for customers to readily obtain information from the Cloud and interact with the network with a single click.

Globalization

Organizing offshore computers on the computational grid is essential for providing unrestricted access to all computers on the grid, regardless of geographical location or system configuration. A global environment requires that the entire infrastructure, including processes, be standardized to facilitate growth and expansion across all departments worldwide and enabling updates and maintenance of software on open-source systems.

Change Management

More than ever, IT professionals must recognize, plan for and manage network and organizational changes. Agile developers especially realize the importance of responding to change, since even the best-laid plans can’t prevent a few glitches. Globalization, constantly developing processes and emerging technologies all require strategic approaches to the successful management of business/technologies change management. What are the changes required, how will they affect the organization as a whole, and what training/mentoring will be required to make the transition smoother? This is especially crucial when adopting newer methodologies like Agile.

Cost (of IT Services)

Sometimes it can be a challenge to convince CFO’s and other financial principals why the client company should do away with recently acquired, conventional systems and processes in lieu of emerging technologies. In this instance, IT should explain why upgrading early will be beneficial to their company and save them money in the long run. Other costs to consider are adding on to existing infrastructures (hardware/software acquisition), technical support, training, etc. In this scenario, vision, planning and communication all have an important part to play in identifying costs and even eliminating non-essential client expenditures. Agile methodologies recognize the value of customer collaboration to project success rates, and cultivate this through allowing one or more customer representatives on the project team. Customer representatives then work closely with developers through each stage in the process, providing critical feedback and ultimately reducing costs.

Summary

Effective strategies for managing  IT operations efficiently are a critical part of improving business operations. Recognizing important elements and fostering clear communication of all strategies and processes creates a collaborative vision that translates to success. What are some of your experiences in IT/Agile management? I would enjoy reading your comments, and if you enjoyed this article, feel free to share. In my next blog, I will elaborate more on this topic with real-life experiences, and would like to hear your own as well. You can also read more about IT management and Agile in my books.

Challenges in managing IT Operations

It can be a real challenge for a large organization to manage its IT operations when it doesn’t have the right fusion of people, an effective delegation of leadership, the appropriate set of tools and processes in place, and the correct type of environment and resources in place. As the organization grows, so does its needs, which introduces complexities in almost every area of IT operations, whether applications, infrastructure or the new project work itself.

In many typical cases, applications are developed in one department to meet its needs without a lot of planning. These grow exponentially until no department can effectively function without it, which requires an examination of why it was developed ‘on the fly’ in the first place. As problems stem from that, so does the problem of maintaining the disjointed application and its ever-growing and often troublesome database. On the infrastructure side, some organizations love recycling while some find it very difficult to part ways with the server they bought not that long ago. And some departments find it difficult to justify the cost vs. the benefits of buying and replacing a server that appears to be effectively and smoothly running the internal app server during its short lifespan, even though it runs a greater risk of failing any time even though the application may not be high availability.

The IT manager has many challenges, from hardware and software resources to staff, but the IT organization must still operate smoothly and support the business no matter what. These challenges are a natural part of any IT organization and therefore require that IT carefully assesses the way it conducts its business, and is especially critical for those finding it difficult to address these challenges. This is a pre-cursor to my new entry “How to effectively Manage Today’s IT Challenges”. 

Stepping ahead into ‘trust’ based learning

This is the continuation of previous post “Building Learning Communities”.

As we move into the mechanism of how learning could be further improved, using some techniques, that would challenge the learners, as well as, the coach; we find that one thing that  binds these two at the coaching crucial stage is “trust”.

Trust.
Trust is often not easily obtainable, and neither can it be forced upon to it. Especially within those organizations where focus is more on people and individuals rather than on processes and methodologies, there within those organizations it becomes a critical success factor. In my experience, I’ve seen teams at times being disintegrated from their immediate focus due to lack of trust between team members, and thus creating a mindset gap in learning for not only within the team itself but within themselves. This has a recursive effect on the organization that is trying to move forward. It hampers any success for the group as a whole.

So how do we encourage ‘trust’ based learning?
This is an important question, and mostly missed by a big margin by a lot of individuals. This stems from the simple fact that the organization, which is looking to be structured, and learned wants to learn are actually structured. Whether that learning organization promotes such a healthy culture and builds on that sort of environment. Whether there are tools and people available, who would fuel and enhance that learning experience. There are different ways to look at such a problem. Mostly organizations try to accommodate with what’s available to them or simply put what’s within their reach as they tend to maximize on their existing resources. In the end,  all matters come back to the fact of trust. Organizations go with people whom they believe in and have their trust on, and someone who’s the person would have their best interest; therefore, it is always recommended having that person from within the team. So essentially, this needs to come from the organization within, and usually should be top down. Why? Cause then everyone pays attention to what the management has to say. Sounds crass, but that’s the reality of the world we operate in today. Doesn’t matter how less of a hierarchical your organization is.

Next, I’ll talk about  Learning Communities & Organizational Preview.

 

blog by Manoj Khanna, Agile Coach, Consultant & Trainer