Why Teams call analytics are critical to your entire business
Agile case study
1. CASE STUDY
Scenario
Smartbank’s CIO feels it needs a change to compete on a level playing field with smaller, more nimble
competitors, they want their IT organization to be able to:
• respond faster to consumer demands
• increase engineering quality
• build experiences customers will like, reducing the cost of failure.
Each CIO team sits in their own directorate and are brought together on a matrix basis to deliver change,
apart from the support team who provide a ticketed service for test/prod deployments and provide 1st
and 2nd line support, 3rd line support comes from the components. The product team sits outside of
the CIO within the business of the bank.
Project Lifecycle
The e2e project lifecycle starts with an initiative from the product team, they secure early financial
approval and source a project manager to develop a high-level business case, he secures an architects
time to provide rough estimates, completes the business case allowing for the creative team and BA’s to
be funded and brought onto the project. Work requests are raised into the respective directorates to
secure them.
Once the BAs and UX designers are mobilized they begin working with the product team to define the
requirements and experience, generally these take the form of a wireframe and supporting spreadsheet
of MoSCoW requirements in user story format, they work exclusively with the Product Manager to
produce them and once he is happy these are complete he signs them off and the Project Manager
raises a work request to secure an architects time to do an e2e design identifying impacts on the
respective component teams. Once complete the work requests are raised on the impacted
components and test team requesting estimates, as trusted individuals detailed estimation is carried out
by the most senior engineers and testers in the teams.
On receipt of the estimates the Project Manger agrees any changes to the business case and forecasted
timelines with the product manager, releases funding and commits the component teams to the
delivery scope and timelines. The Product Manager breathes a sigh of relief and the Project Manager
gets ready to take the delivery into the SDLC.
Once the development starts, the engineering team starts writing code, and testing team starts writing
test scripts from the requirements. At the same time, our project manager has to request development
and test environments that have to be built by operations team and delivered by the time developers
are ready to deploy first batch of code.
Once environment is delivered, developers manually build and deploy the first release to test
environment and begin “environment shakeout”. Once environment is stable, they notify the testing
team that they can start executing tests, and continue to work on the next batch. Testing team goes
through the test scripts and raises defects. Some are related to environment instability and some to
actual bugs. Our project manager is stressed out and has to drink heavily every night (or, if he is in
California or Colorado, resort to other less liquid measures). He runs meetings every morning with
developers and testers where they review defects and negotiate their priority.
4. the organization on its nimbleness and effectiveness in meeting the dynamic business needs,
then I would start focusing mid-term organizational structure. For mid-term, I recommend the
following organizational changes (see grey boxes in Figure 3):
i. Hire a VP of Program Management role
ii. Move Director of Project Management under the VP of Program Management
iii. Move Director of QA under the VP of Program Management
The rationale for factoring out Program/Project Management and QA responsibilities from the
VP of Engineering role is threefold: (a) the CIO needs one person to own the true status of a
project; (b) project management and QA are orthogonal processes to development; and (c) this
structure allows the VP of Engineering to focus on design innovation and software development.
Figure 1. Current Smartbank org chart.
Long term, I fully expect the Agile/Scrum process to be promulgated and deployed across
Smartbank firmwide, at which point, Smartbank will be ready to consider the adoption of the
Scaled Agile Framework (SAFe®), as illustrated in Figure 4. SAFe will enable Smartbank
executives to run its business in an agile fashion, i.e., enable the business to rapidly respond to
competitive forces by iteratively deliver products that quickly adopt new technology, user
experience, and innovative features. As SAFe is a long term strategy for Smartbank, I
recommend a separate study to determine the appropriate organization structure to support
the Scaled Agile Framework.
8. Figure 5. Agile development methodology.
c) What tools would you expect to see being used, how and in what teams?
Area of Responsibility Tools Recommendation
Executive
Management
• Atlassian Confluence for reading project dashboard, which
includes schedule and statuses
Agile Project
Management
• Atlassian JIRA for agile project management (including support for
Kanban boards)
• Atlassian Confluence for communicating project dashboard or
status
• Slack for intra and inter team communications
Product Management • Atlassian JIRA for defining product requirements or user stories
• UXPin for UX screen design and wireframes
Development • Eclipse for IDE (this also depends on the programming language,
e.g., Python, Java, PHP, etc.)
• GitHub for SCCS
• Atlassian JIRA/Confluence for user stories and product epics
Design • UXPin for UX screen design and wireframes
QA Testing • Atlassian JIRA for recording and tracking software bugs
9. Area of Responsibility Tools Recommendation
• Atlassian Bamboo for continuous integration, deployment, and
release management
Table 4. Recommended tools for Agile development.
d) What challenges are you likely to face to building the sort of team you want?
Given my experience, the major challenges in transforming from SDLC to Agile are as follows:
i. Training ⎯ It’s imperative that everyone on the sprint team gets trained on the same
agile methodology. They must practice this and evolve it to fit Smartbank’s company
culture. All of the learning from the pilot must be documented and promulgated
throughout the organization
ii. Adoption of Test Driven Development ⎯ Developers must embrace TDD as part of their
development process, otherwise, QA during integration testing will become quite
tedious
iii. Nay-sayers ⎯ As in all organization, there will always be skeptics or people that don’t
believe in your vision. One way to address these concerns is to make sure you have a
very successful pilot. The pilot must be able to demonstrate the value proposition of
agile methodology. Once the pilot program is completed and successful, a
communication program will need to be developed to advertise its success to the rest of
the firm.
e) How would you go about establishing working relationships within the organization and
managers who may or may not have bought into the CIO vision?
Given my experience, I recommend the following communication steps:
i. CIO should kickoff this change program by holding an all-hands meeting and sending out
an group-wide e-mail
ii. The Program Manager should setup individual meetings with stakeholders to reinforce
the change program messages and solicit their input and feedback on their issues and
concerns. A response to these issues and concerns must be developed and
communicated back to the key executives
iii. A website or blog site should be created to communicate the vision of this
transformation as well as capture feedback from stakeholders on their issues and
concerns
4. What are some of the high level / general risks you foresee in such an engagement?
The answer to this question similar to my response to 3(d). The biggest risk is lack of uniform
training. This is especially prevalent in teams that are already practicing Agile. I find Agile
practitioners differ from company to company because people have evolved this process to fit the
company culture or implemented workarounds unique to their products or workflow.