Sort by :

Importance of ‘Teams’ in Scrum

In a Rugby team, it is the ‘pack’ that keeps the team on track. The stronger the pack is and more technically sound they are, the better core strength they portray in keeping the Scrum upright, thus helping the Scrum half wrestle the ball away from the opposition. However, it is not just the pack that needs to be rock solid. The ‘line’ must consist of fast and agile runners who are capable of maneuvering through any obstacle and make their way to the try line. An Agile team should exactly be like that! They must be able to steamroll through any obstacle or blockage utilizing their skills and competencies to drive the Scrum team towards is Sprint and project objectives. What is a team? It is important to first of all see what a ‘team’ is. A team is a group of individuals who possess knowledge, skills and expertise in a variety of areas. But they all must be committed to a goal where each team member is assigned to a set of tasks geared towards achieving the set goal. Each member in the team may specialize in one area but will have some sort of general skill in other aspects as well. A good team member must be a specialist as well as a generalist capable of taking up any challenge to the betterment of the team. Team Vs Group of Individuals? It is important to understand the difference between a team and a group of individuals performing a certain set of tasks. Let me try to explain using two different scenarios. Scenario 1: A cricket team is chasing a score of 250 runs in a 50 over cricket match. 9 wickets have fallen and the team needs another 8 runs for victory with the last pair standing with 2 overs to go. At the crease is the number 5 batsman, a specialist batsman and the last man who is a specialist fast bowler.  However, the bowler tries his utmost to give back the strike to the senior batsman and to hang around till victory is achieved.  Scenario 2: The production line in a garment factory consists of a supervisor, a designer, a pattern maker, a cutter, a tailor and a quality checker. These individuals do a specialized task and hand over the work to the next in line who adds more value to it and so on. If one person is absent or gets delayed in performing the task, the whole production line may get affected. Another team member may not be able to take up the task as he specializes only in one area. So, which one would you define as a team? Is it scenario 1 or scenario 2? I’m sure all of you agree that the group in scenario 1 is more like a team where each individual is assigned a specific role, but as per the requirements of the team they are able to adapt and contribute to the betterment of the whole.  This is exactly what is expected from a Scrum team. The Scrum team must be, ● Cross functional – This does not mean that QA engineer must mandatorily be able to code or a business analyst must be able to perform UI design work etc. but it just means that each team member must be able to develop at least one additional skill which may be transferable and be applied as and when needed. ● Self Organizing – There is a misconception among Scrum teams that it is the sole responsibility of the product owner to update the backlog and for the Scrum master to manage the stories and tasks. It should not be the case again. The implementation team has the freedom to add or update tasks as required to achieve the product goals. They must also be able to organize themselves during the Sprint, manage their time, carry out scrum ceremonies diligently and basically organize their work for the common betterment of the team. ● Self Healing – A Scrum team must be able to face impediments as a team, discuss about them and identify solution options most suitable to overcome those problems. Yes, the Scrum Master can be the protector and the guide, but the team itself must collaboratively sort out issues and move the project forward. ● Goal Oriented and committed – All activities and tasks carried out by the team must be in order to achieve the sprint goals and objectives and finally the release goals and objectives. The Scrum team must be committed during the sprint to perform tasks diligently to work towards the goal as a team. Thus any decisions made during the sprint must be made with the end goal in mind. ● Led and Protected by a leader, the Scrum Master – The Scrum Master is not a task master like in traditional waterfall projects. He must be a servant leader who leads by example. The scrum master must guide the team about the process to be followed, protect the team from outside interferences and solve problems through subjective and objective discussions and analysis. Thus we can see that a good Scrum team is like a well-oiled machine. A well trained and highly disciplined Rugby team.   
Importance of ‘Teams’ in Scrum
Rumesh

Rumesh Wijetunge

Blog Author

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

Importance of ‘Teams’ in Scrum

In a Rugby team, it is the ‘pack’ that keeps the team on track. The stronger the pack is and more technically sound they are, the better core strength they portray in keeping the Scrum upright, thus helping the Scrum half wrestle the ball away from the opposition. However, it is not just the pack that needs to be rock solid. The ‘line’ must consist of fast and agile runners who are capable of maneuvering through any obstacle and make their way to the try line. An Agile team should exactly be like that! They must be able to steamroll through any obstacle or blockage utilizing their skills and competencies to drive the Scrum team towards is Sprint and project objectives. What is a team? It is important to first of all see what a ‘team’ is. A team is a group of individuals who possess knowledge, skills and expertise in a variety of areas. But they all must be committed to a goal where each team member is assigned to a set of tasks geared towards achieving the set goal. Each member in the team may specialize in one area but will have some sort of general skill in other aspects as well. A good team member must be a specialist as well as a generalist capable of taking up any challenge to the betterment of the team. Team Vs Group of Individuals? It is important to understand the difference between a team and a group of individuals performing a certain set of tasks. Let me try to explain using two different scenarios. Scenario 1: A cricket team is chasing a score of 250 runs in a 50 over cricket match. 9 wickets have fallen and the team needs another 8 runs for victory with the last pair standing with 2 overs to go. At the crease is the number 5 batsman, a specialist batsman and the last man who is a specialist fast bowler.  However, the bowler tries his utmost to give back the strike to the senior batsman and to hang around till victory is achieved.  Scenario 2: The production line in a garment factory consists of a supervisor, a designer, a pattern maker, a cutter, a tailor and a quality checker. These individuals do a specialized task and hand over the work to the next in line who adds more value to it and so on. If one person is absent or gets delayed in performing the task, the whole production line may get affected. Another team member may not be able to take up the task as he specializes only in one area. So, which one would you define as a team? Is it scenario 1 or scenario 2? I’m sure all of you agree that the group in scenario 1 is more like a team where each individual is assigned a specific role, but as per the requirements of the team they are able to adapt and contribute to the betterment of the whole.  This is exactly what is expected from a Scrum team. The Scrum team must be, ● Cross functional – This does not mean that QA engineer must mandatorily be able to code or a business analyst must be able to perform UI design work etc. but it just means that each team member must be able to develop at least one additional skill which may be transferable and be applied as and when needed. ● Self Organizing – There is a misconception among Scrum teams that it is the sole responsibility of the product owner to update the backlog and for the Scrum master to manage the stories and tasks. It should not be the case again. The implementation team has the freedom to add or update tasks as required to achieve the product goals. They must also be able to organize themselves during the Sprint, manage their time, carry out scrum ceremonies diligently and basically organize their work for the common betterment of the team. ● Self Healing – A Scrum team must be able to face impediments as a team, discuss about them and identify solution options most suitable to overcome those problems. Yes, the Scrum Master can be the protector and the guide, but the team itself must collaboratively sort out issues and move the project forward. ● Goal Oriented and committed – All activities and tasks carried out by the team must be in order to achieve the sprint goals and objectives and finally the release goals and objectives. The Scrum team must be committed during the sprint to perform tasks diligently to work towards the goal as a team. Thus any decisions made during the sprint must be made with the end goal in mind. ● Led and Protected by a leader, the Scrum Master – The Scrum Master is not a task master like in traditional waterfall projects. He must be a servant leader who leads by example. The scrum master must guide the team about the process to be followed, protect the team from outside interferences and solve problems through subjective and objective discussions and analysis. Thus we can see that a good Scrum team is like a well-oiled machine. A well trained and highly disciplined Rugby team.   
Importance of ‘Teams’ in Scrum

Importance of ‘Teams’ in Scrum

Rumesh Wijetunge
In a Rugby team, it is the ‘pack’ that keeps the team on track. The stronger the pack is and more technically sound they are, the better core strength they portray in keeping the Scrum upr...
Continue reading

DevOps & Automation- Advantages Of DevOps

Automation is the key to realizing the philosophy of DevOps and in ensuring that it delivers. The underlying building blocks of DevOps are to ensure that the engineering platform is in place to facilitate continuous delivery, integration, and improvement.  Consider the following processes that have traditionally been carried out manually- Creating development, testing and production infrastructure and configuring networks Harnessing security and data protection Setting up, configuring and deploying software Testing and validation of data – data generated from the application and about the usage of the application Supporting infrastructure and the applications running on it – maintenance, upgrades and transitions In a traditional development scenario, each new environment has to be created from scratch and include all of the above processes, making it a very tedious and lengthy process. However, in a DevOps environment, releases are more frequent and time for testing and quality assurance is therefore much shorter. Performing all these tasks manually therefore severely undermines the efficacy of the DevOps approach. However, it is not just about making DevOps possible, it also has its own advantages. Unexpected errors in production still occur in manual builds as it is difficult to exactly replicate each environment. This in turn, increases the risk of errors occurring in production after testing has been carried out on non-identical pre-production systems. In today’s software world, it is all about productizing and replicating solutions. A product needs to be customized and deployed at a new client site within a really short period of time. Once deployed, the operations support team must be able to support with issues, bug fixes and day-to-day activities in a smooth manner. Similarly, a product deployed for one business domain must easily be configured and utilized by another industry. Such is the flexibility expected from software today. What’s more, in the traditional development cycle, each member of the team has a local copy of the code. When a developer implements a new feature or fixes a bug locally, once complete, the new code is committed back to a central repository. But in a team of developers and system operators, more than one individual can be following this process at the same time, unintentionally breaking the code or affecting another developer’s code. The rule of thumb is that the greater the human intervention, the more testing that will be required. Pre-production or development environments become non-standard which makes processes like testing or releasing new software versions more difficult to repeat and more prone to error. In worst-case scenarios, developers are left to re-invent the wheel each time they need to make changes in response to new business demands. The advantage of DevOps By creating a more responsive development environment that is closely aligned to business requirements and which removes human error from the project lifecycle, DevOps enables organizations to:  Reduce the implementation time of new services from months to minutes  Increase productivity of business and IT teams  Save costs on maintenance and upgrades, and eliminate unnecessary capital expenditure  Standardize processes for easy replication and faster delivery  Improve quality, reliability and reusability of all system components  Increase the rate of success for digitalization strategies and transformation projects  Ensure that money invested in cloud infrastructure, analytics and data management are not wasted Since it focuses on delivering value much earlier in a project lifecycle, DevOps can be seen as an ideal approach to national and government IT projects, as well as massive scale projects for the private sector. It helps accelerate new services through continuous improvement and operational flexibility, providing innovative and cost-effective ways for delivering value through new ways of development and operations. We provide Devops Certification training, to check out the schedule click here
DevOps & Automation- Advantages Of DevOps

DevOps & Automation- Advantages Of DevOps

Rumesh Wijetunge
Automation is the key to realizing the philosophy of DevOps and in ensuring that it delivers. The underlying building blocks of DevOps are to ensure that the engineering platform is in place to facili...
Continue reading

The Project Manager’s Role In Managing Scope Creep

Managing Scope is one of the most important responsibilities of a project manager as well as a business analyst. As per PMBOK® guide, managing the project scope is the sole responsibility of the project manager. Similarly, according to PMI’s guide to business analysis, the responsibility of managing product scope lies with the business analyst, with some amount of overlooking required from the project manager. The knowledge and capability of managing project scope are thus important elements of a project manager’s day to day tasks and an important knowledge area for anyone preparing for the PMP® or CAPM® exams. What constitutes project scope? PMBOK® guide refers to scope as the project’s boundaries. It defines the work that will be done during the project lifecycle.  The project’s boundaries are defined with respect to specific project goals and objectives, milestones, deadlines and project deliverables, tasks to be performed and resources required and the relevant project costs.  So, what is scope management? Managing scope entails a set of processes and activities required to effectively manage project scope from start to finish. This includes activities to define project scope and relevant parameters, SLAs in managing scope, planning scope management, controlling project scope elements defined on a daily basis, managing changes up until delivering the project and reporting on project scope. It helps project managers to allocate the correct amount of work and resources required to complete a project successfully. What can go wrong? What is scope creep? The uncontrolled growth in project scope at any point after the project has begun is known as scope creep. Scope creep is actually the negative effect on time, cost, and resources, resultant of the addition of additional features to the scope.  Project manager deal with Scope creep can occur when a project scope is not properly defined, documented or controlled and is also known as function creep, feature creep, requirements creep and more metaphorically as “kitchen sink syndrome”. This product scope creep will have adverse effects on project constraints such as time, cost, resources, and quality, and requires to be managed properly. Scope creep may happen naturally. The client may want more features for the same price where the project manager may just bow down to keep the customer happy. Similarly, the implementation team themselves may add more scope by trying to gold-plate or when they try to make things more visual by prototyping. So, it’s clear that project scope may increase knowingly or unknowingly. Importance of managing or avoiding scope creep It is important for a project management professional to avoid possibility of scope creep in order to increase chances of delivering project on time and on budget. Delivering a project on time will depend on how many features are taken up for each milestone or iteration and how the team can work efficiently to achieve the same. Managing scope is thus an important competency for a project manager. Predictive projects may follow formal Change Control Processes through a Change Control Board (CCB) to validate and bring in changes. Adaptive agile projects can be more complex with requirements needed to be groomed and managed as a product backlog. Tips for project managers to avoid or manage scope creep  Understand project goals & objectives It is extremely important for the project manager to be aware of the client’s vision for the project and for the product. The project manager must understand how the project objectives tie up with the corporate vision and strategy. The old adage goes, as ‘Something well begun is half done’. Thus a good understanding of what the client wants will help define what and how to manage. Understand solution requirements Project managers of yesteryears considered that the understanding of the functional and non-functional requirements is not their problem. But now,  it is imperative and the project managers understand the requirements and how they are related to goals and objectives so that they can plan the work and manage it properly. Understanding of requirements will allow the project manager to decompose requirements down to task level, identify milestones and resources and thus assist in keeping the project on track. On Track!  From day one of the project, the project manager must manage project scope and take necessary steps to avoid scope creep. The project manager tracking the requirements and change requests properly will assist in this case.  Devise a bullet-proof process for managing change requests A well-defined process to identify changes, report or take in change requests, evaluate them (evaluating the change, effort required, impact of change etc.) and to select and implement them is an important aspect in scope management. The project manager is responsible for defining this process, executing it, educating the team members on the process and on evaluating the process progress from time to time. In predictive or in adaptive projects, it is always good to limit the authority to request and to approve change requests.  Its alright to say ‘No’ Finally, the project manager as well as the team should be capable of saying no to unreasonable or unrealistic requests.  The project manager must be able to explain to the requester as to why a certain request is rejected with proper facts.  It is always important to avoid gold-plating. If things go wrong or are not possible within the current scope it is always important to say ‘No’ rather than getting into trouble later on. Sometimes it may be difficult to say ‘No’ to client stakeholders. The project manager’s negotiation and facilitation skills come to the fore-front in this case where he must be able to say ‘No’ with a positive manner as well as be able to convince client stakeholders by providing a prioritized list of features and so on. What’s next? As discussed in the introductory section, the responsibility of managing product scope lies with the business analyst. So, await my next article on the business analyst’s as well as the project manager’s responsibilities in managing product scope. Stay tuned!!  
The Project Manager’s Role In Managing Scope Creep

The Project Manager’s Role In Managing Scope Creep

Rumesh Wijetunge
Managing Scope is one of the most important responsibilities of a project manager as well as a business analyst. As per PMBOK® guide, managing the project scope is the sole responsibility of the p...
Continue reading

How To Choose A Scrum Master?

A common problem most of the scrum teams face is with regards to selecting a suitable team member to become the scrum master for the team. It has become a strenuous activity for some teams, for some a ritual whereas for some others it has become just another activity not to be stressed about. However, giving careful thought to the process of selecting a suitable scrum master will be beneficial for any scrum team with different scrum tools Who is the Scrum Master?  A common analogy when teaching scrum is to refer to the scrum in rugby. The rugby scrum is where the two packs of the two opposing teams lock horns in order to gain possession of the ball. The scrum stays firm when the lines stay upright and strong. The responsibility of the scrum half is to get the ball out of the scrum and give it the direction to be taken by passing it on to the next suitable in line. The agile scrum master’s role is similar to the scrum half. The scrum master is the one who gives the team the correct direction and helps them achieve objectives of the project by guiding them in the correct direction. The scrum master is expected to be the protector, problem solver and process consultant for the scrum team. When to select the scrum master? So when is the most suitable time to select a scrum master for the team? Like with any project the work begins once the contract has been agreed upon and signed between the two parties. This precedes analysis of the problem or opportunity, analysis of the stakeholders, identification and agreement on a solution statement and finally the development of a business case.  Once the project is confirmed it is handed over to a scrum master. So, it seems most suitable to assign the scrum master for the project as soon as the project is confirmed and contracts are signed. But is it the case?  It will be much better to appoint a team member who would be involved in the project while the bidding for the project or the proposal stage is in progress. The team member would thus be in the best position to understand the exact requirements of the project as well as the expectations of the client. By again, is this the most suitable person to be nominated as the scrum master? May be, or may be not! Who should be the scrum master? Selecting an appropriate scrum master is prudent for the smooth execution and success of any agile project. First of all lets see characteristics of a scrum master. Problem Solver It is said that the scrum master must be like a road construction worker who is developing a new road. He would need to identify big rocks or thorny areas on the path ahead and be able to clear that path by applying suitable problem solving skills. Similarly, the scrum master must be able to apply necessary facilitation skills, negotiation skills and problem solving skills to remove any impediments that the team may face. Protector The Scrum master must be like the guardian angel of his team. A project team is always pressurized by the client to deliver value within the triple constraints of time, cost and scope. Similarly, the team is pressurized by the management and other teams to take or share team members in other projects. The scrum master must be able to protect his team from such external interferences and allow the team to focus on doing their task. Process consultant The scrum master must be the one who defines and adopts agile processes and practices for the team. As the process consultant the scrum mater must be able educate the team members about the tailoring made to agile practices, be able to guide the team on a daily basis and be able to make necessary process related decisions as and when required. Available and committed The scrum master’s presence is essential for any team to schedule scrum ceremonies, facilitate those events and to guide decision making during those events. The mere presence of a strong scrum master will be a confidence booster for the team. So, if the scrum master constantly takes leave or is not present for team meeting and is busy at other client meetings that person may not be the suitable to be the scrum master. Servant Leader The scrum master is by no means a project manager. The scrum master must be knowledgeable to lead the team by example. He too should be able to contribute to the cross-functional team. Similarly, the scrum master must be a person who sticks with the team during good times and bad. Once, in one of the projects that I was involved in, the team had to work 12 to 15 hours per day for 2 whole months to meet client deadlines. The team was on the verge of quitting when the scrum master himself brought in food and drinks for the team and handed over the items to each team member in person patting them on the back and sitting with them a good 10 to 15 minutes. Changing responsibilities? It is always good to have a change in scrum master role thought the life of the project. This will bring a different perspective and a point of view. However, it is always important to keep in mind the afore-mentioned qualities of a good scrum master and to ensure that the new scrum master does not disrupt the existing good state of the project. As the old adage goes the leader is as good as his team!!.  
How To Choose A Scrum Master?

How To Choose A Scrum Master?

Rumesh Wijetunge
A common problem most of the scrum teams face is with regards to selecting a suitable team member to become the scrum master for the team. It has become a strenuous activity for some teams, for some a...
Continue reading

DevOps, Digital & Cloud

In the modern world, the time available to produce new software, develop new products or to release new updates of existing solutions is reducing rapidly. This has resulted in IT services or product development organizations to be more responsive to change and thereby assisting business entities to be more receptive to change as well. The Devops philosophy was born from this need to create a way of working that would enable a more agile and responsive organization. An effective DevOps operation helps reduce the time between concept and cash. In other words, it shortens the time required to create value from new or innovative solution ideas. Good engineering practices centered on good DevOps practices help organizations meet these demands. If above sounds familiar, that is purely because these are also the key drivers behind any organization’s cloud strategy. In addition to time constraints, the modern day IT organizations face budget constraints and financial or non-financial resource constraints. This creates a need for a more flexible hardware environment, in which computational power can be ‘spun up’ in response to operational, development or testing demands and then spun down again when no longer needed. High valued resources can thus be saved through on-demand meticulous planning and utilization of such assets. Amazon Web Services (AWS) is subsidiary of Amazon.com that provides on-demand cloud computing platforms for individuals, organizations and governments. It is a very secure cloud services platform with high computational power, massive and scalable database storage, bandwidth, content publishing and delivery platform with monitoring support. AWS cloud platforms provide pay-as-you go features to organizations thus allowing them to customize the use of cloud resources as per their requirement. This provides organizations the flexibility to select and utilize resources as per their technical, financial and management capabilities. The DevOps philosophy has a symbiotic relationship with cloud-enabled solutions. A cloud environment, whether private or increasingly public is an essential feature of Devops. An agile approach to development requires an agile IT infrastructure to deliver the responsive services that the organization demands. Thus AWS cloud management capability is an essential skill organizations would look to develop and utilize in delivering high valued products fast. On the other hand, a cloud strategy will often not deliver the benefits outlined in its original use case in scenarios where DevOps is not used. Organizations often find that the cost savings promised by a utility model of renting computational power when it is needed often disappear in the face of traditional development schedules and delays. DevOps multiplies the value of the cloud and vice versa. A well-defined DevOps practice with a well laid cloud services platform will enable organizations to quickly get servers up and running. It will enable them to deploy secure backup or failover cluster servers to rely on in case of a disaster. The applications can be securely and quickly be deployed to cloud environments with a fully automated process through DevOps. In conclusion, DevOps and SysOps are here to stay. May it be web or mobile and in deploying on any device or platform, using any architecture, the possibilities for high value products is endless. So, it is up to organizations to use these wisely. We provide Devops training, to check out the schedule click here  
DevOps, Digital & Cloud

DevOps, Digital & Cloud

Rumesh Wijetunge
In the modern world, the time available to produce new software, develop new products or to release new updates of existing solutions is reducing rapidly. This has resulted in IT services or product d...
Continue reading

Making DevOps Applicable For You

In summary, DevOps is a philosophy of software development that focuses on meeting business requirements quickly and efficiently. It helps shorten time to value and in so doing helps create a more responsive organization. It multiplies the value from investments in cloud and encourages automation of key processes for better outcomes. All of which makes it highly suitable to cost constrained organizations that must deliver improvements to their current services and products while taking advantage of the opportunities presented by new digital and data-driven technologies. However, the advantages of the DevOps helping for organizations in large scale.  The long-term cost reductions are substantial, but the initial investment can be high. Although automation delivers a strong return on initial investment of time and resources, it does take longer to complete this initial automation of a task that it does to perform the same task manually. Maintaining the DevOps approach will also require specific technical skills to be build up, managed and retained by the implementation organization as well as the client organization. So, how do you make sure that the adoption of the DevOps approach works for your organization? The following can be those critical factors. Senior management buy-in As with all change projects, success is in part dependent on having committed leaders at senior leadership levels; in this case the CIO, CTO or the chief architect (and even the enterprise architect of the client organization) who can deliver technical and cultural changes. They are responsible for making sure the focus remains on breaking down the barriers between development and operations and ensuring the approach is designed around this core principle. They need to make sure that close collaboration between developers, system operators and testers is maintained and that open lines of communication with business users and service commissioners remain intact. Understand the demands of digital transformation It is important to understand the demands of digital transformation and balance it with the rigour of ITIL. At present, only about 5% of services of organizations are driven by technologies that are digital by design. Applying DevOps to these technologies is relatively straightforward. But mission-critical platforms on physical or virtual servers are a different question altogether.  An iterative approach to migrating these applications to the cloud, taking small steps to transformation and applying DevOps one step at a time requires not just digital skills but the depth of understanding residing in experienced IT managers. Need for security, compliance and governance It is important to ensure that testing and security are built into the automated processes of the implementing organization. Those processes must stay true to ITIL standards for security testing and compliance checking. Even at this pace software can only be put into production when it has no vulnerabilities that can corrupt sensitive information.  DevOps does not replace the need for quality assurance, software testing or data validation before and after a software release. Hence it is important to get the QA practices with regards to automated testing for security, performance and code check-ins and check-outs in top shape. Work with the right people Some IT services service providers are great at automation or at building digital services. Bringing them together is the key. This means that IT practitioners who already have wide experience of delivering systems under the DevOps umbrella and are prepared to share best practice and ensure effective knowledge transfer are a key part of the team. So are leaders with expertise in automating business and management processes and have a well defined and tested set of tools to support their work.  It is important for client organizations to look for service providers with real, in-depth experience of open technologies, domain expertise and cloud-based solutions and with the necessary hands-on experience in designing, building, migrating, supporting and operating scalable and robust systems for their customers.  
Making DevOps Applicable For You

Making DevOps Applicable For You

Rumesh Wijetunge
In summary, DevOps is a philosophy of software development that focuses on meeting business requirements quickly and efficiently. It helps shorten time to value and in so doing helps create a more res...
Continue reading

Embracing Lean & Agile Values in SAFe® 4.5

The basic premise to develop the Scaled Agile Framework is to enable organizations to scale up agile development practices to enterprise scale. One of the key constructs upon which SAFe is built upon is the ‘Lean-Agile Mindset’. This is defined as ‘the combination of beliefs, assumptions and actions of SAFe leaders and practitioners who embrace the concepts of the Agile Manifesto & Lean Thinking’. Agile provides the thinking and mindset related to achieving high levels of efficiency, productivity, collaboration, team motivation and quality. However, the agile principles work well in the delivery of smaller, less complex solutions rather than applying it to enterprise wide solution implementations. Scaling agile framework requires a wider array of knowledge, skills, leadership and a change in mindset to adopt and apply lean agile principles. Aspects of Lean-Agile The lean-agile mindset in SAFe is built upon 2 main constructs. These provide the knowledge and help drive the skills required to create and manage the culture, organizational structure, leadership and management approach required to drive organizations adopting SAFe and to allow them business objectives. The two key aspects of lean-agile mindset are- Lean Thinking which is primarily defined through SAFe’s ‘House of Lean’ which was derived from Lean manufacturing inspired by Toyota’s ‘Houses of Lean’. This was then applied to software products and solutions development. The end goal of any project, however big or small is to deliver value to its stakeholders. The roof of the house is thus represented by delivering value in the shortest possible time ensuring maximum possible quality.  Some of the principal pillars hold up the house of lean. They represent respect for people & culture, flow, innovation and relentless improvement to support the end goal of value delivery. Work in any project is carried out by people and thus the respect for people and culture becomes utmost important for any team. Team together face challenges, learn new techniques and skills, solve problems and move forward and make improvements to projects and processes. Managers generally challenge the status quo and empower people to achieve more. The motivator behind this behavior is the team culture. Organizations and leaders must first embrace this culture and then try to instill that in their staff and even beyond organization’s boundaries towards other external stakeholders. It is important to note that culture cannot be changed overnight but can only be molded over time. The 2nd pillar of flow refers to a continuous flow of work to support incremental delivery of value. One main objective of an agile project is to make small increments to the solution over time and to keep on adding business value through continuous delivery. This must also be done while improving on engineering practices, improvements to solution quality and project governance through proper tracking. Visualizing the flow is an important aspect in Agile and in Lean. We all know about the Scrum and Kanban boards in agile projects and how they created visibility of project progress. This same concept must be scaled up with more visibility of tasks, components, modules and even systems with emphasis given to identifying and reducing non-value adding activities. Continuous delivery through DevOps and SysOps through the automation of software engineering, QA and deployment practices thus becomes a pivotal capability for any organization. Innovation is a key pillar in the house of lean and is placed in the middle. No team or organization can be improve or continuously deliver value without innovation. Thus SAFe encourages team to challenge the norm, continuously explore new frontiers, be creative and move out of their comfort zones. Innovation and Planning sprints are thus a key component in the SAFe hierarchy. The 4th pillar is to relentlessly improve the product and the processes. Organizations are expected to be learning through review and retrospectives.  The foundation of the house of lean is Leadership. Leadership plays a key enabler role for team success and successful adoption and implementation of lean-agile approach depends with the organization’s executive leadership, managers and team leads. Embracing Agility is the 2nd construct in lean-agile. SAFe is built upon skills, capabilities and aptitude of teams and their leaders. The agile manifesto for software development describes the principles and practices related to carrying out project activities in an agile manner.  The agile manifesto describes 4 values and 12 principles. Agile values motivates teams to focus more on-   Individuals and interactions over processes and tools  Working software over comprehensive documentation  Customer collaboration over contract negotiation  Responding to change over following a plan Agile motivates teams to be self-organizing and self-healing, to face problems as one single unit, collaborate and solve problems and to continuously build something that can be demonstrated to customers. The objective is to get feedback as soon as possible and make necessary changes as required. The requirement in SAFe is to apply these same set of values at team level as well as among multiple or large scale teams. SAFe provides the basis for organizations to plan and build enterprise class applications and that too in an agile manner. It provides organizations with the processes and principles required to successfully apply these practices. The lean-agile values provides the platform for organizations to build their practices on and provides a organized approach to manage and thrive in chaos.  
Embracing Lean & Agile Values in SAFe® 4.5

Embracing Lean & Agile Values in SAFe® 4.5

Rumesh Wijetunge
The basic premise to develop the Scaled Agile Framework is to enable organizations to scale up agile development practices to enterprise scale. One of the key constructs upon which SAFe is built upon ...
Continue reading

Introduction to Scaled Agile Framework (SAFe®)

Implementation of software solutions vary based on complexity and magnitude. Not all implementations are simple and straightforward. Software solution implementations of enterprise scale require more rigorous processes and streamlined practices to allow businesses to address challenges posed during such engagements. Businesses are also required to take up such challenging implementations while operating in challenging business environments which forces them to implement solutions in the shortest sustainable lead time. Best practices for scaled agile framework tells you principles which can benefit the organisation As we all know, the change-driven approaches of Agile project management came into being to address the problems in traditional long running plan-driven software projects. But, Agile projects were traditionally more suitable for smaller projects that required six to eight team members. So, the need for a process to deliver large scale projects using Agile methodologies increased over the last few years. The scaled agile framework provided the much needed guidance for the same. Reason for SAFe® The primary motivation for SAFe was to allow for collaboration, synchronization and coordinated delivery of solutions developed by multiple Agile teams. SAFe is a framework that can be scaled up or down as per the requirements of the organization. Thus, SAFe supports small-scale solution implementations which require 50 to 125 team members as well as complex, cross departmental and even cross-organizational solution implementations that require thousands and ten thousands of team members. How does SAFe work? It is fascinating to understand how SAFe facilitates scaling of this magnitude? SAFe framework describes roles, responsibilities, artifacts and activities that are required to develop and deploy software solutions Lean-Agile software implementation principles. SAFe principles are developed using 3 main bodies of knowledge. They are as depicted in the diagram below.  Agile development embraces change where cross-functional, self-organizing and self-healing teams develop software in an iterative and incremental manner using small bursts called sprints.  “Systems thinking” motivate team members to consider each and every element that are within the context as a whole. For example the business context for which a solution is being developed may involve factors internal to a business such as data, systems, technology, resources (financial and non-financial) as well as factors which are external such as competitors, government and regulatory bodies, suppliers and distributors, financial institutions etc. which may all impose constraints on the solution.  One of the key principles in Agile methodologies involves lean principles which is to minimize waste or non-value adding activities and to increase the probability and impact of value-adding activities.  Common questions, which SAFe addresses   SAFe was developed to address the following industry wide questions. How can organizations scale agile practices starting from small agile project teams, to larger programs, to business unit or enterprise wide programs or portfolios and even to cross-organizational mega projects? How can teams of scale be organized around continuous delivery of value? How can teams of such magnitude collaborate effectively avoiding delays and bureaucracy evident in such large scale projects if run as traditional projects? How can dependencies between multiple teams be managed? How can an environment that fosters collaboration, continuous improvement and innovation be created and sustained? How can culture be molded to motivate team members to make mistakes and learn from them? How can the team measure success of new working methods followed and how can they make it more efficient? SAFe provides a well-defined set of values, principles and practices which can be adopted enterprise-wide to better address these questions above. In my upcoming articles I will discuss about different configurations of SAFe with details on how different roles, systems, practices and values contributes towards continuously delivering value through the agile release train.  
Introduction to Scaled Agile Framework (SAFe®)

Introduction to Scaled Agile Framework (SAFe®)

Rumesh Wijetunge
Implementation of software solutions vary based on complexity and magnitude. Not all implementations are simple and straightforward. Software solution implementations of enterprise scale require more ...
Continue reading

Underlying Competencies for Business Analysts

Business Analysts play a pivotal role in digital transformation projects carried out by organizations. BAs are thus expected to have knowledge about key concepts of business analysis and be skilled in using different tools and techniques for eliciting, analyzing and managing requirements. In order to facilitate the five core responsibilities of business analyst and communicating requirements and in evaluating solutions, the BA is expected to have a set of competencies.  BABOK® defines 6 key groups of competencies that a BA is expected to possess. Each competency group constitutes of multiple sub competencies which are as discussed below. 1) Analytical Thinking & Problem Solving The BA must be able to understand and decipher requirements elicited and be able to devise solutions to overcome problems faced by customers. These are fundamental thinking skills where the individual works on breaking down the large problem into smaller, more manageable parts. The BA must logically reason and make judgments based on evidence and assumptions. This competency group consists of the following competencies. Creative Thinking A BA is expected to look at needs of stakeholders thinking from different perspectives and suggest unorthodox solutions. Creative thinking may be facilitated through brainstorming, mind mapping and lateral thinking. It is important for the BA to be a creative thinker as he is expected to be a change agent who facilitates innovation in an organizational context. Decision Making Decision-making ability in the context of business analysis refers to the analyst’s ability to make selection of a course of action or to be able to facilitate such a thinking process. It is a cognitive process where the BA must guide key stakeholders in making decisions by providing adequate and accurate amount of information in a format suitable for making necessary comparison of options. The BA may need to make decisions on which tools or techniques to use, which stakeholders to consult, which solution options to take and so on. Learning The BA is not expected to be ‘A master of all trades’. The BA must instead be able to listen, observe, learn and understand whatever is required to facilitate the process of providing solutions for problems and opportunities. Problem Solving Often BAs are expected to face many a problem during the lifetime of a project. A BAs role is to understand customer problems and be able to recommend suitable solutions. Problems solving requires mental skills that must be analytical as well as creative.  Systems Thinking Systems do not refer only to software systems. In system thinking, the BA is expected to consider every element in the context within scope as an interacting system when determining solution options. Hence, the software system being developed or the process being studies, stakeholders interested or impacted, interfacing systems, elements in the environment all form the context. The BA is expected to look at this bigger picture when performing his or her tasks. 2) Behavioral Characteristics Ethics A BA becomes a powerful individual within a project context, as he or she gains access to processes and information that may even be highly sensitive to a particular organization or stakeholders. The BA is thus expected to hold highest regard to the security and safety of accessing or using such information thus working with the highest level of integrity. Personal Organization BAs are often deployed to work in high-pressure environments. They are expected to liaise with multiple stakeholders, facilitating high value workshops to elicit requirements and then produce documents listing down the findings. In order to produce the requisite deliverables on time and to the expected level of quality it is imperative that a BA is self-organized and meticulous in his or her way of work. Trustworthiness Organizations and stakeholders provide access to information, systems and other high value assets sometimes even placing their entire business at risk. The BA is thus expected to uphold the trust placed on him by the stakeholders and ensure that due diligence is given in defining and devising solutions to satisfy customer needs. 3) Business Knowledge  Business Principles & Practices Business principles and practices are characteristics that are common across all organizations with a similar purpose and structure. Functions and capabilities such as HR, Finance, IT, Marketing & Sales that are needed by any organization are examples of such practices. Although not mandatory, it is good for a BA to be familiar with such practices so that they can consult and advise customers with relevant requirements. Industry Knowledge Many a competitive force shapes industries. BAs are required to understand these forces such as competitors, suppliers, buyers, substitutes etc. so that they can identify commonalities and differences that may influence business requirements. Organizational Knowledge Organizational knowledge refers to an understanding of the business architecture of the organization being analyzed. This includes understanding the business model adapted by the organization, the structure and relationships in place, people, data, technology and other aspects of the organization in place. Enterprise analysis frameworks such as ZACHMAN and POLDAT help in this case. Solution Knowledge Business analysts must attempt to relate and apply learning from other projects or programs to solve current business problems at hand without re-inventing the wheel. Hence, an understanding and familiarity of existing solutions (custom made or commercially available) gives BAs an added advantage. 4) Communication Skills Oral Communication It is important for a BA to be able to verbally express ideas, information or other matters. In addition to be able to express thoughts in a clear manner, the BA must also be able to actively listen to ensure that ideas generated by stakeholders are clearly understood. Teaching Business analysts are expected to communicate requirements to team members and provide guidance on scope. Thus they must train to be good teachers who are capable of understanding different learning capabilities of individuals and be able to adapt and customize learning material and experience accordingly. The BA must be able to cater to auditory or visual learners with appropriate use of training material. Written Communication Proper command over language in terms of vocabulary, grammar and style and use of other terms is essential to ensure that written text is correctly and adequately understood. 5) Interaction Skills Facilitation & Negotiation A key element of a BA job role is to be able to moderate group discussions and be able to enable participants to effectively articulate their thoughts and ideas. The BA must be able to define a proper process based on the audience and be able to guide the participants along the process so that the session leads to attainment of expected outcomes. Leadership & Influencing The BA’s role in defining and communicating requirements places a key leadership role in any project or group. Hence, the BA is expected to work together with the team in guiding them in terms of project scope, motivating them to reach shared goals and objectives for the team as well as the client stakeholders. The BA would be in the best position to be able to discuss sensitive and pertinent matters with the sponsor, client stakeholders, users as well as the implementation team and be able to guide them in the decision making process. Teamwork Business analysts are most often than not part of a team. It may be a project team, a team of SMEs or sometimes even as part of a client stakeholder team. The BA is expected to be having good skills in developing personal relationships, avoid conflicts and be able to work towards a common end goal. 6) Software Applications General Purpose Applications A business analyst is expected to have knowledge in applications that help carry out day-to-day project tasks. This includes MS Office suite, requirements management tools such as JIRA, communication tools such as Skype, Email client etc. Specialized Applications The BA must also be capable in using specialized tools such as document management systems, content management systems, sales force automation systems etc. which are built specifically for different purposes. This may depend on project requirements. So, if you want to become a successful BA it is necessary that you attempt to be competent in some or all of the above areas. Here're the top 5 reasons to start your career as business analyst  
Underlying Competencies for Business Analysts

Underlying Competencies for Business Analysts

Rumesh Wijetunge
Business Analysts play a pivotal role in digital transformation projects carried out by organizations. BAs are thus expected to have knowledge about key concepts of business analysis and be skilled in...
Continue reading

Personal Development Path Under Scrum Alliance Certification System

What is Scrum Certification System? Scrum Certifications is for personal Agile career development, maintained by Scrum Alliance. The certification is distributed after taking training of coaching by registered experts. Foundational Level Foundation Level consists of 3 certifications linking to the three defined roles in Scrum framework: CSM - Learning objectives of CSM cover every details of Scrum framework and how to become a ScrumMaster which takes brand new responsibilities such as scrum implementation, servant leadership, coaching team , etc., CSM is suitable for people manager, project manager, team leaders. Attendees must take 2-day course by CST and pass the online exam.   CSPO - Learning objectives of CSPO covers how to explore the uncertainty with users to better realize product vision and collaborate with development team under Scrum framework as a Product Owner. Attendees must take 2-day course by CST, no exam required.   CSD - Learning objectives of CSD covers both Scrum framework and the agile engineering practice such as TDD, Refactoring, Continuous Integration, clean code , etc. as a developer. CSD is for development team members. Attendee must take 2-day scrum foundation course and 3-day technical practices course delivered by REP (Registered Education Partner) trainer. All three certifications will also enable 2-year access to Scrum Alliance. Through this membership you can join local user groups, online social networks, gain access to deep discounts on gatherings, and additional member-only resources. Professional Level CSP - CSP is not earned by taking course only but apply from Scrum Alliance as individual. A candidate must have rich Scrum experience and professional skills, and having one of the foundational level certifications. The application must hold one of the foundational level certifications, have a minimum of 36 months of successful Agile/Scrum work experience gained within the past 5 years, gather and submit 70 Scrum Education Units (SEUs) from the past 3 years. For how to earn SEU, ref to https://www.scrumalliance.org/certifications/practitioners/csp-certification/ways-to-earn-seus Taking 1-on-1 coaching or advanced agile coaching course may be helpful. Elevated Level CST - A trainer can delivery CSM/CSPO course. CEC - An agile coach who have wide coaching experience in different organizations focus more on enterprise transformation. CTC - An agile coach who have wide coaching experience in different organizations focus more on multi-team performance and culture change. All the three must have CSP and many year training and practicing to continuous growing. Most of them are opinion leaders in agile communities. For how to apply please refer to Scrum Alliance website. Certified Agile Leadership There’s a separate path for leaders and management to enhance their workplaces with a culture of agility. It has none with the other certification. New CSP Path is coming soon… Scrum Alliance is working to add 3 advanced certifications: A-CSPO/A-CSD/A-CSM for the 3 roles respectively between the foundation level and professional level in 2017. Also the CSP will split into 3 separate paths. For example, if you are developing yourself on product owner path, you need to take CSPO first and then A-CSPO, after that you can apply for CSP-PO certification. The elevated level and agile leadership has no change. How do you develop yourself? Scrum expert is a popular new career path Scrum Master is the Top 22 high paying job in America according to a survey in 2017. The Scrum Alliance certifications are a well-designed career path for individuals. Since recent five years, more and more famous companies in the world start Agile transformation to enable a more competitive business performance with early delivery and better quality to satisfy customers in such a VUCA era with a coaching style leadership. ScrumMaster as a new role can create wider leadership in the organizations and even dedicate to serve companies. Some ScrumMaster grows further to Agile coaches with their great learning capability. On the other hand, a developer with great technical skills become a full-stack engineer which is hot required by start-ups and getting much higher paid. All the innovative business and start-ups must have a Product Owner to lead the team working on doing right thing towards their vision otherwise all effort is worthless. Qualified Scrum experts is becoming hot in the recruiting market e.g. LinkedIn. Transit from current position Whatever job position can choose a path towards agile/scrum experts, focus on one path, start from a certified course, and do NOT attend a “one fit all” course. After training, open your mind and jump into a real project/product immediately to “learn to swim” to earn hands-on experience rather than “by-the-book consultant”. At any time, “Don’t wait change happen, be the changer yourself”. If you’re working as PMO, SQA, project managers, director, engineer, you’re suitable to transit to ScrumMaster. Start from taking a CSM course and take the role either part-time or full time to teams. The precondition is that your organization start to adopt Scrum/Agile and re-organize the team structure and define new roles. With 1+ year experience, you can think to develop yourself to a multi-team ScrumMaster or agile coach and learn more soft skill, also you can take higher people management and lead the culture changes such as COO/CIO. If you’re working as product manager, project manager, business analyst, you consider to transit to Product Owner, learning from CSPO course to learn the skills of customer empathy, lean startup, prioritization, data analysis etc. to work with Development teams, and develop yourself towards business owner and CEO. If you’re a developer or software engineer and want to embrace agility and craftsmanship, you may want to attend a CSD course regardless whatever language and tools you use, and bring the skills back to you new feature and legacy system, increasing the responsiveness of implementation to the ever changing business requirement. You can develop yourself towards technical coach in the future. Besides grow in daily job, you’re highly recommended to join agile communities, connect with opinion leaders and experts, writing and sharing your own story, continuously learning with short feedback cycle. You’d better find a long-term mentor or coach to help you.  
Personal Development Path Under Scrum Alliance Certification System

Personal Development Path Under Scrum Alliance Certification System

Rumesh Wijetunge
What is Scrum Certification System? Scrum Certifications is for personal Agile career development, maintained by Scrum Alliance. The certification is distributed after taking training of coaching b...
Continue reading