Friday, July 27, 2012

The 'Rock Star' Agile Team


People might say there is no point in 'day dreaming', but sometimes that may help you define what's the kind of ideal world that you want to build for you and the organization. A recent survey stated that most organizations are not deriving the benefits out of their agile adoption and the people who claimed reaping benefits didn't actually follow agile practices (http://adtmag.com/articles/2012/07/13/report-says-agile-a-scam.aspx)

If you think why such reports are surfacing, most organizations are far from the idealistic agile practices while still maintaining that they are agile. So it's good to remind ourselves then and there how an idealistic agile team will look like

Product Owner (PO)

  • Ideally   the PO should be the customer herself. If that's not possible, the PO should truly represent the customer interests and should be a clone of the customer in realistic terms
  • PO should be a thought leader and  a product strategist. She must be aligning the product features, customer/market needs and the sponsor (or top management) interests continuously. It's actually a triangle that one side cannot be altered without affecting the other side



  • PO should NOT shy away from decision making. But still applies self-control because though changes are encouraged in agile, in and out changes will drain the budget while creating frustrations down the line
  • PO should be agile @ heart. If she is not agile, then the team cannot be one

Scrum Master (SM)

  • Ideally SM doesn't have other responsibilities like coding or testing. I have noticed dilution of original responsibilities when SM is pinned with dev/testing activities
  • SM has an intellectual understanding of agile.
  • SM tries all the time to upgrade herself into an agile coach.
  • SM just facilitates the team members to innovate , execute and improve.
  • Resolves disputes, protects the team from external influences
  • Makes the team responsible for its output and help them take pride in whatever they accomplished

Developer (Dev)

  • Dev interacts with the PO, stakeholders, testers and other cross functional experts to better understand the requirements
  • Dev is very transparent, announces the correct status always, openly discusses the difficulties faced either to get help or to educate others
  • Dev understands the bigger picture though she works on the current iteration
  • Dev mercilessly refactors her code as and when requirements and the design matures.
  • Dev writes simple, dull, non-surprising code. She understands simple design or simple code is the most difficult job
  • Dev doesn't do any magic, just writes readable, maintainable and very well documented code
  • Dev uses re-usable components and frameworks. Doesn't write any code that's already available.
  • Dev simulates the real life objects and problem domains in her code
  • Dev minimizes the risks by identifying and using design patterns, uses tried and tested solutions
  • Dev doesn't say 'DONE' unless and until the unit tests are done
  • Dev releases on time to enable the testers to complete their job.
  • Dev demonstrates the working application to the PO and gets her feedback directly, doesn't allow anyone to demonstrate her code

Tester (TR)

  • TR stands-by for the PO in her absence. Team consults her on the requirements when the PO is inaccessible
  • TR is the guardian of requirements and customer needs. She understands the customer's business domain
  • TR takes care of the builds and releases. Advises the PO and SM on the real quality level of the software
  • TR writes test cases, automates them and more importantly uses them
  • TR shares the test cases with the devs. Ensures that the test cases are covered by the dev before accepting the code for testing 
  • TR knows that catching the bugs in the dev's work station or very near to the place where the code is produced,  is the most efficient and cost effective testing
  •  TR refuses to test if unit testing is not done or not properly done
  • TR knows that her job is not only to catch bugs/entering in the bug tracker, but to improve the quality of the software and increase the returns to the customer
  • TR, apart from testing, uses the software just like a customer does. Evaluates if she would pay for the software if she were to be the real user
  • TR sits with the customer, sees how the customer perceives and uses the software
  • TR is more technical than the devs. Doesn't shy away from writing a tool that just tests the software.

Friday, July 6, 2012

Is BYOD good or bad?


One of the important fall-outs of the so called disruptive technologies like mobility and cloud is the strong under current 'BYOD' (Bring Your Own Device) trend. Why I am saying it as an 'under current' is most of the IT orgs  don't even know that employees are using their own devices for official work. This trend is predominant in the last few years or so particularly after the Apple devices started commanding religious following (iPhone is called 'Jesus Phone' by some people).

If you talk to an IT guy about the BYOD trend he must be fuming, may even say 'it's a man-made disaster unleashed by the Enterprise nemesis  a.k.a Apple'. I hope nobody from the IT org likes this and in that sense these technologies are really 'disruptive'.  So what are the IT people doing about it? In most companies, I think they try their best to control BYOD. I guess they may not be very effective because most of the times this is being started by the top management and strong business leaders in the company.

The business leaders usually start by checking their emails in their personal devices, slowly would try to take more control over the enterprise information by demanding access to business critical information like executive dash boards and metrics that they control. They ask this for a purpose, to have a virtual 24X7 control over the business and in most of the cases IT cannot refuse this request. Once the top executives start this, employees will follow the suit. Social trends like 'work from home' fuelled by the high cost of real estate and overheads support the BYOD movement

Leaving aside why it's happening, let's think about whether it's good or bad. From corporate and information security perspective, it's very bad no doubt. Most of the Wi-Fi networks are not as secured as the LAN or WAN. IT organizations are yet to catch-up and implement best practices in the MDM (Mobile Device Management) and MDP (Mobile Data Protection).  Hence an employee losing the mobile or a disgruntled employee spoofing the data could turn into a disaster for the IT. Our sympathies are with the IT guys.

Other complaint that could emanate from managers  is that people are spending their time unproductively with their own devices. There is some substance in this blame, researches show that smart phones are being used more than 50% for sheer entertainment

Good thing about BYOD is that people have used them innovatively improving their effectiveness and efficiency and have come up with some startling but simple solutions for some of the vexing problems in their day-to-day work. Also many people use it to have a 'virtual' control over what it matters to them while on the move. It's a virtual office for them. To summarize, I could list out the following benefits

  • Employee productivity and efficiency
  • Innovative solutions (a recruiter gets great candidate through her FB connections or a stock broking agent downloads a free or low priced cheeky app that reduces his work load and provides more bandwidth for understanding  her customers)
  • Virtual office and continued control over the business
  • For IT service companies it may create a lot of opportunities. Business will need a lot of tiny applications that integrate with the monster, on-premises or cloud enterprise apps and deliver only a fraction of the functionality, a mobile employee may need. So they can bet on mobile app development and maintenance

So it's good or bad???

Whatever it may be, the movement cannot be stopped. Best thing would be to embrace the change and leverage benefits out of it while keeping the people and network under constant monitoring. We will require high tech security technologies to put your wireless network under control. So the industry in general and IT in particular must take the BYOD as an opportunity rather than cursing it as a barrier