Search

Think Big - Act Small: A New Way For Agile Teams?

We all love planning. And planning big is what we do. Don’t you have great visions for your life when you start a brand new year? You identify a great big list of New Year resolutions and set yourself some goals to achieve within the year. When you are soon after your primary education you research and end up planning big on what academic and professional qualifications to achieve and within what timeframe.Even Google has become a part of your elaborate planning! So much so that, even before you key in your exact query on planning, it readily comes up with so many suggestions!Basically, even the search engine giant has got one thing right about you. You always plan big!!But, Agile tells us to think big and not to plan big. Thinking big has a deep meaning. When you embark on a journey you need to think and clarify the bigger picture of the whole journey. For example, if your employees embark on their annual trip you need to set a bigger picture for the staff on the objectives of the trip. Is it merely a journey to somewhere far away, chill and come back the next day? Or are your objectives for the staff to bond a bit better, communicate and build team spirit that can create a positive atmosphere at your workplace?Think big for your Agile projects as well. Identify the bigger picture for the solution that you are trying to develop. Spend time to understand the business outcomes that the solution is trying to achieve and know the key principles for high-performing Agile teams.Is it a solution to improve efficiency?Is it to improve collaboration and convenience?Is it to increase profitability and market share of the organization through better reach?Think about where the solution will be deployed and who will be using it. How will the solution get operationalized and what impact would it have on the Stakeholders. Try to draw forth as much information as possible to identify above aspects of the solution.Thinking big is not only from the business perspective. Think big in terms of the entire solution landscape, the context and the entire solution architecture as well. There is no need to identify a comprehensive solution design and architecture right at the inception. But always keep the entire solution and the key components in mind when you do the design. Make it and evolving architecture by building in the capability to plug in components as and when required. Technology and client needs are changing and hence adaptability is a key.Though you think big you must always make sure to take small baby steps at a time. Acting small means to identify the smallest piece of work or task that needs to be done to make sure that the project progresses forward. Think of a driver that has met with a car accident and is confined to a wheelchair. He will have to go through hours of physiotherapy just to be able to stand up on his two feet again. Then he will start taking one step at a time in his quest of walking again.Concepts that can be measured while thinking Big1) Working in a team incrementally and iteratively  The product size determines how many increments it will take to complete the work. The notion behind working in iterations is to get the status of work at the end of the long stage. e.g. For Development stage, it may take two week cycles over the period of 3 months.Working in increments shows doing a group of tasks at a time, then adding another group in the next iteration. At the end of each iteration, you can show the completed task to the client. This way helps to get early feedback, can update the changes, test out ideas, and deploying before the timeline.  Dedicated teams are nothing new to creative land, what is different, is that it means that they are really dedicated to the project full-time, rather than working on a bunch of other projects at the same time.Now, we know in agency land, this can be hard to pull off, since we have a tendency to move resources around as needed, because of skill-level or other resource issues.Now, you can still manage teams as a dedicated resource by, keeping all of the related projects with one team. All of the pieces are then prioritized (working with the client to decide). This gives you big idea on building a successful Agile team. The big idea is that you work in a dedicated team, and at the end of each iteration, or time period, you have something of value to show the client. In the first time period, the client decides what should get worked on, and with each iteration you add things in the order they are of value (incrementally), and then repeat the process through multiple interactions till the work is done.2) Change should be embracedThe client asks for change, team produce a change, and charge for it. In traditional methodology, teams were preventing change. For software development projects embracing the client’s changes early and updating before the deployment date can be very impactful.Planning plays a crucial role in Agile. Though your end product is outstanding, how to deal with the market demands and conditions is critical part for embracing opportunity and change.In Agile methodology, the Stakeholder and the team prioritize and chooses the highest-priority work to be completed during that iteration. Being flexible at an iteration stage, the client should not ask for the changes during this time. But your team can maintain the scope-of-work by working in 1 or 2 week intervals. If any changes needed then those changes can be pushed to the next iteration. There are some characteristics of new Agile teams that includes limit to what team can accomplish during a fixed period of time. Things can go out of the scope, resources and costs can still change.Agile software development projects are exactly like that. You first think big to identify all components of the solution and the tasks that the team members need to work on as Product backlog items. These are initially at a really high level – may be as epics.Now you can groom the stories and break them down into smaller stories or tasks that can be assigned to individual team members. Remember the 1-2-3-4 rule? One or two implementation team members should complete a story or task taken to the sprint within 3 to 4 days. Acting small will help the team develop something visual and demonstrable as soon as possible so that it can be sent for feedback as early as possible.Think big, act small are 4 simple words with a great deep meaning which leads in creating new Agile teams. For an Agile team to become a successful robust team these are key principles for high performing Agile teams that can be preached and followed diligently.So, do you think big but act small?

Think Big - Act Small: A New Way For Agile Teams?

767
Think Big - Act Small: A New Way For Agile Teams?

We all love planning. And planning big is what we do. Don’t you have great visions for your life when you start a brand new year? You identify a great big list of New Year resolutions and set yourself some goals to achieve within the year. When you are soon after your primary education you research and end up planning big on what academic and professional qualifications to achieve and within what timeframe.
ResearchEven Google has become a part of your elaborate planning! So much so that, even before you key in your exact query on planning, it readily comes up with so many suggestions!

Basically, even the search engine giant has got one thing right about you. You always plan big!!

But, Agile tells us to think big and not to plan big. Thinking big has a deep meaning. When you embark on a journey you need to think and clarify the bigger picture of the whole journey. For example, if your employees embark on their annual trip you need to set a bigger picture for the staff on the objectives of the trip. Is it merely a journey to somewhere far away, chill and come back the next day? Or are your objectives for the staff to bond a bit better, communicate and build team spirit that can create a positive atmosphere at your workplace?

Think big for your Agile projects as well. Identify the bigger picture for the solution that you are trying to develop. Spend time to understand the business outcomes that the solution is trying to achieve and know the key principles for high-performing Agile teams.

  • Is it a solution to improve efficiency?
  • Is it to improve collaboration and convenience?
  • Is it to increase profitability and market share of the organization through better reach?

Think about where the solution will be deployed and who will be using it. How will the solution get operationalized and what impact would it have on the Stakeholders. Try to draw forth as much information as possible to identify above aspects of the solution.

Thinking big is not only from the business perspective. Think big in terms of the entire solution landscape, the context and the entire solution architecture as well. There is no need to identify a comprehensive solution design and architecture right at the inception. But always keep the entire solution and the key components in mind when you do the design. Make it and evolving architecture by building in the capability to plug in components as and when required. Technology and client needs are changing and hence adaptability is a key.

Though you think big you must always make sure to take small baby steps at a time. Acting small means to identify the smallest piece of work or task that needs to be done to make sure that the project progresses forward. Think of a driver that has met with a car accident and is confined to a wheelchair. He will have to go through hours of physiotherapy just to be able to stand up on his two feet again. Then he will start taking one step at a time in his quest of walking again.

Concepts that can be measured while thinking Big
Concepts that can be measured while thinking Big1) Working in a team incrementally and iteratively  
The product size determines how many increments it will take to complete the work. The notion behind working in iterations is to get the status of work at the end of the long stage. e.g. For Development stage, it may take two week cycles over the period of 3 months.

Working in increments shows doing a group of tasks at a time, then adding another group in the next iteration. At the end of each iteration, you can show the completed task to the client. This way helps to get early feedback, can update the changes, test out ideas, and deploying before the timeline.  
Working in a team incrementally and iteratively  Dedicated teams are nothing new to creative land, what is different, is that it means that they are really dedicated to the project full-time, rather than working on a bunch of other projects at the same time.
Now, we know in agency land, this can be hard to pull off, since we have a tendency to move resources around as needed, because of skill-level or other resource issues.

Now, you can still manage teams as a dedicated resource by, keeping all of the related projects with one team. All of the pieces are then prioritized (working with the client to decide). This gives you big idea on building a successful Agile team.
 
The big idea is that you work in a dedicated team, and at the end of each iteration, or time period, you have something of value to show the client. In the first time period, the client decides what should get worked on, and with each iteration you add things in the order they are of value (incrementally), and then repeat the process through multiple interactions till the work is done.

2) Change should be embraced

The client asks for change, team produce a change, and charge for it. In traditional methodology, teams were preventing change. For software development projects embracing the client’s changes early and updating before the deployment date can be very impactful.
Change should be embracedPlanning plays a crucial role in Agile. Though your end product is outstanding, how to deal with the market demands and conditions is critical part for embracing opportunity and change.In Agile methodology, the Stakeholder and the team prioritize and chooses the highest-priority work to be completed during that iteration. Being flexible at an iteration stage, the client should not ask for the changes during this time.
 
But your team can maintain the scope-of-work by working in 1 or 2 week intervals. If any changes needed then those changes can be pushed to the next iteration. There are some characteristics of new Agile teams that includes limit to what team can accomplish during a fixed period of time. Things can go out of the scope, resources and costs can still change.

Agile software development projects are exactly like that. You first think big to identify all components of the solution and the tasks that the team members need to work on as Product backlog items. These are initially at a really high level – may be as epics.

Now you can groom the stories and break them down into smaller stories or tasks that can be assigned to individual team members. Remember the 1-2-3-4 rule? One or two implementation team members should complete a story or task taken to the sprint within 3 to 4 days. Acting small will help the team develop something visual and demonstrable as soon as possible so that it can be sent for feedback as early as possible.
Cost of change curveThink big, act small are 4 simple words with a great deep meaning which leads in creating new Agile teams. For an Agile team to become a successful robust team these are key principles for high performing Agile teams that can be preached and followed diligently.

So, do you think big but act small?

Rumesh

Rumesh Wijetunge

Chief Innovation Officer - Zaizi Limited, Chief Operating Officer - LearntIn (Pvt) Ltd., Director /

Rumesh is an IT business leader with over 12 years of industry experience as a business analyst and project manager. He is currently the CIO of Zaizi Limited, a UK based data management company heading the operations in Sri Lanka, the COO of LearntIn, a global training institute based in Sri Lanka and is also a lecturer / trainer at multiple private universities on management, IT, business analysis and project management subjects. He is the current president of the IIBA Sri Lanka chapter and is one of the most qualified and sought after trainers in Sri Lanka. Refer his LinkedIn profile for more details and to see more articles he has written on linkedin

Join the Discussion

Your email address will not be published. Required fields are marked *

Suggested Blogs

Combination Of Agile & DevOps – The Roots

Agile and DevOps are two notions that originate from the same schools of thought, but whose paths now have digressed. However, a major amount of confusion still remains within the IT services industry with regards to the relationship between the two and has emerging agile & devops trends in 2017. Hence, it is of value to look at the origins of each and to clarify the disparities between them. ‘Tell me what you want, what you really really want!!’ Does the tune ring a bell? Back in the 1990s, the Spice Girls were expressing to the world what they really really wanted, and similarly business owners and corporate leaders were doing pretty much the same, indicating what they wanted to software developers who were working on enabling these organizations through technology. Unfortunately, these business owners were not as lucky as the Spice Girls. More often than not they really didn’t get what they wanted. By the time business requirements were properly understood, validated and finally realized through software products the business requirements more or less had changed.  This was mainly due to the ‘application delivery lag time period’ that sometimes went up to three years. The result of the aforementioned delay from concept to realization meant that a large proportion of projects were stopped before completion. Even then, those that eventually reached the finish line more often than not did not meet the end users’ expectations.  The introduction of Agile – The change-driven management approach The search was on for a more lightweight approach to solution delivery and the result was ‘agile’ – a project management approach with a series of new concepts with regards to collaboration between business owners and the implementation team including UI / UX engineers, developers and even QA engineers. Instead of eliciting, documenting and signing off all the requirements up front and getting it signed off before work began, the focus shifted to delivering value through increments of functional software that would evolve over time. The results indicated that the software implementation team had become more productive, businesses could be more responsive in responding to queries of the implementation team, and user demands could be met more efficiently. However, problems remained. The agile approach didn’t always deliver on the promise of continuous, seamless software development. Blockers continued to exist. So, what is DevOps? The first thing to note is the fact that DevOps is not an individual tool or a suite of solutions but more of a philosophy whose primary purpose is to reduce the distance between the worlds of software development and IT operations. It defines how the original concepts of agile have moved downstream to the level of infrastructure and operations. The DevOps concept sounds relatively straightforward, but in reality it is a little bit more complicated. Software development and IT operations have historically had very different approaches. Software developers appreciate the ability to change things quickly and often they do end up changing things rapidly. In the meantime IT operators focus on stability and on minimizing alteration. This philosophical disparity has often resulted in conflicts. Thus, one of the main challenges of DevOps is to ensure that this conflict decreases before it affects the businesses. Importance of DevOps Principles For this very reason indicated above, it is very important to consider and act up on the core principles of DevOps. They are, Close collaboration and communication between developers, system operators and software testers Continuous integration that requires developers and operators to commit to changes more frequently Continuous delivery to increase the team’s speed and efficiency while enabling early detection of bugs Continuous deployment to ensure new developments can be released without system downtime The DevOps philosophy goes hand-in-hand with the delivery processes described in ITIL Framework in terms of support and IT services management. DevOps can therefore be seen as a way to implement ITIL processes in such a manner that meets the demands placed on systems today.  
3323
Combination Of Agile & DevOps – The Roots

Agile and DevOps are two notions that originate fr... Read More

Metrics that matters for DevOps Success

DevOps is generally introduced for the development teams to speed up the software delivery. DevOps is considered as a step beyond Agile. Many enterprises accepted DevOps as a part of software delivery process from planning, developing, deploying and updating an application, according to reviews. In this competitive world, DevOps allows businesses to speed up with the rapid pace of demands by the customers.Here are the top Ways to Obtaining Business Benefits of DevOps. Customers of today demand quality as well as security based products. DevOps, making the best use of its principles, provides superior quality and lowers the risk. On the contrary, in traditional software development approach, increased speed often results in poor quality and increased vulnerabilities. Why are metrics essential? Most organizations implement DevOps because of the demand for quality, time improvement and the need for defect-free products. Since DevOps has no specified framework, there exist a few standard ways to measure DevOps success. How do you find out how well it can work? How will you come to know whether it is working or not? The answer to this question, and the solution to all the existing problems, is the use of Metrics. Metrics are essential to stay in sync with DevOps. DevOps will be used extensively which therefore requires continuous treatment. But if you are not measuring its outcomes, you cannot understand how to incorporate DevOps in your organization. The focus of DevOps metrics is on deployment, operations, and support (feedback). Let us have a look at the Devops metrics which will lead to improved delivery performances. People: People are the major elements of the DevOps process. People-oriented metrics measure the things like yielding, capacity and response time. People are the hardest element of DevOps. So always start with the phase ‘People’. Process: In some ways, DevOps is considered as a process of  continuous deployment. There are many process-oriented metrics. Development to deployment is a large process-oriented metrics. Process metrics can be the measurement of speed, appropriateness and effectiveness. Technology: Technology metrics also plays a major role in DevOps. It measures the things like uptime (time during which the computer performs operations), network and support, and failure rate. Deployment (or Change) Frequency: DevOps metrics includes continuous deployment. Updated software deployment in every few days can be possible with fast feedback and piecemeal development. In a DevOps environment, deployment frequency can be measured in terms of the response time, the teamwork, the developer capacities, development tools and the overall efficiency. Change Lead Time: Change lead time is the time period between the initialization phase to the deployment phase. In DevOps, it is a measure of development process efficiency, code and the development systems’ complexity, and also of team capabilities. A protracted ‘change lead time’ is an indicator of an inefficient deployment system. Change Failure Rate: One of the main goals of DevOps is to do frequent deployment with less failure rates. Failure rates metrics should be decreased over time, as the experience and the capabilities of the team and developers get increased. If the frequency of failure is very high, it is definitely a red flag, as it gives rise to problems in the overall DevOps process. Mean Time to Recover: Time taken between ‘recovering the failure’ from the ‘failure’ is known as Mean Time to Recover (MTTR). It can be fragmented into three phases- detection, diagnosis and recovery phases. MTTR metrics is the sign of a good teamwork which identifies how effectively the teams handle the changes, and also, how collaboratively they do so. By all means, this metric is becoming a trend for DevOps to remodel organizational processes in a better way.
Metrics that matters for DevOps Success

DevOps is generally introduced for the development... Read More

Agile and DevOps Or Agile vs DevOps: Differences

Agile is the standard in today’s application development world. Development teams are adopting it over the last 10 years, as it has been proved to be more efficient methodology of getting quality software. Agile has improved user experience by frequently rewarding with focussed goals and quick delivery. In addition to this, the broad use of DevOps in Agile methodology has made it a more compelling approach for IT commercials. In this context, it is important to know that Agile is not DevOps, and DevOps is not Agile. It is difficult to achieve success in DevOps, if Agile practices are not followed. While Agile can make sense independent of DevOps, it can be more complete when accompanied by DevOps practices.Here are the emerging Agile and DevOps Trends. Many people have set their minds about Agile, that Agile means Scrum and DevOps means continuous delivery. This simplification creates unnecessary confusion between Agile and DevOps, making people think that they are perfectly compatible. So, let us have a look at the practical connections between Agile and DevOps. Planning for Unplanned work: In the DevOps circle, those using Agile acknowledges that Scrum is used to track the planned work. Tasks like releasing updated system, performing system upgrades etc, can be planned. On the other hand, the operations like performance spikes, system expiry, and standard security, can be unplanned. These types of tasks need immediate response. You cannot wait for the next sprint planning session. For this reason, many organizations embrace DevOps (more than Scrum and Kanban), which helps to track both kinds of work. Before, there were priorities from multiple masters, but now a single set of priorities are in use. Similarly, for a long list of assigned work, the time period is planned to accomplish the work. These lightweight management practices by Scrum make a huge difference for a team. Speed vs Risk: Teams using Agile with or without DevOps have to remember that, to support the rapid change, a sound application structure and a solid foundation are mandatory. Applications must have good underlying framework that must be used constantly by the team members. In the DevOps context, the teams must make sure that the changes which are made to the architecture should not introduce any risk. Also, there should not be any hidden side-effects associated with the changes, because the iterative process consists of regular changes in the architecture. So you should be concerned about the risks associated with each and every change made. Only with this type of work will you get rapid delivery without any risk. Agile and Quality: Both Agile and DevOps help develop an application fast, keeping sound structure and risk-free application.  But neither of them concentrates on the quality of the product. Mostly, IT organizations rely on the ‘fail fast’ principle- “ Early failures cost less to fix”. But with this, only fast deployments can be maintained, not quality. Agile produces applications that fit better with the desired requirements and can adapt quickly to respond to the requirement changes made on time, during the project life. DevOps, along with the automation and early bug removal, contributes to creating better quality. Developers must follow Coding and Architectural best practices to  embed quality in the applications. Agile and DevOps should try reach the next level to become highly effective within the organizations. They must conform to the industry standards using Agile and DevOps practices, to allow the development team to improve quality, make delivery faster and avoid software risks.
1442
Agile and DevOps Or Agile vs DevOps: Differences

Agile is the standard in today’s application dev... Read More

Useful links