Working agile means you need to be more disciplined, not less! Think it’s one of the main reasons why is it so difficult to implement Scrum in a team (not speaking about whole organization). Here are several aspects:
- Estimation and planning
- Iteration planning with clients
- Daily follow-up with a whole team
- Iterative reviews of results and further adjustments
- Team work
- Definition of Done: list of requirements that all team has to contribute to – qa and capacity testing, documentation, presentations, monitoring.
- Time boxes
- Team has to deliver best possible results in a limited time. Requires lot’s of focus and determination
- Team is seeking for improvements at the end of each iteration. Normally each two weeks!
- Results must be presented to clients or main stakeholders at the end of each iteration
p.s. Stumbled upon the same topic in InfoQ – The Importance of Discipline in Agile
In self-organized structures you never really know when and where things start.
Are you ready for that? Are you sure it motivates you?
If you are working in a product development company most probably you are doing something wrong if start changes and improvements in a technology departments/teams. Little by little i start to understand that.
Leave developers alone, let them do the work they love and focus instead on the flow and other challenges which require attention and might be missed:
- Understand and communicate the essence of the product
- Identify business value and stakeholders’ needs and make sure this is delivered regularly
- Clarify, negotiate and communicate the important priorities and dates
- Balance the needs
- Work effectively with development team(s)
- Identify, track and address things blocking progress
- Gather and spread information
Developers can help with all these activities, but most probably they don’t love this type of work. That is why they are not managing the product and don’t want to act as Product Owner or Product Manager.
APIs help to identify value. API discussions are very valuable when you think about organisational structure. Think about your organisation while reading hints below:
- Decoupled UI allows you to have different workflows while core logic stays the same
- Can use 3d party software
- Easier to delegate to non-domain experts
- Easier to communicate with other teams & hide certain complexity of specific components
- Less meetings and communication problems for technical people
- Decoupling from others. API is like a street – you set the rules and others can use it
- Simplify UI -> others can do it
- It helps to sell the product, as you are focused!
- You can give away the boring stuff and focus on what’s important
- You can construct things faster, like a LEGO!
- You can experiment faster with features
- You can experiment with business model
APIs give you technical agility and allow to grow and experiment faster – how organize a company, how to build stuff. But it’s not easy…
Testing involves operation of a system or application under controlled conditions and evaluating the results (eg, ‘if the user is in interface A of the application while using hardware B, and does C, than D should happen’). The controlled conditions should include both normal and abnormal conditions. Testing should intentionally attempt to make things go wrong to determine if things happen when they shouldn’t or things don’t happen when they should. It is oriented to ‘detection’.
Organizations vary considerably in how they assign responsibility for quality assurance and testing. Sometimes they’re the combined responsibility of one group or individual. Common are teams that include a mix of QA experts and engineers who work closely together to ensure that necessary attention to the topic and activities are in place. It will depend on what best fits an organization’s size and business structure.
Please take a look at the following link and you will get a lot of useful information about testing – http://www.aptest.com/resources.html
Do you spend enough time on quality? Here are very interesting facts that might help you to makeup your mind:
- Software problems in the automated baggage sorting system of a major airport in February 2008 prevented thousands of passengers from checking baggage for their flights. It was reported that the breakdown occurred during a software upgrade, despite pre-testing of the software. The system continued to have problems in subsequent months.
- News reports in December of 2007 indicated that significant software problems were continuing to occur in a new ERP payroll system for a large urban school system. It was believed that more than one-third of employees had received incorrect paychecks at various times since the new system went live the preceding January, resulting in overpayments of $53 million, as well as underpayments. An employees’ union brought a lawsuit against the school system, the cost of the ERP system was expected to rise by 40%, and the non-payroll part of the ERP system was delayed. Inadequate testing reportedly contributed to the problems.
- In November of 2007 a regional government reportedly brought a multi-million dollar lawsuit against a software services vendor, claiming that the vendor ‘minimized quality’ in delivering software for a large criminal justice information system and the system did not meet requirements. The vendor also sued its subcontractor on the project.
- In June of 2007 news reports claimed that software flaws in a popular online stock-picking contest could be used to gain an unfair advantage in pursuit of the game’s large cash prizes. Outside investigators were called in and in July the contest winner was announced. Reportedly the winner had previously been in 6th place, indicating that the top 5 contestants may have been disqualified.
- A software problem contributed to a rail car fire in a major underground metro system in April of 2007 according to newspaper accounts. The software reportedly failed to perform as expected in detecting and preventing excess power usage in equipment on a new passenger rail car, resulting in overheating and fire in the rail car, and evacuation and shutdown of part of the system.
Do you find right balance between speed and quality? Do you have a team member who asks this question: “What if?…”